이 페이지에서

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

Amazon S3

비즈니스 요구에 따라 Amplitude에서 캡처되지 않은 다른 조직 데이터 소스와 함께 행동 데이터를 분석해야 하는 경우가 많습니다. Amplitude를 Amazon S3와 통합함으로써 Amplitude 데이터를 Amazon S3 버킷으로 내보낼 수 있습니다. 이를 통해 Amplitude 데이터 세트를 나머지 데이터와 나란히 분석할 수 있습니다.

내보내기는 프로젝트별로 작동하므로 한 프로젝트의 데이터를 여러 버킷으로 전달하도록 설정할 수 있습니다. 또한 동일한 조직에서 여러 프로젝트를 사용하여 이벤트 데이터를 단일 Amazon S3 버킷으로 내보낼 수도 있습니다. Amplitude는 버킷 액세스를 단일 조직으로 제한합니다.

고려 사항

  • 포트폴리오 프로젝트를 Amazon S3 내보내기의 데이터 소스로 사용할 수 없습니다.
  • Amplitude 조직 간에 버킷 이름을 재사용할 수는 없지만, 동일한 조직 내의 여러 프로젝트 간에 버킷 이름을 재사용할 수는 있습니다. 조직을 마이그레이션하는 경우 새 조직에 Amazon S3 목적지를 생성하기 전에 이전 조직에서 해당 목적지를 비활성화하거나 삭제하십시오.
  • Amplitude는 시간당 5백만 개의 이벤트를 내보내는 것을 목표로 하고 있지만 이 속도는 데이터를 내보내는 총 고객 수에 따라 달라질 수 있습니다.
  • 유일하게 잠재적인 오류는 접근성 오류입니다. 이는 수신 측에서 구성을 변경했으며 Amplitude가 귀하의 버킷에 액세스할 수 없는 경우에 발생할 수 있습니다. 이 경우 내보내기는 여러 번 시도 한 후에 실패하며, Amplitude는 내보내기를 생성한 관리자와 사용자에게 이메일로 알립니다.
  • 오류 이메일에는 문제 해결 정보가 포함되어 있습니다. 이 정보는 Amplitude UI 내에서 사용할 수 없습니다. 접근성만이 오류가 발생할 수 있는 유일한 문제이기 때문에 이메일에는 누락된 권한에 대한 정보가 포함되어 있습니다.
  • 수동 내보내기로 기록 이벤트를 다시 채울 때는 크기나 날짜 범위 제한이 없습니다. 특정 날짜 범위를 내보낼 수 없는 경우 먼저 해당 날짜 범위에 대한 이벤트 데이터가 있는지 확인하십시오. 그런 다음 지원팀에 티켓을 제출하십시오.

연동 설정

Amazon S3 연동을 설정하려면:

  1. Amplitude 데이터에서 카탈로그를 클릭하고 대상 탭을 선택합니다.
  2. Warehouse 목적지 섹션에서 Amazon S3를 클릭합니다.
  3. 이 내보내기에 포함할 데이터를 선택하십시오. 오늘 수집된 이벤트와 향후 이벤트를 내보내거나, 병합된 모든 Amplitude ID를 내보내거나, 둘 다 내보낼 수 있습니다. 이벤트의 경우 필터링 조건을 지정하여 특정 기준을 충족하는 이벤트만 내보낼 수도 있습니다.
  4. 다음을 클릭합니다.
  5. 버킷 정책 설정 탭에서 버킷 생성 및 버킷 정책 추가 섹션에 나열된 단계를 수행합니다. 그런 다음 S3 버킷 정보 섹션에 필요한 정보를 입력합니다.
  6. 버킷 정책 생성을 클릭한 후 다음을 클릭합니다.

Amplitude는 사용자의 버킷 액세스를 확인한 후 최선의 노력을 기울여 시간별 내보내기를 시작합니다. 내보내기는 일반적으로 매시간 실행되며 1시간 분량의 데이터를 포함하지만 덜 자주 실행되며 여러 시간 분량의 데이터를 포함할 수도 있습니다.

설정이 완료된 후 연동에서 내보내기의 상태를 확인하십시오.

수동 내보내기 실행

데이터를 수동으로 내보내어 기록 데이터를 S3로 다시 채울 수 있습니다.

  1. 생성한 Amazon S3 내보내기 연결 페이지로 이동하십시오.
  2. 다시 채우기 탭으로 이동합니다.
  3. 필요한 날짜 범위를 선택합니다.
  4. Start Backfill을 클릭합니다.

백필 범위가 이미 내보낸 데이터의 범위와 겹치는 경우, Amplitude는 중복되는 데이터를 제거합니다.

자동 내보내기 비활성화

자동 내보내기를 비활성화하려면 연동을 열고 관리를 클릭하십시오. 내보내기 설정 관리 모달에서 내보내기를 토글할 수 있습니다.

내보낸 데이터 형식

이벤트 테이블 스키마

원시 이벤트 파일 및 데이터 형식

