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 버킷의 직접 접근 권한을 부여할 수 있습니다.
- AWS 콘솔에서 Services > S3로 이동하고 관련 S3 버킷을 선택합니다.
- Permissions 탭을 선택 후 Bucket Policy를 선택합니다.
- 버킷 정책에 다음 내용을 추가합니다(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는 활성화하지 않습니다).
- Next: Permissions를 클릭 후 Set Permissions 아래에서 Attach existing policies directly를 선택합니다.
-
방금 생성한 정책을 추가합니다.
- 유저 생성을 완료하고 새로 생성한 유저의 access key ID와 secret access key를 저장해 둡니다.
3. S3 데이터 데스티네이션 추가
다음 단계를 통해 Singular에서 S3 데이터 데스티네이션을 추가할 수 있습니다.
- Singular 계정에서 Settings > Data Destinations로 이동한 후 Add New destination을 클릭하세요.
- 집계 마케팅 데이터 추출을 위해서는 "S3 Destination"을, 유저 레벨 데이터 추출을 위해서는 "S3 User-Level Destination"을 입력합니다.
- 다음 창이 열리면 생성한 버킷 네임을 입력합니다.
-
옵션 A를 따라 버킷 정책을 사용해서 Singular에 접근 권한을 부여했다면 "Using Bucket Policy" 선택지를 유지하세요.
옵션 B를 따라 access key ID와 secret access key를 생성했다면 "Bucket Access Type" 드롭다운에서 "Using AWS Access Key ID + AWS Secret Access Key"를 선택하세요. - "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 |