本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用DMS結構描述轉換的完整先決條件
若要設定DMS結構描述轉換,請完成下列任務。然後,您就可以設定執行個體設定檔、新增資料提供者,以及建立遷移專案。
VPC 根據 Amazon 建立 VPC
在此步驟中,您會在 中建立虛擬私有雲端 (VPC) AWS 帳戶。這是VPC以 Amazon Virtual Private Cloud (AmazonVPC) 服務為基礎,並包含您的 AWS 資源。
VPC 為DMS結構描述轉換建立
登入 AWS Management Console ,並在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/
。 -
選擇 Create VPC (建立 OpsItem)。
-
在建立VPC頁面上,輸入下列設定:
-
要建立的資源 - VPC 等
-
自動產生名稱標籤 – 選擇自動產生並輸入全域唯一名稱。例如,輸入
sc-vpc
。 -
IPv4 CIDR 區塊 –
10.0.1.0/24
-
NAT 閘道 – 在 1 個 AZ 中
-
VPC 端點 – 無
-
-
保持其餘設定不變,然後選擇建立 VPC。
-
選擇子網路,並記下您的公有和私有子網路 IDs。
若要連線至 Amazon RDS 資料庫,請建立包含公有子網路的子網路群組。
若要連線到內部部署資料庫,請建立包含私有子網路的子網路群組。如需詳細資訊,請參閱建立DMS結構描述轉換的執行個體描述檔。
-
選擇NAT閘道。選擇您的NAT閘道,並記下您的彈性 IP 地址。
設定您的網路,以確保 AWS DMS 可以從此NAT閘道的公有 IP 地址存取來源內部部署資料庫。如需詳細資訊,請參閱使用網際網路連線至 VPC。
當您在 Amazon 上建立執行個體設定檔和目標資料庫VPC時,請使用此選項RDS。
建立 Amazon S3 儲存貯體
若要儲存遷移專案中的資訊,請建立 Amazon S3 儲存貯體。 DMS結構描述轉換使用此 Amazon S3 儲存貯體來儲存評估報告、轉換後的SQL程式碼、資料庫結構描述物件的相關資訊等項目。
為DMS結構描述轉換建立 Amazon S3 儲存貯體
登入 AWS Management Console ,並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/
。 -
選擇建立儲存貯體。
-
在建立儲存貯體頁面上,選取 S3 儲存貯體的全域唯一名稱。例如,輸入
sc-s3-bucket
。 -
針對 AWS 區域 選擇您的區域。
-
針對儲存貯體版本控制,選擇啟用。
-
將其餘設定保留為預設值,接著選擇建立儲存貯體。
在 中存放資料庫登入資料 AWS Secrets Manager
將您的來源和目標資料庫登入資料存放在其中 AWS Secrets Manager。請務必將這些秘密複寫到 AWS 區域。 DMS結構描述轉換使用這些秘密來連線到遷移專案中的資料庫。
在 中存放資料庫登入資料 AWS Secrets Manager
-
登入 AWS Management Console 並在 開啟 AWS Secrets Manager 主控台https://console.aws.amazon.com/secretsmanager/
。 -
選擇 Store a new secret (儲存新機密)。
-
選擇機密類型頁面隨即開啟。針對 Secret type (機密類型),選擇要儲存的資料庫憑證的類型:
-
Amazon RDS 資料庫的登入資料 – 選擇此選項可存放 Amazon RDS 資料庫的登入資料。針對憑證,輸入您資料庫的憑證。如需資料庫,請選擇您的資料庫。
-
其他資料庫的登入資料 – 選擇此選項可存放來源 Oracle 或SQL伺服器資料庫的登入資料。針對憑證,輸入您資料庫的憑證。
-
其他類型的機密 – 選擇此選項可僅儲存連線至資料庫所需的使用者名稱和密碼。選擇新增列以新增兩個鍵值對。確保您使用
username
和password
索引鍵名稱。對於這些索引鍵的相關值,請輸入資料庫的憑證。
-
-
針對加密金鑰,選擇 Secrets Manager 用來加密秘密值的 AWS KMS 金鑰。選擇 Next (下一步)。
-
在設定機密頁面上,輸入描述性的機密名稱。例如輸入
sc-source-secret
或sc-target-secret
。 -
選擇複製機密,然後在 AWS 區域 選擇您的區域。選擇 Next (下一步)。
-
在設定輪換頁面上,選擇下一步。
-
在 Review (檢閱) 頁面上,檢閱機密詳細資訊,然後選擇 Store (儲存)。
若要儲存來源和目標資料庫的憑證,請重複上述步驟。
建立IAM政策
建立用於存取 Amazon S3 的DMS結構描述轉換IAM政策
登入 AWS Management Console 並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇政策。
-
選擇 Create policy (建立政策)。
-
在選取服務頁面上,從清單中選擇 Amazon S3。
-
在允許的動作中,選擇
PutObject
、GetObject
、GetObjectVersion
、GetBucketVersioning
、GetBucketLocation
、ListBucket
。 -
在 資源中,指定您在上一節中建立之儲存貯ARN體的 。選擇 Next (下一步)。
-
在檢閱和建立頁面上,輸入描述性名稱。例如:
sc-s3-policy
。然後,選擇建立政策。
建立DMS結構描述轉換存取IAM的政策 AWS Secrets Manager
登入 AWS Management Console 並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇政策。
-
選擇 Create policy (建立政策)。
-
在選取服務頁面上,從清單中選擇 Secrets Manager。
-
選擇 Next (下一步)。新增許可頁面隨即開啟。
-
在允許的動作中,選擇:
GetSecretValue
和DescribeSecret
。 -
在檢閱和建立頁面上,輸入描述性名稱。例如:
sc-secrets-manager-policy
。然後,選擇建立政策。
建立IAM角色
要在遷移專案中使用的 Create AWS Identity and Access Management (IAM) 角色。 DMS結構描述轉換使用這些IAM角色來存取存放在 中的 Amazon S3 儲存貯體和資料庫登入資料 AWS Secrets Manager。
建立提供 Amazon S3 儲存貯體存取權IAM的角色
登入 AWS Management Console 並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇 Roles (角色)。
-
選擇 Create Role (建立角色)。
-
在選取信任的實體頁面中,選擇 AWS 服務。選擇 DMS。
-
選擇 Next (下一步)。新增許可頁面隨即開啟。
-
對於篩選政策,請輸入
S3
。選擇您在上一節中建立的 sc-s3-policy 政策。 -
選擇 Next (下一步)。命名、檢閱和建立頁面隨即開啟。
-
對於角色名稱,輸入描述性名稱。例如,輸入
sc-s3-role
。選擇建立角色。 -
在角色頁面,針對角色名稱輸入
sc-s3-role
。選擇 sc-s3-role。 -
在 sc-s3-role 頁面上,選擇信任關係標籤。選擇編輯信任政策。
-
在編輯信任政策頁面上,編輯角色的信任關係,
schema-conversion.dms.amazonaws.com
並將您的 AWS DMS 區域服務委託人作為信任的實體。此 AWS DMS 區域服務主體的格式如下:dms.region-name.amazonaws.com
region-name
將 取代為您的區域名稱,例如us-east-1
:下列程式碼範例顯示us-east-1
區域的主體:dms.us-east-1.amazonaws.com
下列程式碼範例顯示存取 AWS DMS 結構描述轉換的信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.us-east-1.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
建立提供 存取權IAM的角色 AWS Secrets Manager
登入 AWS Management Console 並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇 Roles (角色)。
-
選擇 Create Role (建立角色)。
-
在選取信任的實體頁面中,選擇 AWS 服務。選擇 DMS。
-
選擇 Next (下一步)。新增許可頁面隨即開啟。
-
對於篩選政策,請輸入
s3
。選擇您在上一節中建立sc-secrets-manager-policy的 。 -
選擇 Next (下一步)。命名、檢閱和建立頁面隨即開啟。
-
對於角色名稱,輸入描述性名稱。例如,輸入
sc-secrets-manager-role
。選擇建立角色。 -
在角色頁面,針對角色名稱輸入
sc-secrets-manager-role
。選擇 sc-secrets-manager-role。 -
在頁面上sc-secrets-manager-role,選擇信任關係索引標籤。選擇編輯信任政策。
-
在編輯信任政策頁面上,編輯角色的信任關係,
schema-conversion.dms.amazonaws.com
並將您的 AWS DMS 區域服務委託人做為信任的實體。此 AWS DMS 區域服務主體的格式如下:dms.region-name.amazonaws.com
region-name
將 取代為您的區域名稱,例如us-east-1
:下列程式碼範例顯示us-east-1
區域的主體:dms.us-east-1.amazonaws.com
下列程式碼範例顯示存取 AWS DMS 結構描述轉換的信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.us-east-1.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
建立 dms-vpc-role
IAM角色以搭配 AWS CLI或 使用 AWS DMS API
-
使用下列IAM政策建立 JSON 檔案。命名JSON檔案
dmsAssumeRolePolicyDocument.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
然後,使用下列命令,使用 AWS CLI建立角色:
aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
-
dms-vpc-role
使用下列命令將AmazonDMSVPCManagementRole
政策連接至 :aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
建立 dms-cloudwatch-logs-role
IAM角色以搭配 AWS CLI或 使用 AWS DMS API
-
使用下列IAM政策建立 JSON 檔案。命名JSON檔案
dmsAssumeRolePolicyDocument2.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
然後,使用下列命令,使用 AWS CLI建立角色:
aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
-
dms-cloudwatch-logs-role
使用下列命令將AmazonDMSCloudWatchLogsRole
政策連接至 :aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole