S3 데이터 데스티네이션을 설정하면 Singular에서 자동으로 데이터를 추출해서 Amazon S3 버킷으로 보낼 수 있습니다. 데이터 데스티네이션은 프리미엄 기능입니다. (더 알아보기)

설정 가이드

1. S3 버킷 생성

Singular가 데이터를 보낼 Amazon S3 버킷을 생성합니다.

  • AWS 콘솔에서 Services > S3로 이동한 후 Create Bucket을 클릭하세요.
  • 버킷 이름을 입력합니다. 다음 예시처럼 "singular-s3-exports-"로 시작해야 합니다. "singular-s3-exports-" 예시: singular-s3-exports-mycompanyname.
  • 버킷이 위치할 AWS 리전을 선택합니다. 일반적으로 리전은 EC2나 Redshift처럼 다른 AWS 서비스를 사용하는 리전과 동일하게 설정합니다.
  • 나머지 설정에 대해서는 기본값 그대로 사용해도 무방합니다.

2. Singular에 해당 버킷 권한 부여

버킷에 접근 권한을 설정하려면 다음 두 가지 방법 중 하나를 선택하세요.

옵션 A (권장 사항): 버킷 정책(Bucket Policy) 생성

다음 단계를 따라 Singular의 AWS 계정에 S3 버킷의 직접 접근 권한을 부여할 수 있습니다.

  1. AWS 콘솔에서 Services > S3로 이동하고 관련 S3 버킷을 선택합니다.
  2. Permissions 탭을 선택 후 Bucket Policy를 선택합니다.
  3. 버킷 정책에 다음 내용을 추가합니다(replace <YOUR_S3_BUCKET_NAME> 부분은 실제 버킷 이름으로 변경하세요).
{
 "Version": "2012-10-17",
"Id": "",
"Statement": [
{
"Sid": "SingularS3Access",
"Effect": "Allow",
"Principal": {
"AWS": [ "arn:aws:iam::623184213151:root"
]
},
"Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation", "s3:DeleteObject"
],
"Resource": [ "arn:aws:s3:::<YOUR_S3_BUCKET_NAME>", "arn:aws:s3:::<YOUR_S3_BUCKET_NAME>/*"
]
}
]
}

옵션 B: Singular에 Access Key ID + Secret Access Key 제공

관련 S3 버킷의 접근 권한만 가지도록 특정 AWS 유저를 생성하기를 희망하는 경우 원하는 대로 해당 권한을 가진 유저를 만든 후 Singular에 access key ID secret access key를 제공할 수도 있습니다.

주의: 이 경우 자동으로 데이터 커넥터의 설정이 완료되지 않으므로 Singular 서포트 팀에 해당 요청 사항을 전달해야 합니다.

다음 단계를 따르세요.

  • AWS 콘솔에서 Services > IAM로 이동한 후 좌측 메뉴에서 Policies를 클릭하세요.
  • Add Policy를 클릭하고 JSON 탭을 클릭합니다.
  • 다음 정책을 추가하세요(<YOUR_S3_BUCKET_NAME>에는 실제 버킷 이름을 사용합니다).
{
"Version": "2012-10-17",
"Id": "",
"Statement": [
{
"Sid": "SingularS3Access",
"Effect": "Allow",
"Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket",
"s3:GetBucketLocation",
"s3:DeleteObject"
],
"Resource": [ "arn:aws:s3:::<YOUR_S3_BUCKET_NAME>", "arn:aws:s3:::<YOUR_S3_BUCKET_NAME>/*"
]
}
]
}
  • Review Policy를 클릭하고 새 정책 이름을 지정합니다. (예: "singular-s3-exports").
  • Users > Add User를 클릭하세요.
  • 유저 네임을 지정하고 "Programmatic Access"를 활성화합니다(console access는 활성화하지 않습니다).

    mceclip6.png

  • Next: Permissions를 클릭 후 Set Permissions 아래에서 Attach existing policies directly를 선택합니다.
  • 방금 생성한 정책을 추가합니다.

    mceclip7.png

  • 유저 생성을 완료하고 새로 생성한 유저의 access key IDsecret access key를 저장해 둡니다.

3. S3 데이터 데스티네이션 추가

다음 단계를 통해 Singular에서 S3 데이터 커넥터를 추가할 수 있습니다.

  • Singular 계정에서 Settings > Data Destinations로 이동한 후 Add New destination을 클릭하세요.
  • "S3"를 입력합니다.
  • 다음 창이 열리면 생성한 버킷 네임을 입력합니다.

    mceclip1.png

  • 옵션 A를 따라 버킷 정책을 사용해서 Singular에 접근 권한을 부여했다면 "Using Bucket Policy" 선택지를 유지하세요.
    옵션 B를 따라 access key ID와 secret access key를 생성했다면 "Bucket Access Type" 드롭다운에서 "Using AWS Access Key ID + AWS Secret Access Key"를 선택하세요.

    mceclip2.png

  • "CSV" 혹은 "Parquet" 중 하나의 아웃풋 형식을 선택하세요.
  • S3 버킷 내의 아웃풋 경로를 선택하세요. 예: "singular_marketing_data/{date}{extension}"

Singular는 자동으로 확장되는 여러 플레이스 홀더 (매크로)를 지원합니다.

Placeholder Description Example
{date} Singular에서 데이터를 추출한 날짜 2020-03-19
{day} Singular에서 데이터를 추출한 날짜 중 일 (0 채워짐, 예: 01) 19
{month} Singular에서 데이터를 추출한 날짜 중 월 03
{year} Singular에서 데이터를 추출한 날짜 중 연도 2020
{extension} 아웃풋 파일 확장자 .csv 혹은 .parquet
{job_timestamp} ETL 작업이 시작된 시간 신규 파일을 매일 생성하기를 원하는 경우 사용 (예를 들어 해당 작업에서 가져온 모든 날짜의 각 실행마다 새 폴더를 사용) 2020-03-20 
{job_date} ETL 작업이 시작된 날짜 {job_timestamp}와 유사하나 전체 타임스탬프 대신 날짜만 포함 2020-03-20 
도움이 되었습니까?