Amazon S3로 DB 클러스터 데이터 내보내기 - Amazon Aurora

Amazon S3로 DB 클러스터 데이터 내보내기

라이브 Amazon Aurora DB 클러스터의 데이터를 Amazon S3 버킷으로 내보낼 수 있습니다. 내보내기 프로세스는 백그라운드에서 실행되며 활성 DB 클러스터의 성능에는 영향을 주지 않습니다.

기본적으로 DB 클러스터의 모든 데이터를 내보냅니다. 그러나 특정한 데이터베이스, 스키마 또는 테이블 집합을 내보내도록 선택할 수 있습니다.

Amazon Aurora는 DB 클러스터를 복제하고, 복제복에서 데이터를 추출하고, Amazon S3 버킷에 데이터를 저장합니다. 데이터는 압축되고 일관된 Apache Parquet 형식으로 저장됩니다. 개별 Parquet 파일은 일반적으로 크기가 1~10MB입니다.

Aurora MySQL 버전 2 및 버전 3용 스냅샷 데이터를 내보낼 때 제공되는 더 빠른 성능은 DB 클러스터 데이터 내보내기에는 적용되지 않습니다. 자세한 내용은 Amazon S3로 DB 클러스터 스냅샷 데이터 내보내기 단원을 참조하십시오.

전체 데이터를 내보내든 일부 데이터를 내보내든 관계없이 전체 DB 클러스터를 내보내는 데 요금이 부과됩니다. 자세한 내용은 Amazon Aurora 요금 페이지를 참조하세요.

데이터를 내보낸 후에는 Amazon Athena 또는 Amazon Redshift Spectrum 같은 도구를 통해 직접 내보낸 데이터를 분석할 수 있습니다. Parquet 데이터를 읽는 데 Athena를 사용하는 방법에 대한 자세한 내용은 Amazon Athena 사용 설명서Parquet SerDe를 참조하세요. Parquet 데이터를 읽는 데 Redshift Spectrum을 사용하는 방법에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서에서 열 기반 데이터 형식의 COPY를 참조하세요.

기능 가용성 및 해당 지원은 각 데이터베이스 엔진의 특정 버전 및 AWS 리전에 따라 다릅니다. DB 클러스터 데이터를 S3로 내보낼 때 사용할 수 있는 버전 및 리전에 대한 자세한 내용은 Amazon S3로 클러스터 데이터 내보내기를 지원하는 리전 및 Aurora DB 엔진을 참조하세요.

제한 사항

