本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定您的 Amazon RDS Custom for SQL Server 的環境
建立和管理 Amazon RDS Custom for SQL Server 資料庫執行個體的資料庫執行個體之前,請務必執行下列任務。
內容
注意
如需如何設定先決條件和啟動 Amazon RDS Custom for SQL Server step-by-step教學課程,請參閱使用 CloudFormation 範本 (網路設定) 開始使用 Amazon RDS Custom for SQL Server
設定 RDS Custom for SQL Server 的先決條件
建立 RDS Custom to SQL Server 資料庫執行個體之前,請確定您的環境符合本主題中所述的需求。您也可以使用 CloudFormation 範本在 中設定先決條件 AWS 帳戶。如需詳細資訊,請參閱使用 設定 AWS CloudFormation
RDS Custom for SQL Server 需要您設定下列先決條件:
設定建立執行個體所需的 AWS Identity and Access Management (IAM) 許可。這是向 RDS 提出
create-db-instance
請求所需的 AWS Identity and Access Management (IAM) 使用者或角色。-
設定 RDS Custom for SQL Server 資料庫執行個體所需的先決條件資源:
-
設定 RDS Custom 執行個體加密所需的 AWS KMS 金鑰。RDS Custom 在建立執行個體時需要客戶受管金鑰以進行加密。KMS 金鑰 ARN、ID、別名 ARN 或別名名稱會在建立 RDS Custom 資料庫執行個體的請求中做為
kms-key-id
參數傳遞。 設定 RDS Custom for SQL Server 資料庫執行個體內所需的許可。RDS Custom 會在建立時將執行個體描述檔連接至資料庫執行個體,並將其用於資料庫執行個體內的自動化。執行個體描述檔名稱在 RDS Custom 建立請求
custom-iam-instance-profile
中設定為 。您可以從 建立執行個體描述檔, AWS Management Console 或手動建立執行個體描述檔。如需詳細資訊,請參閱使用 自動建立執行個體描述檔 AWS Management Console及手動建立 IAM 角色和執行個體設定檔。根據 RDS Custom for SQL Server 的要求設定聯網設定。RDS Custom 執行個體位於您在執行個體建立時提供的子網路 (使用資料庫子網路群組設定) 中。這些子網路必須允許 RDS Custom 執行個體與 RDS 自動化所需的服務通訊。
-
注意
對於上述要求,請確定沒有任何服務控制政策 (SCPs) 限制帳戶層級許可。
如果您正在使用的帳戶是 AWS 組織的一部分,則可能會有限制帳戶層級許可的服務控制政策 (SCP)。確保 SCP 不會限制您使用下列程序所建立使用者與角色上的許可。
如需 SCP 的詳細資訊,請參閱《AWS Organizations 使用者指南》中的服務控制政策 (SCP)。使用 describe-organization AWS CLI 命令來檢查您的帳戶是否為 AWS 組織的一部分。
如需 AWS Organizations 的詳細資訊,請參閱AWS Organizations 《 使用者指南》中的什麼是 AWS Organizations。
如需適用於 RDS Custom for SQL Server 的一般需求,請參閱 RDS Custom for SQL Server 的一般需求。
使用 自動建立執行個體描述檔 AWS Management Console
RDS Custom 需要您建立和設定執行個體描述檔,以啟動任何 RDS Custom for SQL Server 資料庫執行個體。使用 AWS Management Console 在單一步驟中建立和連接新的執行個體描述檔。此選項可在建立資料庫、還原快照和還原至時間點主控台頁面的 RDS Custom 安全區段下使用。選擇建立新的執行個體描述檔,以提供執行個體描述檔名稱尾碼。 AWS Management Console 會建立新的執行個體描述檔,其具有 RDS Custom 自動化任務所需的許可。若要自動建立新的執行個體設定檔,您的登入 AWS Management Console 使用者必須具有 iam:CreateInstanceProfile
、iam:CreateRole
、 iam:AddRoleToInstanceProfile
和 iam:AttachRolePolicy
許可。
注意
此選項僅適用於 AWS Management Console。如果您使用的是 CLI 或 SDK,請使用 RDS Custom 提供的 CloudFormation 範本或手動建立執行個體描述檔。如需詳細資訊,請參閱手動建立 IAM 角色和執行個體設定檔。
步驟 1:將必要的許可授予您的 IAM 主體
請確定您有足夠的存取權來建立 RDS Custom 執行個體。使用主控台或 CLI 建立 RDS Custom for SQL Server 資料庫執行個體的 IAM 角色或 IAM 使用者 (稱為 IAM 主體) 必須具有下列任一政策,才能成功建立資料庫執行個體:
-
AdministratorAccess
政策 -
具有下列額外許可的
AmazonRDSFullAccess
政策:iam:SimulatePrincipalPolicy cloudtrail:CreateTrail cloudtrail:StartLogging s3:CreateBucket s3:PutBucketPolicy s3:PutBucketObjectLockConfiguration s3:PutBucketVersioning kms:CreateGrant kms:DescribeKey kms:Decrypt kms:ReEncryptFrom kms:ReEncryptTo kms:GenerateDataKeyWithoutPlaintext kms:GenerateDataKey ec2:DescribeImages ec2:RunInstances ec2:CreateTags
RDS Custom 會在執行個體建立期間使用這些許可。這些許可會設定您帳戶中 RDS Custom 操作所需的資源。
如需
kms:CreateGrant
許可的詳細資訊,請參閱 AWS KMS key 管理。
以下範例 JSON 政策授予必要許可。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ValidateIamRole", "Effect": "Allow", "Action": "iam:SimulatePrincipalPolicy", "Resource": "*" }, { "Sid": "CreateCloudTrail", "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:StartLogging" ], "Resource": "arn:aws:cloudtrail:*:*:trail/do-not-delete-rds-custom-*" }, { "Sid": "CreateS3Bucket", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:PutBucketObjectLockConfiguration", "s3:PutBucketVersioning" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" } ] }
IAM 主體需要下列額外許可才能使用自訂引擎版本 (CEVs):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfigureKmsKeyEncryptionPermission", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:
region
:account_id
:key/key_id
" }, { "Sid": "CreateEc2Instance", "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:RunInstances", "ec2:CreateTags" ], "Resource": "*" } ] }
將 account_id
取代為您用來建立執行個體的帳戶 ID。將區域
取代 AWS 區域 為您用來建立執行個體的 。將 key_id
取代為您的客戶受管金鑰 ID。您可以視需要新增多個金鑰。
如需啟動 EC2 執行個體所需的資源層級許可的詳細資訊,請參閱啟動執行個體 (RunInstances)。
此外,IAM 主體在 IAM 角色上需要 iam:PassRole
許可。這必須連接到在請求中以 custom-iam-instance-profile
參數傳遞的執行個體,才能建立 RDS Custom 資料庫執行個體。稍後會在 步驟 2:設定聯網、執行個體描述檔和加密 中建立執行個體設定檔及其連接的角色。
注意
確保先前列出的許可不受服務控制政策 (SCP)、許可界限或與 IAM 主體相關聯之工作階段政策的限制。
步驟 2:設定聯網、執行個體描述檔和加密
您可以使用下列任一程序來設定 IAM 執行個體描述檔角色、虛擬私有雲端 (VPC) AWS KMS 和對稱加密金鑰:
注意
如果您的帳戶屬於任何 的一部分 AWS Organizations,請確定執行個體描述檔角色所需的許可不受服務控制政策 (SCPs的限制。
本主題中的聯網組態最適合無法公開存取的資料庫執行個體。您無法從 VPC 外部直接連線至這類資料庫執行個體。
使用 設定 AWS CloudFormation
若要簡化設定,您可以使用 AWS CloudFormation 範本檔案來建立 CloudFormation 堆疊。CloudFormation 範本會根據 RDS Custom 的要求建立所有聯網、執行個體描述檔和加密資源。
若要了解如何建立堆疊,請參閱AWS CloudFormation 《 使用者指南》中的在 AWS CloudFormation 主控台上建立堆疊。
如需如何使用 AWS CloudFormation 範本啟動 Amazon RDS Custom for SQL Server 的教學課程,請參閱 資料庫部落格中的使用 AWS CloudFormation 範本開始使用 Amazon RDS Custom for SQL Server
CloudFormation 所需的參數
使用 CloudFormation 設定 RDS Custom 先決條件資源需要下列參數:
參數群組 | 參數名稱 | 預設值 | 描述 |
---|---|---|---|
可用性組態 | 選取先決條件設定的可用性組態 | Multi-AZ | 指定在 RDS Custom 執行個體的單一可用區或多可用區組態中設定先決條件。如果您在此組態中至少需要一個多可用區域資料庫執行個體,您應該使用多可用區域組態 |
網路組態 | VPC 的 IPv4 CIDR 區塊 | 10.0.0.0/16 | 為您的 VPC 指定 IPv4 CIDR 區塊 (或 IP 地址範圍)。此 VPC 設定為建立和使用 RDS Custom 資料庫執行個體。 |
適用於 2 個私有子網路之一的 IPv4 CIDR 區塊 | 10.0.128.0/20 | 為您的第一個私有子網路指定 IPv4 CIDR 區塊 (或 IP 地址範圍)。這是可以建立 RDS Custom 資料庫執行個體的兩個子網路之一。這是無法存取網際網路的私有子網路。 |
|
IPv4 CIDR 區塊,適用於 2 個私有子網路中的 2 個 | 10.0.144.0/20 | 為您的第二個私有子網路指定 IPv4 CIDR 區塊 (或 IP 地址範圍)。這是可以建立 RDS Custom 資料庫執行個體的兩個子網路之一。這是無法存取網際網路的私有子網路。 |
|
公有子網路的 IPv4 CIDR 區塊 | 10.0.0.0/20 | 為您的公有子網路指定 IPv4 CIDR 區塊 (或 IP 地址範圍)。這是 EC2 執行個體可以與 RDS Custom 資料庫執行個體連線的子網路之一。這是可存取網際網路的公有子網路。 |
|
RDP 存取組態 | 來源的 IPv4 CIDR 區塊 | ‐ | 指定來源的 IPv4 CIDR 區塊 (或 IP 地址範圍)。這是您在公有子網路中對 EC2 執行個體進行 RDP 連線的 IP 範圍。如果未設定,則不會設定與 EC2 執行個體的 RDP 連線。 |
設定 RDP 存取 RDS Custom for SQL Server 執行個體 | 否 | 指定是否要啟用從 EC2 執行個體到 RDS Custom for SQL Server 執行個體的 RDP 連線。根據預設,不會設定從 EC2 執行個體到資料庫執行個體的 RDP 連線。 |
使用預設設定成功建立 CloudFormation 堆疊會在您的 中建立下列資源 AWS 帳戶:
-
對稱加密 KMS 金鑰,用於加密由 RDS Custom 管理的資料。
-
執行個體描述檔與 的 IAM 角色相關聯
AmazonRDSCustomInstanceProfileRolePolicy
,以提供 RDS Custom 所需的許可。如需詳細資訊,請參閱《 AWS 受管政策參考指南》中的 AmazonRDSCustomServiceRolePolicy。 -
具有指定為 CloudFormation 參數之 CIDR 範圍的 VPC。預設值為
10.0.0.0/16
。 -
兩個私有子網路,具有參數中指定的 CIDR 範圍,以及 AWS 區域中兩個不同的可用區域。子網路 CIDR 的預設值為
10.0.128.0/20
和10.0.144.0/20
。 一個公有子網路,具有參數中指定的 CIDR 範圍。子網路 CIDR 的預設值為 10.0.0.0/20。EC2 執行個體位於此子網路中,可用於連線至 RDS Custom 執行個體。
-
為 VPC 設定的 DHCP 選項,其網域名稱會解析為 Amazon Domain Name System (DNS) 伺服器。
-
與兩個私有子網路相關聯且無法存取網際網路的路由表。
要與公有子網路建立關聯的路由表,並且可以存取網際網路。
與 VPC 相關聯的網際網路閘道,以允許網際網路存取公有子網路。
-
要與兩個私有子網路建立關聯的網路存取控制清單 (ACL),以及僅限於 VPC 內 HTTPS 和資料庫連接埠的存取。
-
與 RDS Custom 執行個體相關聯的 VPC 安全群組。傳出 HTTPS 只能存取 RDS Custom 所需的 AWS 服務 端點,以及來自 EC2 執行個體安全群組的傳入資料庫連接埠。
要與公有子網路中 EC2 執行個體相關聯的 VPC 安全群組。傳出資料庫連接埠只能存取 RDS Custom 執行個體安全群組。
-
要與為 RDS Custom 所需的端點建立的 VPC AWS 服務 端點相關聯的 VPC 安全群組。
-
在其中建立 RDS Custom 執行個體的資料庫子網路群組。此範本建立的兩個私有子網路會新增至資料庫子網路群組。
-
RDS Custom 所需的每個端點的 VPC AWS 服務 端點。
除了上述清單之外,將可用性組態設定為 multi-az 也會建立下列資源:
網路 ACL 規則允許私有子網路之間的通訊。
與 RDS Custom 執行個體相關聯之 VPC 安全群組內多可用區域連接埠的傳入和傳出存取權。
VPC 端點至 AWS 服務端點 (多可用區域通訊所需)。
此外,設定 RDP 存取組態會建立下列資源:
從來源 IP 地址設定公有子網路的 RDP 存取:
允許 RDP 從您的來源 IP 連線到公有子網路的網路 ACL 規則。
將 RDP 連接埠的存取權從來源 IP 傳入與 EC2 執行個體相關聯的 VPC 安全群組。
設定從公有子網路中的 EC2 執行個體到私有子網路中 RDS 自訂執行個體的 RDP 存取:
網路 ACL 規則允許從公有子網路到私有子網路的 RDP 連線。
從與 EC2 執行個體相關聯的 VPC 安全群組到與 RDS 自訂執行個體相關聯的 VPC 安全群組對 RDP 連接埠的傳入存取。
使用下列程序為 RDS Custom for SQL Server 建立 CloudFormation 堆疊。
下載 AWS CloudFormation 範本檔案
下載範本檔案
-
開啟連結 custom-sqlserver-onboard.zip 的內容 (滑鼠右鍵) 功能表,然後選擇 Save Link As (另存連結為)。
-
將檔案儲存並擷取到您的電腦。
使用 CloudFormation 設定資源
使用 CloudFormation 設定資源
-
開啟位於 https://https://console.aws.amazon.com/cloudformation
的 CloudFormation 主控台。 -
若要啟動「建立堆疊」精靈,請選擇 Create Stack (建立堆疊)。
Create stack (建立堆疊) 頁面隨即出現。
-
對於 Prepare template (準備範本),請選擇 Template is ready (範本已準備就緒)。
-
針對 Specify template 執行下列操作:
-
針對 Template source (範本來源),選擇 Upload a template file (上傳範本檔案)。
-
針對選擇檔案,導覽至該處並選擇正確檔案。
-
-
選擇下一步。
Specify stack details (指定堆疊詳細資訊) 頁面隨即出現。
-
針對堆疊名稱 輸入
rds-custom-sqlserver
。 -
對於 Parameters (參數),請執行下列動作:
-
若要保留預設選項,請選擇 Next (下一步)。
-
若要變更選項,請選擇適當的可用性組態、聯網組態和 RDP 存取組態,然後選擇下一步。
在變更參數之前,請先仔細閱讀每個參數的說明。
注意
如果您選擇在此 CloudFormation 堆疊中建立至少一個多可用區執行個體,請確定 CloudFormation 堆疊參數選取先決條件設定的可用性組態設定為
Multi-AZ
。如果您將 CloudFormation 堆疊建立為單一可用區,請先將 CloudFormation 堆疊更新為異地同步備份組態,再建立第一個異地同步備份執行個體。 -
-
在 Configure stack options (設定堆疊選項) 頁面,選擇 Next (下一步)。
-
在 Review rds-custom-sqlserver (檢閱 rds-custom-sqlserver) 頁面上,執行下列操作:
-
針對 Capabilities (功能),選取 I acknowledge that AWS CloudFormation might create IAM resources with custom names (確認可能使用自訂名稱建立 IAM 資源) 核取方塊。
-
選擇 Create Stack (建立堆疊)。
-
注意
請勿直接從資源頁面更新從此 AWS CloudFormation 堆疊建立的資源。這可防止您使用 AWS CloudFormation 範本,將未來的更新套用至這些資源。
CloudFormation 會建立 RDS Custom for SQL Server 需要的資源。如果堆疊建立失敗,請詳讀 Events 索引標籤,查看哪些資源建立失敗及其狀態原因。
主控台中此 CloudFormation 堆疊的 Outputs (輸出) 索引標籤應有要作為用於建立 RDS Custom for SQL Server 資料庫執行個體的參數傳遞的所有資源相關資訊。務必使用由 CloudFormation for RDS Custom 資料庫執行個體建立的 VPC 安全群組與資料庫子網路群組。依預設,RDS 會嘗試連接預設的 VPC 安全群組,此群組可能沒有您需要的存取權。
如果您使用 CloudFormation 建立資源,則可以略過 手動設定。
您也可以在建立後更新 CloudFormation 堆疊上的部分組態。可更新的組態包括:
RDS Custom for SQL Server 的可用性組態
選取先決條件設定的可用性組態:更新此參數以在單一可用區和多可用區組態之間切換。如果您將此 CloudFormation 堆疊用於至少一個異地同步備份執行個體,則必須更新堆疊以選擇異地同步備份組態。
RDS Custom for SQL Server 的 RDP 存取組態
來源的 IPv4 CIDR 區塊:您可以透過更新此參數來更新來源的 IPv4 CIDR 區塊 (或 IP 地址範圍)。將此參數設為空白會將來源 CIDR 區塊的 RDP 存取組態移除為公有子網路。
設定 RDP 存取 RDS Custom for SQL Server:啟用或停用從 EC2 執行個體到 RDS Custom for SQL Server 執行個體的 RDP 連線。
您可以在刪除所有使用堆疊資源的 RDS Custom 執行個體後,刪除 CloudFormation 堆疊。RDS Custom 不會追蹤 CloudFormation 堆疊,因此當有資料庫執行個體使用堆疊資源時,不會封鎖堆疊的刪除。刪除堆疊時,請確定沒有使用堆疊資源的 RDS Custom 資料庫執行個體。
注意
當您刪除 CloudFormation 堆疊時,由該堆疊建立的所有資源皆會遭到刪除,唯 KMS 金鑰除外。KMS 金鑰會進入待定刪除狀態,並在 30 天後刪除。若要保留 KMS 金鑰,請在 30 天的寬限期執行 CancelKeyDeletion 操作。
手動設定
如果您選擇手動設定資源,請執行以下任務。
注意
若要簡化設定,您可以使用 AWS CloudFormation 範本檔案來建立 CloudFormation 堆疊,而不是手動組態。如需詳細資訊,請參閱使用 設定 AWS CloudFormation。
您也可以使用 AWS CLI 來完成本節。若是如此,請下載並安裝最新的 CLI。
請確定您有對稱加密 AWS KMS 金鑰
RDS Custom AWS KMS key 需要對稱加密。當您建立 RDS Custom for SQL Server 資料庫執行個體時,請務必提供 KMS 金鑰識別符做為參數 kms-key-id
。如需詳細資訊,請參閱建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體。
您有下列選項:
-
如果您的 中有現有的客戶受管 KMS 金鑰 AWS 帳戶,您可以將其與 RDS Custom 搭配使用。無需採取進一步動作。
-
若您已為不同的 RDS Custom 引擎建立客戶受管對稱加密 KMS 金鑰,您可以重複使用相同的 KMS 金鑰。無需採取進一步動作。
-
若您的帳戶中並無現有的客戶受管對稱加密 KMS 金鑰,請藉由遵循《AWS Key Management Service 開發人員指南》中的建立金鑰來建立 KMS 金鑰。
-
如果您要建立 CEV 或 RDS Custom 資料庫執行個體,且 KMS 金鑰位於不同的 AWS 帳戶中,請務必使用 AWS CLI。您無法搭配跨帳戶 KMS 金鑰使用 AWS 主控台。
重要
RDS Custom 不支援 AWS 受管 KMS 金鑰。
請確定您的對稱加密金鑰將 kms:Decrypt
和 kms:GenerateDataKey
操作的存取權授予 IAM 執行個體描述檔中的 AWS Identity and Access Management (IAM) 角色。若您的帳戶中有新的對稱加密金鑰,則不需要變更。否則,請確定對稱加密金鑰政策授予這些操作的存取權。
如需詳細資訊,請參閱步驟 4:設定 RDS Custom for Oracle 的 IAM。
手動建立 IAM 角色和執行個體設定檔
您可以手動建立執行個體描述檔,並使用它來啟動 RDS Custom 執行個體。如果您打算在 中建立執行個體 AWS Management Console,請略過本節。 AWS Management Console 可讓您建立執行個體描述檔,並將其連接至 RDS Custom 資料庫執行個體。如需詳細資訊,請參閱使用 自動建立執行個體描述檔 AWS Management Console。
當您手動建立執行個體描述檔時,請將執行個體描述檔名稱做為 custom-iam-instance-profile
參數傳遞至 CLI create-db-instance
命令。RDS Custom 會使用與此執行個體描述檔相關聯的 角色來執行自動化來管理執行個體。
建立 RDS Custom for SQL Server 的 IAM 執行個體設定檔和 IAM 角色
-
建立名為
AWSRDSCustomSQLServerInstanceRole
的 IAM 角色,具有可讓 Amazon EC2 擔任此角色的信任政策。 -
將 AWS 受管政策
AmazonRDSCustomInstanceProfileRolePolicy
新增至AWSRDSCustomSQLServerInstanceRole
。 -
為 RDS Custom for SQL Server 建立名為
AWSRDSCustomSQLServerInstanceProfile
的 IAM 執行個體設定檔。 -
將
AWSRDSCustomSQLServerInstanceRole
新增至執行個體設定檔。
建立 AWSRDSCustomSQLServerInstanceRole IAM 角色
下列範例會建立 AWSRDSCustomSQLServerInstanceRole
角色。信任政策可讓 Amazon EC2 擔任角色。
aws iam create-role \ --role-name AWSRDSCustomSQLServerInstanceRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }'
將存取政策新增至 AWSRDSCustomSQLServerInstanceRole
若要提供必要的許可,請將 AWS 受管政策連接至 AmazonRDSCustomInstanceProfileRolePolicy
AWSRDSCustomSQLServerInstanceRole
。 AmazonRDSCustomInstanceProfileRolePolicy
允許 RDS Custom 執行個體傳送和接收訊息,並執行各種自動化動作。
注意
確定存取政策中的許可不受與執行個體設定檔角色相關聯的 SCP 或許可界限所限制。
下列範例會將 AWS 受管政策連接至AWSRDSCustomSQLServerIamRolePolicy
AWSRDSCustomSQLServerInstanceRole
角色。
aws iam attach-role-policy \ --role-name AWSRDSCustomSQLServerInstanceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonRDSCustomInstanceProfileRolePolicy
建立您的 RDS Custom for SQL Server 執行個體設定檔
執行個體設定檔是包含單一 IAM 角色的容器。RDS Custom 會使用執行個體設定檔,將角色傳遞到執行個體。
如果您使用 AWS Management Console 為 Amazon EC2 建立角色,主控台會自動建立執行個體描述檔,並在建立角色時為其提供與角色相同的名稱。如下所示建立您的執行個體設定檔,將它命名為 AWSRDSCustomSQLServerInstanceProfile
。
aws iam create-instance-profile \ --instance-profile-name AWSRDSCustomSQLServerInstanceProfile
將 AWSRDSCustomSQLServerInstanceRole 新增至您的 RDS Custom for SQL Server 執行個體設定檔
將AWSRDSCustomInstanceRoleForRdsCustomInstance
角色新增至先前建立的AWSRDSCustomSQLServerInstanceProfile
設定檔。
aws iam add-role-to-instance-profile \ --instance-profile-name AWSRDSCustomSQLServerInstanceProfile \ --role-name AWSRDSCustomSQLServerInstanceRole
手動設定您的 VPC
根據 Amazon VPC 服務,您的 RDS Custom 資料庫執行個體位於虛擬私有雲端 (VPC),就像是 Amazon EC2 執行個體或 Amazon RDS 執行個體。您可以提供和設定您自己的 VPC。因此,您可以完全控制您的執行個體網絡設定。
RDS Custom 會將通訊從您的資料庫執行個體傳送到其他 AWS 服務。請確定下列服務可從您建立 RDS Custom 資料庫執行個體的子網路存取:
-
Amazon CloudWatch (
com.amazonaws.
)region
.monitoring -
Amazon CloudWatch Logs (
com.amazonaws.
)region
.logs -
Amazon CloudWatch Events (
com.amazonaws.
)region
.events -
Amazon EC2 (
com.amazonaws.
和region
.ec2com.amazonaws.
)region
.ec2messages -
Amazon EventBridge (
com.amazonaws.
)region
.events -
Amazon S3 (
com.amazonaws.
)region
.s3 -
AWS Secrets Manager (
com.amazonaws.
)region
.secretsmanager -
AWS Systems Manager (
com.amazonaws.
和region
.ssmcom.amazonaws.
)region
.ssmmessages
如果建立異地同步備份部署
Amazon Simple Queue Service (
com.amazonaws.
)region
.sqs
如果 RDS Custom 無法與必要的服務通訊,它會發佈下列事件:
Database instance in incompatible-network. SSM Agent connection not available. Amazon RDS can't connect to the dependent AWS services.
Database instance in incompatible-network. Amazon RDS can't connect to dependent AWS services. Make sure port 443 (HTTPS) allows outbound connections, and try again. "Failed to connect to the following services: s3 events"
若要避免incompatible-network
錯誤,請確定涉及 RDS Custom 資料庫執行個體之間通訊的 VPC 元件,並 AWS 服務 滿足下列要求:
-
資料庫執行個體會在連接埠 443 上對其他 AWS 服務進行傳出連線。
-
VPC 允許對來自您 RDS Custom 資料庫執行個體的請求進行傳入回應。
-
RDS Custom 可以正確解析每個 AWS 服務的端點網域名稱。
若您已經為不同的 RDS Custom 資料庫引擎設定 VPC,您可重複使用該 VPC 並略過此程序。
設定您的 VPC 安全群組
安全群組會做為 VPC 執行個體的虛擬防火牆,控制傳入及傳出流量。RDS Custom 資料庫執行個體具有連接到其網路界面的安全群組,以保護執行個體。請確定您的安全群組允許 RDS Custom 與其他 之間 AWS 服務 透過 HTTPS 的流量。您可以在執行個體建立請求中將此安全群組做為 vpc-security-group-ids
參數傳遞。
若要設定 RDS Custom 的安全群組
-
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/vpc
開啟 Amazon VPC 主控台。 -
允許 RDS Custom 使用預設安全群組,或建立您自己的安全群組。
如需詳細說明,請參閱 透過VPC建立安全群組,提供 中資料庫執行個體的存取權。
-
請確定您的安全群組允許連接埠 443 上的傳出連線。RDS Custom 需要此連接埠與相依 AWS 服務通訊。
-
如果您具備私有 VPC 並使用 VPC 端點,請確定與資料庫執行個體相關聯的安全群組允許連接埠 443 上傳出至 VPC 端點的連線。此外還要確定與 VPC 端點相關聯的安全群組允許連接埠 443 上從資料庫執行個體傳入的連線。
如果不允許傳入的連線,則 RDS Custom 執行個體無法連線到 AWS Systems Manager 和 Amazon EC2 端點。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的建立 Virtual Private Cloud 端點。
-
對於 RDS Custom for SQL Server 異地同步備份執行個體,請確定與資料庫執行個體相關聯的安全群組允許連接埠 1120 上對此安全群組本身的傳入和傳出連線。這對於多可用區域 RDS Custom for SQL Server 資料庫執行個體上的對等主機連線是必要的。
如需安全群組的詳細資訊,請參閱《Amazon VPC 開發人員指南》中的您的 VPC 的安全群組。
設定相依的端點 AWS 服務
建議您使用下列指示將每個服務的端點新增至 VPC。不過,您可以使用任何解決方案,讓您的 VPC 與服務 AWS 端點通訊。例如,您可以使用網路位址轉譯 (NAT) 或 AWS Direct Connect。
設定用於 RDS Custom AWS 服務 的端點
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽列上,使用區域選取器來選擇 AWS 區域。
-
在導覽窗格中選擇端點。在主窗格中,選擇 Create Endpoint (建立端點)。
-
對於 Service category (服務類別),選擇 AWS 服務。
-
針對 Service Name (服務名稱),選擇表格中顯示的端點。
-
在 VPC 中,選擇您的 VPC。
-
在 Subnets (子網路) 中,請從每個可用區域選擇要包含的子網路。
VPC 端點可以跨越多個可用區域。 會為您選擇的每個子網路中的 VPC 端點 AWS 建立彈性網路介面。每個網路界面具有網域名稱系統 (DNS) 主機名稱和私有 IP 地址。
-
針對 Security group (安全群組),選擇或建立安全群組。
您可以使用安全群組來控制對端點的存取,就像使用防火牆一樣。確定安全群組允許來自資料庫執行個體的連接埠 443 上的傳入連線。如需安全群組的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 的安全群組。
-
或者,您可以將政策連接至 VPC 端點。端點政策可以控制對您要連線之 AWS 服務 的存取。預設政策允許所有請求通過端點。如果您使用的是自訂政策,請確定該政策中允許來自資料庫執行個體的請求。
-
選擇建立端點。
下表說明如何尋找您的 VPC 傳出通訊所需的端點清單。
服務 | 端點格式 | 備註和連結 |
---|---|---|
AWS Systems Manager |
使用下列端點格式:
|
如需每個區域的端點清單,請參閱 Amazon Web Services 一般參考 中的 AWS Systems Manager 端點和配額。 |
AWS Secrets Manager |
使用端點格式 |
如需每個區域的端點清單,請參閱 Amazon Web Services 一般參考 中的 AWS Secrets Manager 端點和配額。 |
Amazon CloudWatch |
使用下列端點格式:
|
如需每個區域中的端點清單,請參閱:
|
Amazon EC2 |
使用下列端點格式:
|
如需每個區域中的端點清單,請參閱 Amazon Web Services 一般參考 中的 Amazon Elastic Compute Cloud 端點和配額。 |
Amazon S3 |
使用端點格式 |
如需每個區域中的端點清單,請參閱 Amazon Web Services 一般參考 中的 Amazon Simple Storage Service 端點和配額。 若要進一步了解 Amazon S3 的閘道端點,請參閱《Amazon VPC 開發人員指南》中的 Amazon S3 的端點。 若要了解如何建立存取點,請參閱《Amazon VPC 開發人員指南》中的建立存取點。 若要瞭解如何為 Amazon S3 建立閘道端點,請參閱閘道 VPC 端點。 |
Amazon Simple Queue Service |
使用端點格式 sqs. |
如需每個區域中的端點清單,請參閱 Amazon Simple Queue Service 端點和配額。 |
設定個體中繼資料服務
請確定您的執行個體可以執行下列操作:
-
使用執行個體中繼資料服務版本 2 (IMDSv2) 存取執行個體中繼資料服務。
-
允許透過連接埠 80 (HTTP) 與 IMDS 連結 IP 地址進行傳出通訊。
-
從
http://169.254.169.254
(IMDSv2 連結) 要求執行個體中繼資料。
如需詳細資訊,請參閱《Amazon ECIMDSv22。 Amazon EC2
跨執行個體限制
當您依照上述步驟建立執行個體描述檔時,它會使用 AWS 受管政策AmazonRDSCustomInstanceProfileRolePolicy
向 RDS Custom 提供必要的許可,以允許執行個體管理和監控自動化。受管政策可確保許可僅允許存取 RDS Custom 執行自動化所需的資源。我們建議您使用 受管政策來支援新功能並解決安全需求,這些要求會自動套用至現有的執行個體描述檔,無需手動介入。如需詳細資訊,請參閱 AWS 受管政策:AmazonRDSCustomInstanceProfileRolePolicyInstanceProfileRolePolicy。
AmazonRDSCustomInstanceProfileRolePolicy
受管政策會限制執行個體描述檔具有跨帳戶存取權,但可能允許存取相同帳戶中跨 RDS Custom 執行個體的一些 RDS Custom 受管資源。根據您的需求,您可以使用許可界限來進一步限制跨執行個體存取。許可界限定義身分型政策可授予實體的最大許可,但不會自行授予許可。如需詳細資訊,請參閱使用邊界評估有效許可。
例如,以下邊界政策限制執行個體描述檔角色存取特定 AWS KMS 金鑰,並限制跨使用不同 AWS KMS 金鑰的執行個體存取 RDS Custom 受管資源。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyOtherKmsKeyAccess", "Effect": "Deny", "Action": "kms:*", "NotResource": "arn:aws:kms:
region
:acct_id
:key/KMS_key_ID
" }, { "Sid": "NoBoundarySetByDefault", "Effect": "Allow", "Action": "*", "Resource": "*" } ] }
注意
請確定許可界限不會封鎖AmazonRDSCustomInstanceProfileRolePolicy
授予 RDS Custom 的任何許可。