Amplitude는 데이터를 JSON 파일의 압축 아카이브로 내보냅니다. 이 아카이브는 시간별로 분할되어 시간당 하나 이상의 파일이 있습니다. 각 파일에는 한 줄에 하나의 이벤트 JSON 객체가 포함되어 있습니다.

파일 이름의 구문은 다음과 같습니다. 여기서 시간은 데이터가 Amplitude 서버에 업로드된 시점을 UTC로 나타냅니다(예: server_upload_time).

projectID_yyyy-MM-dd_H#partitionInteger.json.gz

예를 들어 2020년 1월 25일 오전 5시와 오후 6시 UTC 대상 구간 사이에 이 프로젝트에 업로드된 데이터의 첫 번째 파티션은 다음 파일에 있습니다.

187520_2020-01-25_17#1.json.gz

다음은 내보낸 데이터 JSON 객체 스키마입니다.

json
{
  "server_received_time": UTC ISO-8601 timestamp,
  "app": int,
  "device_carrier": string,
  "$schema":int,
  "city": string,
  "user_id": string,
  "uuid": UUID,
  "event_time": UTC ISO-8601 timestamp,
  "platform": string,
  "os_version": string,
  "amplitude_id": long,
  "processed_time": UTC ISO-8601 timestamp,
  "version_name": string,
  "ip_address": string,
  "paying": boolean,
  "dma": string,
  "group_properties": dict,
  "user_properties": dict,
  "client_upload_time": UTC ISO-8601 timestamp,
  "$insert_id": string,
  "event_type": string,
  "library":string,
  "amplitude_attribution_ids": string,
  "device_type": string,
  "device_manufacturer": string,
  "start_version": string,
  "location_lng": float,
  "server_upload_time": UTC ISO-8601 timestamp,
  "event_id": int,
  "location_lat": float,
  "os_name": string,
  "amplitude_event_type": string,
  "device_brand": string,
  "groups": dict,
  "event_properties": dict,
  "data": dict,
  "device_id": string,
  "language": string,
  "device_model": string,
  "country": string,
  "region": string,
  "is_attribution_event": bool,
  "adid": string,
  "session_id": long,
  "device_family": string,
  "sample_rate": null,
  "idfa": string,
  "client_event_time": UTC ISO-8601 timestamp,
 }

내보낸 데이터 크기

내보낸 데이터의 크기와 볼륨은 데이터를 계측하는 방법과 Amplitude에 전송하는 이벤트 수에 따라 달라집니다. Amplitude는 정확한 추정치를 제공할 수 없지만 평균 이벤트 크기를 사용하여 대략적인 추정치를 제공할 수 있습니다.

  1. 내보내기 API를 사용하여 시간별 파일을 다운로드하십시오.
  2. 이벤트 수를 zip 파일의 크기와 비교하여 평균 이벤트 크기를 추정합니다.
  3. 이벤트 세분화 차트를 생성하고 평균 이벤트 크기에 곱하여 월별 총 이벤트 규모를 추정하십시오.

'완료' 파일

Amplitude는 내보내기의 일부 파일에 complete로 레이블을 지정할 수 있습니다. 이러한 레이블은 해당 시간 프레임에 데이터가 없는지 또는 해당 시간 프레임의 데이터가 내보내지지 않았는지 판단하는 데 도움을 줍니다.

데이터가 없는 시간 프레임의 complete파일이 표시되는 경우 선택한 시간 프레임에 대해 내보낼 데이터가 없는 것입니다.

complete파일을 비활성화하려면 Amplitude 서포트에 문의하십시오.

병합된 Amplitude ID 파일 및 데이터 형식

Amplitude는 데이터를 JSON 파일의 압축 아카이브로 내보냅니다. 각 파일에는 한 줄에 하나의 병합된 Amplitude ID JSON 객체가 포함되어 있습니다.

파일 이름의 구문은 다음과 같습니다. 여기서 시간은 데이터가 Amplitude 서버에 업로드된 시점을 UTC로 나타냅니다(예: server_upload_time).

-OrgID_yyyy-MM-dd_H.json.gz

예를 들어 2020년 1월 25일 오후 5시부터 오후 6시 사이에 이 프로젝트에 업로드된 데이터를 파일에서 찾으십시오.

-189524_2020-01-25_17.json.gz

병합된 ID JSON 객체는 다음과 같은 스키마를 갖습니다.

json
{
 "scope": int,
 "merge_time": long,
 "merge_server_time": long,
 "amplitude_id": long,
 "merged_amplitude_id": long
}

KMS 암호화를 사용하도록 S3 내보내기에 대한 버킷 정책 업데이트

다음은 기존 내보내기 연결에 대해 AWS S3 버킷에서 KMS 암호화를 활성화하는 절차에 대한 간략한 설명입니다. 이 암호화는 보안 상태를 개선합니다.

마이그레이션 단계

