Time Travel 작업 설정 - AWS Database Migration Service

Time Travel 작업 설정

AWS DMS Time Travel을 사용하여 복제 작업을 기록하고 디버깅할 수 있습니다. 이 방식에서는 Amazon S3를 사용하여 로그를 저장하고 암호화 키를 사용하여 로그를 암호화합니다. Time Travel S3 버킷에 액세스할 경우에만 날짜-시간 필터를 사용하여 S3 로그를 검색한 다음, 필요에 따라 로그를 보고 다운로드하며 난독화할 수 있습니다. 이렇게 하면 안전하게 ‘과거로 이동’하여 데이터베이스 활동을 조사할 수 있습니다. Time Travel은 CloudWatch 로깅과는 상관없이 독립적으로 작동합니다. CloudWatch 로깅에 관한 자세한 내용은 작업 설정 로깅을 참조하세요.

AWS DMS에서 지원되는 Oracle, Microsoft SQL Server 및 PostgreSQL 소스 엔드포인트와 AWS DMS에서 지원되는 PostgreSQL 및 MySQL 대상 엔드포인트가 있는 모든 AWS 리전에서 Time Travel을 사용할 수 있습니다. Time Travel은 전체 로드 및 변경 데이터 캡처(CDC) 작업과 CDC 전용 작업에만 사용할 수 있습니다. Time Travel을 켜거나 기존의 Time Travel 설정을 수정하려면 복제 작업을 중지해야 합니다.

Time Travel 설정에는 다음과 같은 TTSettings 속성이 포함됩니다.

  • EnableTT – 이 옵션을 true로 설정하면 작업에 대한 Time Travel 로깅이 켜집니다. 기본값은 false입니다.

    유형: 부울

    필수 여부: 아니요

  • EncryptionMode – S3 버킷에서 데이터 및 로그를 저장하는 데 사용되는 서버 측 암호화 유형입니다. "SSE_S3"(기본값) 또는 "SSE_KMS"를 지정할 수 있습니다.

    EncryptionMode"SSE_KMS"에서 "SSE_S3"으로 변경할 수 있지만 그 반대로 변경할 수는 없습니다.

    유형: 문자열

    필수 여부: 아니요

  • ServerSideEncryptionKmsKeyIdEncryptionMode"SSE_KMS"를 지정하는 경우 사용자 지정 관리 AWS KMS 키의 ID를 입력합니다. 사용하는 키에는 AWS Identity and Access Management(IAM) 사용자 권한을 활성화하고 키 사용을 허용하는 연결된 정책이 필요합니다.

    "SSE_KMS" 옵션에서는 사용자 지정 관리형 대칭 KMS 키만 지원됩니다.

    유형: 문자열

    필수: EncryptionMode"SSE_KMS"로 설정된 경우에만 해당됨

  • ServiceAccessRoleArn – 서비스에서 IAM 역할에 액세스하는 데 사용되는 Amazon 리소스 이름(ARN)입니다. 역할 이름을 dms-tt-s3-access-role로 설정합니다. 이것은 AWS DMS가 S3 버킷에서 객체를 쓰고 읽을 수 있도록 허용하는 필수 설정입니다.

    유형: 문자열

    필수: Time Travel이 켜진 경우

    다음은 이 역할에 대한 정책 예제입니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "kms:GenerateDataKey", "kms:Decrypt", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::S3bucketName*", "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234" ] } ] }

    다음은 이 역할에 대한 신뢰 정책 예제입니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  • BucketName – Time Travel 로그를 저장할 S3 버킷의 이름입니다. Time Travel 로그를 켜기 전에 이 S3 버킷을 생성해야 합니다.

    유형: 문자열

    필수: Time Travel이 켜진 경우

  • BucketFolder – S3 버킷의 폴더 이름을 설정하는 선택적 파라미터입니다. 이 파라미터를 지정하면 DMS는 경로 "/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"에 Time Travel 로그를 생성합니다. 이 파라미터를 지정하지 않으면 AWS DMS는 기본 경로를 "/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh로 생성합니다.

    유형: 문자열

    필수 여부: 아니요

  • EnableDeletingFromS3OnTaskDelete – 이 옵션을 true로 설정할 때 작업이 삭제되면 AWS DMS는 S3에서 Time Travel 로그를 삭제합니다. 기본값은 false입니다.

    유형: 문자열

    필수 여부: 아니요

  • EnableRawData – 이 옵션을 true로 설정하면 Time Travel 로그의 DML(데이터 조작 언어) 원시 데이터가 Time Travel 로그의 raw_data 열 아래에 나타납니다. 자세한 내용은 Time Travel 로그 사용을 참조하세요. 기본값은 false입니다. 이 옵션을 false로 설정하면 DML 유형만 캡처됩니다.

    유형: 문자열

    필수 여부: 아니요

  • RawDataFormat – AWS DMS 버전 3.5.0 및 이후 버전에서 EnableRawDatatrue로 설정될 경우에 해당됩니다. 이 속성은 Time Travel 로그의 DML 원시 데이터 형식을 지정하며 다음과 같이 표시할 수 있습니다.

    • "TEXT" – CDC 중에 캡처한 DML 이벤트의 구문 분석된 읽을 수 있는 열 이름과 값을 Raw 필드로 표시합니다.

    • "HEX" – CDC 중에 DML 이벤트에 대해 캡처한 열 이름 및 값의 원래 16진수입니다.

    이 속성은 Oracle 및 Microsoft SQL Server 데이터베이스 원본에 적용됩니다.

    유형: 문자열

    필수 여부: 아니요

  • OperationsToLog – Time Travel 로그에 로그인하기 위한 DML 작업의 유형을 지정합니다. 다음 중 한 가지를 지정할 수 있습니다.

    • "INSERT"

    • "UPDATE"

    • "DELETE"

    • "COMMIT"

    • "ROLLBACK"

    • "ALL"

    기본값은 "ALL"입니다.

    유형: 문자열

    필수 여부: 아니요

  • MaxRecordSize - 각 행에 기록되는 Time Travel 로그 레코드의 최대 크기를 지정합니다. 이 속성을 사용하여 특히 사용량이 많은 테이블의 Time Travel 로그 증가를 제어할 수 있습니다. 기본값은 64KB입니다.

    유형: Integer

    필수 여부: 아니요

Time Travel 로그를 켜고 사용하는 방법에 관한 자세한 내용은 다음 주제를 참조하세요.