View a markdown version of this page

DMS Schema Conversion を使用するための前提条件を完了する - AWS データベース移行サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DMS Schema Conversion を使用するための前提条件を完了する

インスタンスプロファイルを作成し、データプロバイダーを追加し、移行プロジェクトを作成する前に、以下の前提条件タスクを完了してください。これらのタスクは、VPC、Amazon S3 バケット、 AWS Secrets Manager シークレット、アクセス許可ポリシーを持つ IAM ロールなど、DMS Schema Conversion に必要な AWS リソースを設定します。

コンソールはリソースの作成を自動化します

AWS マネジメントコンソールを使用して移行プロジェクトを作成すると、 AWS DMS はユーザーに代わって必要な IAM ロールと Amazon S3 バケットを自動的に作成できます。これらのリソースを手動で作成する場合、または AWS CLI または API を使用する場合は、次の手順を実行します。移行プロジェクトの作成の詳細については、「」を参照してください 移行プロジェクトの作成。

VPC、Amazon S3、および Secrets Manager を設定する

IAM ロールとポリシーを作成する前に、移行プロジェクトに次の AWS リソースが必要です。

Amazon Virtual Private Cloud

少なくとも 2 つのアベイラビリティーゾーンのサブネットからソースデータベースとターゲットデータベースに接続できる VPC が必要です。これらの要件を満たす既存の VPC を使用するか、 などの新しい VPC を作成できますsc-vpc。ネットワーク設定の詳細については、「」を参照してくださいDMS Schema Conversion のためのネットワークのセットアップ。

Amazon S3

評価レポート、変換された SQL コード、データベーススキーマメタデータを保存するには、バージョニングが有効になっている Amazon S3 バケットが必要です。移行プロジェクトと同じリージョンに という名前の Amazon S3 バケットを作成するかamzn-s3-demo-bucket、これらの要件を満たす既存のバケットを使用します。DMS Schema Conversion は、Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) または KMS AWS キーによるサーバー側の暗号化 (SSE-KMS) を使用する Amazon S3 バケットをサポートします。これには、カスタマーマネージドキーが含まれます。バケットがカスタマーマネージドキーで SSE-KMS を使用している場合は、キーに必要なアクセス許可sc-s3-roleがあることを確認してください (「」を参照IAM ロールとポリシーを作成する)。DMS Schema Conversion は、SSE-C またはクライアント側の暗号化をサポートしていません。バケットの作成手順については、Amazon S3ユーザーガイド」の「バケットの作成」を参照してください。

AWS Secrets Manager

ソースusernameデータベースとターゲットデータベースのpasswordキーと値のペアを含む JSON シークレット AWS Secrets Manager を に作成します。たとえば、 sc-source-secretと ですsc-target-secret。シークレットは、移行プロジェクト AWS リージョン と同じ に存在する必要があります。これらの要件を満たすシークレットが既にある場合は、再利用できます。シークレットの作成手順については、「 AWS Secrets Manager ユーザーガイド」の「 AWS Secrets Manager シークレットの作成」を参照してください。

IAM ロールとポリシーを作成する

DMS Schema Conversion を使用するには、次の 5 つの IAM ロールを作成します。各ロールは、 AWS DMS サービスがロールを引き受けることを許可する信頼ポリシーを使用する必要があります。

ロール名 アクセス許可ポリシー
sc-s3-role

DMS Schema Conversion が評価レポート、変換された SQL コード、メタデータを Amazon S3 バケットに保存できるようにします。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketVersioning" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
カスタマーマネージドキーの SSE-KMS アクセス許可

Amazon S3 バケットがカスタマーマネージドキーで SSE-KMS を使用している場合、sc-s3-roleロールにはキーを使用するためのアクセス許可が必要です。次のいずれかの方法を使用します。

sc-s3-role ID ポリシーに次のステートメントを追加します。このアプローチは、KMS キーポリシーが IAM へのアクセスを委任する場合に機能します。デフォルトのキーポリシーは次の処理を行います。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-ID", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" } } } ] }

または、 のステートメントsc-s3-roleを KMS キーポリシーに追加します。このアプローチは、キーポリシーが IAM へのアクセスを委任しない場合に使用します。キーポリシーステートメントは Principalを受け取り、キー自体に適用されます。

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowScS3RoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/sc-s3-role" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" } } } ] }

バケットが SSE-S3 を使用している場合、追加のアクセス許可は必要ありません。

sc-source-secret-role

DMS Schema Conversion がソースデータベース認証情報を取得できるようにします。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:sc-source-secret*" } ] }
sc-target-secret-role

DMS Schema Conversion がターゲットデータベース認証情報を取得できるようにします。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:sc-target-secret*" } ] }
dms-vpc-role

AmazonDMSVPCManagementRole (AWS 管理ポリシー)。「で使用する IAM ロールの作成 AWS DMS」を参照してください。

dms-cloudwatch-logs-role

AmazonDMSCloudWatchLogsRole (AWS 管理ポリシー)。「で使用する IAM ロールの作成 AWS DMS」を参照してください。

各ロールには、次の信頼ポリシーが必要です。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

これらのリソースを作成するには、まずポリシーを作成し、次にロールを作成して対応するポリシーをアタッチします。手順については、IAM ユーザーガイドの「IAM ポリシーの作成」および「 AWS サービスのロールの作成」を参照してください。