DB 클러스터 데이터를 Amazon S3로 내보내는 데는 다음과 같은 제한 사항이 적용됩니다.

  • 동일한 DB 클러스터에 대해 여러 내보내기 작업을 동시에 실행할 수 없습니다. 이는 전체 및 부분 내보내기에 모두 적용됩니다.

  • Aurora Serverless v1 DB 클러스터는 S3로의 내보내기를 지원하지 않습니다.

  • Aurora MySQL 및 Aurora PostgreSQL은 프로비저닝된 엔진 모드에서만 S3로의 내보내기를 지원합니다.

  • S3로 내보내는 경우 콜론(:)이 포함된 S3 접두사를 지원하지 않습니다.

  • 내보내는 동안 S3 파일 경로의 다음 문자는 밑줄(_)로 변환됩니다.

    \ ` " (space)
  • 데이터베이스, 스키마 또는 테이블의 이름에 다음 문자가 아닌 문자가 있으면 부분 내보내기가 지원되지 않습니다. 그러나 전체 DB 클러스터를 내보낼 수는 있습니다.

    • 라틴 문자(A–Z)

    • 숫자(0–9)

    • 달러 기호($)

    • 밑줄(_)

  • 공백( )과 특정 문자는 데이터베이스 테이블 열 이름에서 지원되지 않습니다. 열 이름에 다음 문자가 포함되어 있는 테이블은 내보내기를 수행하는 동안 건너뛰기가 됩니다.

    , ; { } ( ) \n \t = (space)
  • 이름에 슬래시(/)가 포함되어 있는 테이블은 내보내기를 수행하는 동안 생략됩니다.

  • Aurora PostgreSQL 임시 테이블과 로깅되지 않는 테이블은 내보내기 중에 건너뛰게 됩니다.

  • 데이터에 500MB에 근접하거나 이보다 큰 객체(예: BLOB 또는 CLOB)가 포함되어 있으면 내보내기가 실패합니다.

  • 테이블에 2GB에 가깝거나 그보다 큰 행이 있으면 내보내기 중 테이블을 건너뜁니다.

  • 부분 내보내기의 경우 ExportOnly 목록의 최대 크기는 200KB입니다.

  • 각 내보내기 작업에 고유한 이름을 사용하는 것이 좋습니다. 고유한 작업 이름을 사용하지 않으면 다음 오류 메시지가 표시될 수 있습니다.

    ExportTaskAlreadyExistsFault: StartExportTask 작업을 호출하는 동안 오류(ExportTaskAlreadyExists)가 발생했습니다. ID가 xxxxx인 내보내기 작업이 이미 존재합니다.

  • 일부 테이블은 건너뛸 수 있으므로 내보낸 후 데이터의 행 및 테이블 수를 확인하는 것이 좋습니다.

DB 클러스터 데이터 내보내기 개요

다음 프로세스를 사용하여 DB 클러스터 데이터를 Amazon S3 버킷으로 내보냅니다. 자세한 내용은 다음 섹션을 참조하십시오.

  1. 데이터를 내보낼 DB 클러스터를 식별합니다.

  2. Amazon S3 버킷에 대한 액세스를 설정합니다.

    버킷은 Amazon S3 객체 또는 파일에 대한 컨테이너입니다. 버킷에 액세스하기 위한 정보를 제공하려면 다음 단계를 수행하십시오.

    1. DB 클러스터 데이터를 내보낼 S3 버킷을 식별합니다. S3 버킷이 DB 클러스터와 동일한 AWS 리전에 있어야 합니다. 자세한 내용은 내보낼 Amazon S3 버킷 식별 단원을 참조하십시오.

    2. DB 클러스터 내보내기 작업에 S3 버킷에 대한 액세스 권한을 부여하는 AWS Identity and Access Management(IAM) 역할을 생성합니다. 자세한 내용은 IAM 역할을 사용하여 Amazon S3 버킷에 대한 액세스 권한 제공 단원을 참조하십시오.

  3. 서버 측 암호화를 위한 대칭 암호화 AWS KMS key를 생성합니다. KMS 키는 클러스터 내보내기 작업에서 S3에 내보내기 데이터를 기록할 때 AWS KMS 서버 측 암호화를 설정하는 데 사용됩니다.

    KMS 키 정책에는 kms:CreateGrantkms:DescribeKey 권한이 모두 포함되어야 합니다. Amazon Aurora에서 KMS 키를 사용하는 자세한 방법은 AWS KMS key 관리 섹션을 참조하세요.

    KMS 키 정책에 거부 문이 있는 경우 AWS 서비스 보안 주체 export.rds.amazonaws.com을 명시적으로 제외해야 합니다.

    AWS 계정 안에서 KMS 키를 사용할 수 있으며, 또는 교차 계정 KMS 키를 사용할 수 있습니다. 자세한 내용은 교차 계정 AWS KMS key 사용 단원을 참조하십시오.

  4. 콘솔 또는 start-export-task CLI 명령을 사용하여 Amazon S3로 DB 클러스터를 내보냅니다. 자세한 내용은 Amazon S3 버킷으로 DB 클러스터 데이터 내보내기 단원을 참조하십시오.

  5. Amazon S3 버킷에서 내보낸 데이터에 액세스하려면 Amazon Simple Storage Service 사용 설명서객체 업로드, 다운로드 및 관리를 참조하세요.

Amazon S3 버킷에 대한 액세스 권한 설정

Amazon S3 버킷을 식별한 다음 버킷에 액세스할 수 있는 권한을 DB 클러스터 작업에 부여합니다.

내보낼 Amazon S3 버킷 식별

DB 클러스터 데이터를 내보낼 Amazon S3 버킷을 식별합니다. 기존 S3 버킷을 사용하거나 새 S3 버킷을 생성합니다.

참고

S3 버킷이 DB 클러스터와 동일한 AWS 리전에 있어야 합니다.

Amazon S3 버킷 작업에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서에서 다음을 참조하세요.

IAM 역할을 사용하여 Amazon S3 버킷에 대한 액세스 권한 제공

DB 클러스터 데이터를 Amazon S3로 내보내기 전에 내보내기 작업에 Amazon S3 버킷에 대한 쓰기-액세스 권한을 부여하십시오.

이 권한을 부여하려면 버킷에 대한 액세스 권한을 부여하는 IAM 정책을 생성한 다음 IAM 역할을 생성하고 정책을 역할에 연결해야 합니다. 나중에 DB 클러스터 내보내기 작업에 IAM 역할을 할당할 수 있습니다.

중요

AWS Management Console을 사용하여 DB 클러스터를 내보내려는 경우 DB 클러스터를 내보낼 때 IAM 정책 및 역할을 자동으로 생성하도록 선택할 수 있습니다. 지침은 Amazon S3 버킷으로 DB 클러스터 데이터 내보내기 섹션을 참조하세요.

작업에 Amazon S3에 대한 액세스 권한을 부여하는 방법
  1. IAM 정책을 생성합니다. 이 정책은 DB 클러스터 내보내기 작업에서 Amazon S3 액세스를 허용하는 버킷 및 객체 권한을 제공합니다.

    정책에 다음 필수 작업을 포함하여 Amazon Aurora에서 S3 버킷으로의 파일 전송을 허용합니다.

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    정책에 다음 리소스를 포함하여 버킷에 있는 S3 버킷과 객체를 식별합니다. 다음 리소스 목록은 Amazon S3에 액세스하기 위한 Amazon 리소스 이름(ARN) 형식을 보여 줍니다.

    • arn:aws:s3:::your-s3-bucket

    • arn:aws:s3:::your-s3-bucket/*

    Amazon Aurora에 대한 IAM 정책을 생성하는 방법에 대한 자세한 내용은 IAM 데이터베이스 액세스를 위한 IAM 정책 생성 및 사용 섹션을 참조하세요. IAM 사용 설명서자습서: 첫 번째 고객 관리형 정책 생성 및 연결도 참조하세요.

    다음 AWS CLI 명령은 이 옵션으로 ExportPolicy라는 IAM 정책을 만듭니다. your-s3-bucket이라는 버킷에 대한 액세스 권한을 부여합니다.

    참고

    정책을 생성한 후 정책의 ARN을 기록해 둡니다. IAM 역할에 정책을 연결할 때 이후 단계에 ARN이 필요합니다.

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'
  2. Aurora가 사용자 대신 이 IAM 역할을 수임하여 Amazon S3 버킷에 액세스할 수 있도록 IAM 역할을 만듭니다. 자세한 내용은 IAM 사용 설명서IAM 사용자에게 권한을 위임하기 위한 역할 생성을 참조하세요.

    다음 예제에서는 AWS CLI 명령을 사용해 rds-s3-export-role이라는 역할을 생성하는 방법을 보여줍니다.

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. 생성한 IAM 역할에 생성한 IAM 정책을 연결합니다.

    다음 AWS CLI 명령은 앞서 생성한 정책을 rds-s3-export-role이라는 역할에 연결합니다. your-policy-arn을 이전 단계에서 기록해 둔 정책 ARN으로 바꿉니다.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

교차 계정 Amazon S3 버킷 사용하기

S3 버킷 교차 AWS 계정을 사용할 수 있습니다. 자세한 내용은 교차 계정 Amazon S3 버킷 사용하기 단원을 참조하십시오.

Amazon S3 버킷으로 DB 클러스터 데이터 내보내기

AWS 계정당 최대 5개의 DB 클러스터 내보내기 작업을 동시에 수행할 수 있습니다.

참고

DB 클러스터 데이터 내보내기는 데이터베이스 유형 및 크기에 따라 다소 시간이 걸릴 수 있습니다. 내보내기 작업은 먼저 전체 데이터베이스를 복제하고 크기를 조정한 다음 Amazon S3로 데이터를 추출합니다. 이 단계 동안의 작업 진행 상황은 Starting으로 표시됩니다. 작업이 S3로 데이터 내보내기로 전환되면 진행 상황이 진행 중(In progress)으로 표시됩니다.

내보내기를 완료하는 데 걸리는 시간은 데이터베이스에 저장된 데이터에 따라 다릅니다. 예를 들어 숫자로 된 기본 키 또는 인덱스 열이 잘 분산되어 있는 테이블은 가장 빠르게 내보냅니다. 분할에 적합한 열을 포함하지 않는 테이블과 문자열 기반 열에 인덱스가 하나만 있는 테이블은 내보내기가 더 느린 단일 스레드 프로세스를 사용하기 때문에 더 오래 걸립니다.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보낼 수 있습니다.

Lambda 함수를 사용하여 DB 클러스터를 내보내는 경우 Lambda 함수 정책에 kms:DescribeKey 작업을 추가합니다. 자세한 내용은 AWS Lambda 권한을 참조하세요.

Amazon S3로 내보내기 콘솔 옵션은 Amazon S3로 내보낼 수 있는 DB 클러스터에만 나타납니다. 다음과 같은 이유로 DB 클러스터를 내보내기에 사용하지 못할 수 있습니다.

  • DB 엔진이 S3 내보내기를 지원하지 않습니다.

  • DB 클러스터 버전이 S3 내보내기에 지원되지 않습니다.

  • DB 클러스터가 생성된 AWS 리전에서 S3 내보내기가 지원되지 않습니다.

DB 클러스터 데이터를 내보내는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Databases(데이터베이스)를 선택합니다.

  3. 데이터를 내보낼 DB 클러스터를 선택합니다.

  4. 작업에서 Export to Amazon S3(Amazon S3로 내보내기)를 선택합니다.

    Export to Amazon S3(Amazon S3로 내보내기) 창이 나타납니다.

  5. Export identifier(내보내기 식별자)에 내보내기 작업을 식별할 이름을 입력합니다. 이 값은 S3 버킷에 생성된 파일의 이름에도 사용됩니다.

  6. 내보낼 데이터를 선택합니다.

    • DB 클러스터의 모든 데이터를 내보내려면 All(모두)을 선택합니다.

    • DB 클러스터의 특정 부분을 내보내려면 Partial(부분)을 선택합니다. 클러스터에서 내보낼 부분을 식별하려면 Identifiers(식별자)에 공백으로 구분된 하나 이상의 데이터베이스, 스키마 또는 테이블을 입력합니다.

      다음 형식을 사용합니다.

      database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]

      예:

      mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
  7. S3 버킷에서 내보낼 버킷을 선택합니다.

    내보낸 데이터를 S3 버킷의 폴더 경로에 할당하려면 S3 prefix(S3 접두사)에 선택적 경로를 입력합니다.

  8. IAM 역할에서 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 선택하거나 새 역할을 생성합니다.

    • IAM 역할을 사용하여 Amazon S3 버킷에 대한 액세스 권한 제공의 단계에 따라 역할을 생성한 경우에는 해당 역할을 선택합니다.

    • 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 생성하지 않은 경우 Create a new role(새 역할 생성)을 선택하여 역할을 자동으로 생성합니다. 그런 다음 IAM 역할 이름에 해당 역할의 이름을 입력합니다.

  9. KMS key(KMS 키)에 내보낸 데이터를 암호화하는 데 사용할 키의 ARN을 입력합니다.

  10. Amazon S3로 내보내기를 선택합니다.

AWS CLI를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 start-export-task 명령을 다음과 같은 필수 옵션과 함께 사용합니다.

  • --export-task-identifier

  • --source-arn – DB 클러스터의 Amazon 리소스 이름(ARN)입니다.

  • --s3-bucket-name

  • --iam-role-arn

  • --kms-key-id

다음 예에서 내보내기 작업의 이름은 my_cluster_export이고, 이 작업은 데이터를 my_export_bucket이라는 S3 버킷으로 내보냅니다.

대상 LinuxmacOS, 또는Unix:

aws rds start-export-task \ --export-task-identifier my-cluster-export \ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \ --s3-bucket-name my-export-bucket \ --iam-role-arn iam-role \ --kms-key-id my-key

Windows의 경우:

aws rds start-export-task ^ --export-task-identifier my-DB-cluster-export ^ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^ --s3-bucket-name my-export-bucket ^ --iam-role-arn iam-role ^ --kms-key-id my-key

샘플 출력은 다음과 같습니다.

{ "ExportTaskIdentifier": "my-cluster-export", "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster", "S3Bucket": "my-export-bucket", "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest", "KmsKeyId": "my-key", "Status": "STARTING", "PercentProgress": 0, "TotalExtractedDataInGB": 0, }

DB 클러스터 내보내기를 위해 S3 버킷에 폴더 경로를 제공하려면 start-export-task 명령에 --s3-prefix 옵션을 포함합니다.

Amazon RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 다음 필수 파라미터와 함께 StartExportTask 작업을 사용합니다.

  • ExportTaskIdentifier

  • SourceArn – DB 클러스터의 ARN입니다.

  • S3BucketName

  • IamRoleArn

  • KmsKeyId

DB 클러스터 내보내기 작업 모니터링

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 내보내기를 모니터링할 수 있습니다.

DB 클러스터 내보내기를 모니터링하는 방법
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Exports in Amazon S3(Amazon S3에서 내보내기)를 선택합니다.

    DB 클러스터 내보내기는 Source type(소스 유형) 열에 표시됩니다. 내보내기 상태는 Status(상태) 열에 표시됩니다.

  3. 특정 DB 클러스터 내보내기에 대한 상세 정보를 보려면 해당 내보내기 작업을 선택합니다.

AWS CLI를 사용하여 DB 클러스터 내보내기 작업을 모니터링하려면 describe-export-tasks 명령을 사용합니다.

다음 예제에서는 모든 DB 클러스터 내보내기에 대한 현재 정보를 표시하는 방법을 보여 줍니다.

aws rds describe-export-tasks { "ExportTasks": [ { "Status": "CANCELED", "TaskEndTime": "2022-11-01T17:36:46.961Z", "S3Prefix": "something", "S3Bucket": "examplebucket", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "anewtest", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:parameter-groups-test" }, { "Status": "COMPLETE", "TaskStartTime": "2022-10-31T20:58:06.998Z", "TaskEndTime": "2022-10-31T21:37:28.312Z", "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}", "S3Prefix": "", "S3Bucket": "examplebucket1", "PercentProgress": 100, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "thursday-events-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 263, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-31-06-44" }, { "Status": "FAILED", "TaskEndTime": "2022-10-31T02:12:36.409Z", "FailureCause": "The S3 bucket examplebucket2 isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.", "S3Prefix": "", "S3Bucket": "examplebucket2", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "wednesday-afternoon-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-30-06-45" } ] }

특정 내보내기 작업에 대한 정보를 표시하려면 --export-task-identifier 명령과 함께 describe-export-tasks 옵션을 포함시킵니다. 출력을 필터링하려면 --Filters 옵션을 포함시킵니다. 자세한 옵션은 describe-export-tasks 명령을 참조하십시오.

Amazon RDS API를 사용하여 DB 클러스터 내보내기에 대한 정보를 표시하려면 DescribeExportTasks 작업을 사용합니다.

내보내기 워크플로우의 완료를 추적하거나 다른 워크플로우를 시작하려면 Amazon Simple Notification Service 주제를 구독하십시오. Amazon SNS에 대한 자세한 내용은 Amazon RDS 이벤트 알림 작업 단원을 참조하십시오.

DB 클러스터 내보내기 작업 취소

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 내보내기 작업을 취소할 수 있습니다.

참고

내보내기 작업을 취소해도 Amazon S3로 내보낸 데이터는 제거되지 않습니다. 콘솔을 사용하여 데이터를 삭제하는 방법에 대한 자세한 내용은 S3 버킷에서 객체를 삭제하려면 어떻게 해야 합니까?를 참조하십시오. CLI를 사용하여 데이터를 삭제하려면 delete-object 명령을 사용합니다.

DB 클러스터 내보내기 작업을 취소하는 방법
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Exports in Amazon S3(Amazon S3에서 내보내기)를 선택합니다.

    DB 클러스터 내보내기는 Source type(소스 유형) 열에 표시됩니다. 내보내기 상태는 Status(상태) 열에 표시됩니다.

  3. 취소할 내보내기 작업을 선택합니다.

  4. 취소를 선택합니다.

  5. 확인 페이지에서 Cancel export task(내보내기 작업 취소)를 선택합니다.

AWS CLI를 사용하여 내보내기 작업을 취소하려면 cancel-export-task 명령을 사용합니다. 이 명령에는 --export-task-identifier 옵션이 필요합니다.

aws rds cancel-export-task --export-task-identifier my-export { "Status": "CANCELING", "S3Prefix": "", "S3Bucket": "examplebucket", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "my-export", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:export-example-1" }

Amazon RDS API를 사용하여 내보내기 작업을 취소하려면 ExportTaskIdentifier 파라미터와 함께 CancelExportTask 작업을 사용합니다.

Amazon S3 내보내기 작업에 대한 실패 메시지

다음 표에서는 Amazon S3 내보내기 작업이 실패할 때 반환되는 메시지에 대해 설명합니다.

오류 메시지 설명
소스 DB 클러스터([클러스터 이름])를 찾거나 액세스하지 못했습니다. 소스 DB 클러스터는 복제할 수 없습니다.
알 수 없는 내부 오류가 발생했습니다.

알 수 없는 오류, 예외 또는 장애 때문에 요청 처리가 실패했습니다.

내보내기 작업의 메타데이터를 S3 버킷 [버킷 이름]에 쓰는 중에 알 수 없는 내부 오류가 발생했습니다.

알 수 없는 오류, 예외 또는 장애 때문에 요청 처리가 실패했습니다.

RDS 내보내기가 IAM 역할 [역할 ARN]을 수임할 수 없기 때문에 내보내기 작업의 메타데이터를 작성하지 못했습니다.

내보내기 작업은 S3 버킷에 메타데이터를 쓸 수 있는지 여부를 검증하는 IAM 역할을 가정합니다. 작업이 IAM 역할을 맡을 수 없으면 실패합니다.

RDS 내보내기가 KMS 키 [키 ID] 와 함께 IAM 역할[역할 ARN]을 사용하여 S3 버킷 [버킷 이름]에 내보내기 작업의 메타데이터를 쓰지 못했습니다. 오류 코드: [오류 코드]

하나 이상의 권한이 누락되어 내보내기 작업이 S3 버킷에 액세스할 수 없습니다. 이 실패 메시지는 다음 오류 코드 중 하나를 수신할 때 발생합니다.

  • AWSSecurityTokenServiceException, 오류 코드 AccessDenied

  • AmazonS3Exception, 오류 코드 NoSuchBucket, AccessDenied, KMS.KMSInvalidStateException, 403 Forbidden 또는 KMS.DisabledException

이러한 오류 코드는 IAM 역할, S3 버킷 또는 KMS 키에 대한 설정이 잘못 구성되었음을 의미합니다.

IAM 역할 [역할 ARN]은 S3 버킷 [버킷 이름]에서 [S3 작업]을 호출할 권한이 없습니다. 권한을 검토하고 내보내기를 다시 시도해 주세요.

IAM 정책이 잘못 구성되었습니다. S3 버킷의 특정 S3 작업에 대한 권한이 없어 내보내기 작업이 실패하게 됩니다.

KMS 키 확인이 실패했습니다. KMS 키의 자격 증명을 확인하고 다시 시도해 주세요. KMS 키 자격 증명 확인에 실패했습니다.
S3 자격 증명 확인이 실패했습니다. S3 버킷 및 IAM 정책에서 권한을 확인합니다. S3 자격 증명 확인이 실패했습니다.
S3 버킷 [버킷 이름]이 유효하지 않습니다. 현재 AWS 리전에 위치하지 않거나 존재하지 않습니다. S3 버킷 이름을 검토하고 내보내기를 다시 시도해 주세요. S3 버킷이 유효하지 않습니다.
S3 버킷 [버킷 이름]이 현재 AWS 리전에 위치하지 않습니다. S3 버킷 이름을 검토하고 내보내기를 다시 시도해 주세요. S3 버킷이 잘못된 AWS 리전에 있습니다.

PostgreSQL 권한 오류 문제 해결

PostgreSQL 데이터베이스를 Amazon S3으로 내보낼 때 특정 테이블을 건너뛰었다는 PERMISSIONS_DO_NOT_EXIST 오류가 표시될 수 있습니다. 이 오류는 대부분 DB 클러스터를 생성할 때 지정한 수퍼유저에게 이러한 테이블에 액세스할 권한이 없을 때 발생합니다.

이 오류를 해결하려면 다음 명령을 실행합니다.

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name

수퍼유저 권한에 대한 자세한 내용은 마스터 사용자 계정 권한 단원을 참조하십시오.

파일 명명 규칙

특정 테이블에 대해 내보낸 데이터는 base_prefix/files 형식으로 저장됩니다. 여기서 기본 접두사는 다음과 같습니다.

export_identifier/database_name/schema_name.table_name/

예:

export-1234567890123-459/rdststcluster/mycluster.DataInsert_7ADB5D19965123A2/

출력 파일은 다음과 같은 명명 규칙을 사용합니다. 여기서 partition_index는 영숫자입니다.

partition_index/part-00000-random_uuid.format-based_extension

예:

1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet a/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet

파일 명명 규칙은 변경될 수 있습니다. 따라서 대상 테이블을 읽을 때 테이블의 기본 접두사 내에 있는 모든 내용을 읽는 것이 좋습니다.

데이터 변환 및 저장 형식

DB 클러스터를 Amazon S3 버킷으로 내보낼 때 Amazon Aurora는 데이터를 Parquet 형식으로 변환하고, 데이터를 Parquet 형식으로 내보내며, 데이터를 Parquet 형식으로 저장합니다. 자세한 내용은 Amazon S3 버킷으로 내보내기를 할 때 데이터 변환 단원을 참조하십시오.