마이그레이션을 시작하기 전에 사용자는 다음에 대한 액세스 권한이 있어야 합니다.

  • 기존 Amplitude 내보내기에 액세스하기 위한 자격 증명.
  • S3 버킷 구성을 업데이트하고 KMS 키를 생성할 수 있는 적절한 권한 관리가 있어야 합니다.

KMS 암호화를 사용하도록 기존 내보내기를 업데이트하는 방법:

  1. AWS KMS 개발자 가이드에 따라 AWS 계정에서 KMS 키를 생성하십시오.
  2. Amplitude 계정에 로그인하고 마이그레이션하려는 기존 S3 내보내기로 이동합니다.
  3. 설정 관리 모델에서 토글을 비활성화로 변경하여 내보내기를 해제합니다. 새 S3 내보내기 연결을 생성할 때 예기치 않은 결과가 발생하지 않도록 진행 중인 모든 내보내기 작업이 완료될 때까지 기다리십시오.
  4. Amplitude S3 내보내기 설정 가이드를 따라 새로운 S3 내보내기를 생성하십시오.
  5. 내보내기 연결 설정 흐름에서 업데이트된 버킷 정책과 KMS 정책을 생성합니다. 업데이트된 정책에는 신뢰할 수 있는 새로운 AWS IAM 역할 주체가 포함되어 있습니다.
  6. 필요한 경우 롤백 절차를 위해 AWS의 S3 버킷에 있는 현재 버킷 정책을 백업하십시오.
  7. AWS 계정에서 5단계에서 생성한 S3 버킷 정책과 KMS 키 정책을 업데이트하십시오.
  8. AWS S3 개발자 가이드에 설명된 대로 KMS 암호화를 사용하도록 S3 버킷을 업데이트하십시오.
  9. 버킷 액세스를 확인하고 내보내기 설정 흐름에서 새 연결을 생성하려면 Next클릭합니다.
  10. 새 내보내기가 완료될 때까지 기다립니다. 이 작업이 완료되면 데이터가 새 정책을 사용하여 제공된 S3 버킷으로 내보내지고 있는지 확인할 수 있습니다.
  11. 데이터 내보내기가 성공적으로 이루어졌는지 확인한 후에는 2단계에서 비활성화한 이전 S3 내보내기 연결을 삭제하십시오.

롤백 절차

이전 S3 내보내기 연결을 삭제한 후에는 아래에 설명된 롤백 프로세스가 적용되지 않습니다.

위에서 언급한 마이그레이션 절차 도중에 문제가 발생할 경우 다음을 수행하십시오.

  1. 새로 생성된 S3 내보내기 연결이 제거되었는지 확인합니다.
  2. AWS 계정 루트 주체를 신뢰하도록 버킷 정책을 되돌립니다(위 6단계에서 백업한 정책).
  3. 버킷 암호화를 8단계에서 변경한 이전 구성으로 되돌립니다.
  4. 3단계에서 비활성화한 현재 S3 내보내기 연결을 다시 활성화하십시오.
  5. (선택 사항) 1단계에서 생성한 KMS 키를 삭제합니다.

자주 묻는 질문

마이그레이션 후 전체 내보내기 데이터 손실이 발생할 수 있습니까?

S3 내보내기 연결을 비활성화하고 제거한 후에도 이미 S3 목적지 버킷으로 내보낸 데이터는 제거되지 않습니다.

그러나 내보내기 작업 기록과 같은 메타데이터는 손실됩니다.

마이그레이션 다음 기간동안 전체 데이터 내보내기에 공백이 발생할 수 있습니까?

이전 S3 내보내기 연결이 비활성화된 후 24시간 첫 사용 후 새 S3 내보내기 연결이 생성되는 한, 전체 데이터 내보내기에 공백이 발생하지 않습니다.

이전 연결이 비활성화된 후 24시간이 지나서 새 내보내기 연결이 생성된 경우 어떻게 해야 합니까?

이전 연결이 비활성화된 지 24시간 후에 새 내보내기 연결이 생성되었고 데이터 내보내기에 공백이 있는 경우 수동 다시 채우기 기능을 사용하여 누락된 날짜 범위에 대한 데이터를 채우십시오. 다시 채우기 내보내기는 다시 채우기 날짜 범위가 이전에 내보낸 날짜 범위와 겹치는 경우에도 내보낸 데이터의 중복을 방지합니다.

마이그레이션을 하지 않을 경우 어떤 결과가 발생합니까?

(미래 상태) AWS IAM 역할 주체 대신에 (현재 상태) AWS 계정 루트 주체를 신뢰함으로써 목적지 S3 버킷에 대한 액세스 범위의 제한을 줄입니다. 이 AWS IAM 역할은 Amplitude 프로젝트 ID에만 해당되며, 여기에서 새 S3 내보내기 연결이 생성됩니다.

이전 버킷 정책으로 롤백할 수 있습니까?

아니요. 이전 S3 내보내기 연결이 제거된 후에는 AWS 계정 루트 주체를 버킷 정책의 수임자로 사용하여 S3 내보내기를 설정할 수 없습니다.

이 내용이 도움이 되었나요?