本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定您的 Amazon RDS Custom for SQL Server 的環境
建立和管理 Amazon RDS Custom for SQL Server 資料庫執行個體的資料庫執行個體之前,請務必執行下列任務。
內容
注意
如需如何設定必要條件以及啟動適用於 SQL 伺服器的 Amazon RDS 自訂 step-by-step 教學課程,請參閱使用 CloudFormation 範本開始使用適用於 SQL 伺服器的 Amazon RDS 自訂 (網路設定)
設定 RDS Custom for SQL Server 的先決條件
建立 RDS Custom to SQL Server 資料庫執行個體之前,請確定您的環境符合本主題中所述的需求。您也可以使用 CloudFormation 範本來設定 AWS 帳戶. 如需更多資訊,請參閱配置 AWS CloudFormation
適用於 SQL 伺服器的 RDS 自訂需要您設定下列必要條件:
設定建立執行個體所需的 AWS Identity and Access Management (IAM) 許可。這是向 RDS 發出
create-db-instance
請求所需的 AWS Identity and Access Management (IAM) 使用者或角色。-
為 SQL Server 資料庫執行個體設定 RDS 自訂所需的先決條件資源:
-
設定 RDS 自訂執行個體加密所需的 AWS KMS 金鑰。RDS Custom 需要在建立執行個體時使用客戶受管金鑰以進行加密。KMS 金鑰 ARN、識別碼、別名 ARN 或別名名稱會做為建立 RDS 自訂資料庫執行個體的請求中的
kms-key-id
參數傳遞。 在 SQL Server 資料庫執行個體的 RDS 自訂中設定所需的權限。RDS Custom 會在建立時將執行個體設定檔附加至資料庫執行個體,並將其用於資料庫執行個體內的自 RDS 自訂建立要求
custom-iam-instance-profile
中的執行個體設定檔名稱設定為。您可以透過建立執行個體設定檔,也可 AWS Management Console 以手動建立執行個體設定檔。如需詳細資訊,請參閱 自動建立執行個體設定檔,使 AWS Management Console 及 手動建立 IAM 角色和執行個體設定檔。根據適用於 SQL 伺服器的 RDS 自訂需求設定網路設定。RDS 自訂執行個體位於您在建立執行個體時提供的子網路 (使用資料庫子網路群組設定) 中。這些子網路必須允許 RDS 自訂執行個體與 RDS 自動化所需的服務通訊。
-
注意
針對上述需求,請確定沒有任何服務控制原則 (SCP) 限制帳戶層級權限。
如果您正在使用的帳戶是 AWS 組織的一部分,則可能會有限制帳戶層級許可的服務控制政策 (SCP)。確保 SCP 不會限制您使用下列程序所建立使用者與角色上的許可。
如需 SCP 的詳細資訊,請參閱《AWS Organizations 使用者指南》中的服務控制政策 (SCP)。使用描述-組織 AWS CLI 命令來檢查您的帳戶是否為組織的一部分。 AWS
若要取得有關「Organ AWS izations」的更多資訊,請參閱《AWS Organizations 使用指南》中的〈Organ AWS izations〉
如需適用於 RDS Custom for SQL Server 的一般需求,請參閱 RDS Custom for SQL Server 的一般需求。
自動建立執行個體設定檔,使 AWS Management Console
RDS 自訂需要您建立並設定執行個體設定檔,以啟動任何適用於 SQL Server 資料庫執行個體的 RDS 自訂。使用在 AWS Management Console 單一步驟中建立和附加新執行個體設定檔。此選項位於 [建立資料庫]、[還原快照] 和 [還原到時間主控台] 頁面中的 [RDS 自訂安全性] 區段下提供。選擇 [建立新執行個體設定檔] 以提供執行個體設定檔名稱尾碼。會 AWS Management Console 建立具有 RDS 自動化工作所需權限的新執行個體設定檔。若要自動建立新的執行個體設定檔,您的登入 AWS Management Console 使用者必須擁有iam:CreateInstanceProfile
、iam:AddRoleToInstanceProfile
iam:CreateRole
、和iam:AttachRolePolicy
權限。
注意
此選項僅在中可用 AWS Management Console。如果您使用 CLI 或 SDK,請使用 RDS 自訂提供的 CloudFormation 範本或手動建立執行個體設定檔。如需詳細資訊,請參閱 手動建立 IAM 角色和執行個體設定檔。
步驟 1:將所需許可授予 IAM 主體
請確定您擁有足夠的存取權來建立 RDS 自訂執行個體。使用主控台或 CLI 建立適用於 SQL Server 資料庫執行個體的 RDS 自訂 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 自訂會在建立執行個體時使用這些權限。這些權限會在您的帳戶中設定 RDS 自訂作業所需的資源。
如需
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 主體需要下列額外許可才能與自訂引擎版本 (CEV) 搭配使用:
{ "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 執行個體所需資源層級許可的詳細資訊,請參閱 Launch 執行個體 () RunInstances。
此外,IAM 主體在 IAM 角色上需要 iam:PassRole
許可。這必須連接到在請求中以 custom-iam-instance-profile
參數傳遞的執行個體,才能建立 RDS Custom 資料庫執行個體。稍後會在 步驟 2:設定網路、執行個體設定檔和加密 中建立執行個體設定檔及其連接的角色。
注意
確保先前列出的許可不受服務控制政策 (SCP)、許可界限或與 IAM 主體相關聯之工作階段政策的限制。
步驟 2:設定網路、執行個體設定檔和加密
您可以使用下列其中一個程序來設定 IAM 執行個體設定檔角色、虛擬私有雲 (VPC) 和 AWS KMS 對稱加密金鑰:
注意
如果您的帳戶屬於任何帳戶 AWS Organizations,請確定執行個體設定檔角色所需的權限不受服務控制政策 (SCP) 的限制。
本主題中的網路組態最適用於無法公開存取的資料庫執行個體。您無法從 VPC 外部直接連線到此類資料庫執行個體。
配置 AWS CloudFormation
若要簡化設定,您可以使用 AWS CloudFormation 範本檔案建立 CloudFormation堆疊。 CloudFormation 範本會根據 RDS Custom 的需求,建立所有網路、執行個體設定檔和加密資源。
若要瞭解如何建立堆疊,請參閱AWS CloudFormation 使用者指南中的在 AWS CloudFormation 主控台上建立堆疊。
如需有關如何使用 AWS CloudFormation 範本啟動適用於 SQL 伺服器的 Amazon RDS 自訂教學課程,請參閱使用AWS 資料庫部落格中的 AWS CloudFormation 範本開始使用 SQL 伺服器的 Amazon RDS 自
所需的參數 CloudFormation
若要設定 RDS 自訂必要條件資源,需要下列參數 CloudFormation:
參數群組 | 參數名稱 | 預設值 | 描述 |
---|---|---|---|
可用性組態 | 選取必要條件設定的可用性組態 | Multi-AZ | 指定要在單一同步備份或異地同步備份組態中為 RDS 自訂執行個體設定先決條件。如果在此組態中至少需要一個異地同步備份資料庫執行個體,則應使用異地同步備份組態 |
網路組態 | 適用於 VPC 雲端的 IPv4 CIDR 區塊 | 10.0.0.0/16 | 指定 VPC 的 IPv4 CIDR 區塊 (或 IP 位址範圍)。此 VPC 設定為建立和使用 RDS 自訂資料庫執行個體。 |
適用於 2 個私有子網路中的第 1 個的 IPv4 CIDR 區塊 | 10.0.128.0/20 | 為您的第一個私有子網路指定 IPv4 CIDR 區塊 (或 IP 位址範圍)。這是可以在其中建立 RDS 自訂資料庫執行個體的兩個子網路之一。這是一個無法訪問互聯網的私有子網。 |
|
適用於 2 個私有子網路的 IPv4 CIDR 區塊 (共 2 個) | 10.0.144.0/20 | 指定第二個私有子網路的 IPv4 CIDR 區塊 (或 IP 位址範圍)。這是可以在其中建立 RDS 自訂資料庫執行個體的兩個子網路之一。這是一個無法訪問互聯網的私有子網。 |
|
適用於公有子網路的 IPv4 CIDR 區塊 | 10.0.0.0/20 | 為您的公用子網路指定 IPv4 CIDR 區塊 (或 IP 位址範圍)。這是 EC2 執行個體可以與 RDS 自訂資料庫執行個體連線的子網路之一。這是一個可以訪問互聯網的公共子網。 |
|
RDP 存取組態 | 您的來源的 IPv4 CIDR 區塊 | ‐ | 指定來源的 IPv4 CIDR 區塊 (或 IP 位址範圍)。這是您在公有子網路中建立 RDP 連線至 EC2 執行個體的 IP 範圍。如果未設定,則不會設定與 EC2 執行個體的 RDP 連線。 |
安裝 RDS 的 RDP 存取自訂 SQL 伺服器執行個體 | 否 | 指定是否啟用從 EC2 執行個體到適用於 SQL 伺服器執行個體的 RDS 自訂 RDP 連線。依預設,不會設定從 EC2 執行個體到資料庫執行個體的 RDP 連線。 |
使用預設設定成功建立 CloudFormation 堆疊會在您的中建立下列資源 AWS 帳戶:
-
對稱加密 KMS 金鑰,用於加密由 RDS Custom 管理的資料。
-
執行個體設定檔與 IAM 角色相關聯,
AmazonRDSCustomInstanceProfileRolePolicy
以提供 RDS 自訂所需的許可。如需詳細資訊,請參閱《AWS 受管原則參考指南》CustomServiceRolePolicy中的 AmazonRDS。 -
將 CIDR 範圍指定為參數的 CloudFormation 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 自訂執行個體。
-
為 VPC 設定的 DHCP 選項,其網域名稱會解析為 Amazon Domain Name System (DNS) 伺服器。
-
與兩個私有子網路相關聯且無法存取網際網路的路由表。
路由表與公共子網關聯,並可以訪問互聯網。
與 VPC 相關聯的網際網路閘道,可允許網際網路存取公有子網路。
-
與兩個私有子網路相關聯的網路存取控制清單 (ACL),並在 VPC 中限制存取 HTTPS 和資料庫連接埠。
-
與 RDS Custom 執行個體相關聯的 VPC 安全群組。從 EC2 執行個體安全群組 RDS 自訂資料庫連接埠和傳入資料庫連接埠所需的 AWS 服務 端點,對外 HTTPS 的存取受到限制。
要與公有子網路中 EC2 執行個體相關聯的 VPC 安全群組。對 RDS 自訂執行個體安全性群組的輸出資料庫連接埠存取受到限制。
-
要與針 AWS 服務 對 RDS 自訂所需之端點建立的 VPC 端點相關聯的 VPC 安全性群組。
-
在其中建立 RDS Custom 執行個體的資料庫子網路群組。由此範本建立的兩個私人子網路會新增至資料庫子網路群組。
-
RDS 自訂所需之每個 AWS 服務 端點的 VPC 端點。
將可用性組態設定為異地同步備份除了上述清單之外,還會建立下列資源:
允許私有子網路之間通訊的網路 ACL 規則。
對與 RDS 自訂執行個體關聯的 VPC 安全性群組內異地同步備份連接埠的輸入和輸出存取。
VPC 端點對異地同步備份通訊所需的 AWS 服務端點。
此外,設定 RDP 存取組態會建立下列資源:
從您的來源 IP 位址設定公用子網路的 RDP 存取權:
允許從來源 IP 連線至公用子網路的 RDP 規則的網路 ACL 規則。
從來源 IP 到與 EC2 執行個體相關聯的 VPC 安全群組輸入 RDP 連接埠的存取權。
將 RDP 存取從公有子網路中的 EC2 執行個體設定為私有子網路中的 RDS 自訂執行個體:
網路 ACL 規則允許從公用子網路到私有子網路的 RDP 連線。
從與 EC2 執行個體相關聯的 VPC 安全群組到與 RDS 自訂執行個體相關聯的 VPC 安全群組對 RDP 連接埠進行輸入存取。
使用下列程序建立適用於 SQL 伺服器的 RDS 自訂 CloudFormation 堆疊。
下載 AWS CloudFormation 範本檔
下載範本檔案
-
開啟 custom-sqlserver-onboard.zip 連結的前後關聯 (按一下滑鼠右鍵) 選單,然後選擇「另存連結為」。
-
將檔案儲存並擷取到您的電腦。
使用配置資源 CloudFormation
若要使用來設定資源 CloudFormation
-
請在以下位置開啟 CloudFormation 主控台。
https://console.aws.amazon.com/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 (下一步)。
-
在「複查 rds-custom-sqlserver」頁面上,執行下列動作:
-
針對 Capabilities (功能),選取 I acknowledge that AWS CloudFormation might create IAM resources with custom names (確認可能使用自訂名稱建立 IAM 資源) 核取方塊。
-
選擇 Create Stack (建立堆疊)。
-
注意
請勿直接從資源頁面更新從此 AWS CloudFormation 堆疊建立的資源。這樣可以防止您使用 AWS CloudFormation 範本將 future 的更新套用至這些資源。
CloudFormation 建立適用於 SQL 伺服器的 RDS 自訂所需的資源。如果堆疊建立失敗,請詳讀 Events 索引標籤,查看哪些資源建立失敗及其狀態原因。
主控台中此 CloudFormation 堆疊的 [輸出] 索引標籤應包含要作為建立 SQL Server 資料庫執行個體 RDS 自訂參數傳遞的所有資源的相關資訊。請務必使用 CloudFormation 針對 RDS 自訂資料庫執行個體建立的 VPC 安全群組和資料庫子網路群組。依預設,RDS 會嘗試連接預設的 VPC 安全群組,此群組可能沒有您需要的存取權。
如果您曾經 CloudFormation 建立資源,則可以略過手動設定。
您也可以在建立之後更新 CloudFormation 堆疊上的某些組態。可以更新的配置如下:
適用於 SQL 伺服器的 RDS 自訂的可用性組態
選取必要條件設定的可用性組態:更新此參數可在單一同步備份和異地同步備份組態之間切換。如果您要將此 CloudFormation 堆疊用於至少一個異地同步備份執行個體,則必須更新堆疊以選擇異地同步備份組態。
適用於 SQL 伺服器的 RDS 自訂 RDP 存取組態
來源的 IPv4 CIDR 區塊:您可以透過更新此參數來更新來源的 IPv4 CIDR 區塊 (或 IP 位址範圍)。將此參數設定為空白,會從來源 CIDR 區塊移除 RDP 存取組態至公用子網路。
為 SQL 伺服器設定 RDS 自訂的 RDP 存取權:啟用或停用從 EC2 執行個體到適用於 SQL 伺服器執行個體的 RDS 自訂 RDP 連線。
您可以在刪除使用 CloudFormation 堆疊資源的所有 RDS 自訂執行個體之後刪除堆疊。RDS Custom 不會追蹤 CloudFormation 堆疊,因此當有使用堆疊資源的資料庫執行個體時,它不會封鎖堆疊的刪除。刪除堆疊時,請確定沒有使用堆疊資源的 RDS 自訂資料庫執行個體。
注意
刪除 CloudFormation 堆疊時,除了 KMS 金鑰外,堆疊所建立的所有資源都會遭到刪除。KMS 金鑰會進入暫緩刪除狀態,並在 30 天後刪除。若要保留 KMS 金鑰,請在 30 天寬限期內執行CancelKeyDeletion作業。
手動設定
如果您選擇手動設定資源,請執行以下任務。
注意
若要簡化設定,您可以使用 AWS CloudFormation 範本檔案來建立 CloudFormation 堆疊,而不是手動設定。如需詳細資訊,請參閱 配置 AWS CloudFormation。
您也可以使用 AWS CLI 來完成本節。如果是這樣,請下載並安裝最新的 CLI。
確定您擁有對稱式加密金鑰 AWS KMS
RDS 自訂需要 AWS KMS key 對稱加密。當您建立適用於 SQL Server 資料庫執行個體的 RDS 自訂時,請務必提供 KMS 金鑰識別碼做為參數kms-key-id
。如需詳細資訊,請參閱 建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體。
您有下列選項:
-
如果您的中有現有的客戶受管 KMS 金鑰 AWS 帳戶,您可以將其與 RDS 自訂搭配使用。無需採取進一步動作。
-
若您已為不同的 RDS Custom 引擎建立客戶受管對稱加密 KMS 金鑰,您可以重複使用相同的 KMS 金鑰。無需採取進一步動作。
-
若您的帳戶中並無現有的客戶受管對稱加密 KMS 金鑰,請藉由遵循《AWS Key Management Service 開發人員指南》中的建立金鑰來建立 KMS 金鑰。
-
如果您要建立 CEV 或 RDS 自訂資料庫執行個體,而您的 KMS 金鑰位於不同的 AWS 帳戶,請務必使用 AWS CLI. 您無法搭配跨帳戶 KMS 金鑰使用 AWS 主控台。
重要
RDS 自訂不支援 AWS 受管 KMS 金鑰。
確保您的對稱加密金鑰授kms:Decrypt
與存取 IAM 執行個體設定檔中 AWS Identity and Access Management (IAM) 角色的存取權和kms:GenerateDataKey
操作。若您的帳戶中有新的對稱加密金鑰,則不需要變更。否則,請確定對稱加密金鑰政策授予這些操作的存取權。
如需詳細資訊,請參閱 步驟 4:設定適用於 Oracle 的 RDS 自訂 IAM。
手動建立 IAM 角色和執行個體設定檔
您可以手動建立執行個體設定檔,並使用它來啟動 RDS 自訂執行個體。如果您打算在中建立執行個體 AWS Management Console,請略過本節。 AWS Management Console 可讓您建立執行個體設定檔,並將其附加至 RDS 自訂資料庫執行個體。如需詳細資訊,請參閱 自動建立執行個體設定檔,使 AWS Management Console。
手動建立執行個體設定檔時,請將執行個體設定檔名稱做為custom-iam-instance-profile
參數傳遞至 create-db-instance
CLI 指令。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 自訂執行個體傳送和接收訊息,以及執行各種自動化動作。
注意
確定存取政策中的許可不受與執行個體設定檔角色相關聯的 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 自訂 SQL 伺服器執行個體設定檔
將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 自訂資料庫執行個體的子網路存取下列服務:
-
Amazon CloudWatch
-
Amazon CloudWatch 日誌
-
Amazon CloudWatch 活動
-
Amazon EC2
-
Amazon EventBridge
-
Amazon S3
-
AWS Secrets Manager
-
AWS Systems Manager
建立異地同步備份部署
Amazon Simple Queue Service
如果 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 自訂資料庫執行個體之間的通訊涉及 VPC 元件,並 AWS 服務 符合下列需求:
-
資料庫執行個體會在連接埠 443 上對其他 AWS 服務進行傳出連線。
-
VPC 允許對來自您 RDS Custom 資料庫執行個體的請求進行傳入回應。
-
RDS Custom 可以正確解析每個 AWS 服務的端點網域名稱。
若您已經為不同的 RDS Custom 資料庫引擎設定 VPC,您可重複使用該 VPC 並略過此程序。
設定您的 VPC 安全群組
安全群組會做為 VPC 執行個體的虛擬防火牆,控制傳入及傳出流量。RDS 自訂資料庫執行個體具有連接到其網路介面的安全群組,以保護執行個體。請確定您的安全性群組允許 RDS 自訂和其他 AWS 服務 透過 HTTPS 之間的流量。您可以在執行個體建立要求中傳遞這個安全性群組做為vpc-security-group-ids
參數。
若要設定 RDS Custom 的安全群組
-
登入 AWS Management Console 並開啟 Amazon VPC 主控台,網址為 https://console.aws.amazon.com/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 端點。
-
對於 SQL Server 異地同步備份執行個體的 RDS 自訂,請確定與資料庫執行個體關聯的安全群組允許連接埠 1120 上的輸入和輸出連線至此安全群組本身。這對於異地同步備份 RDS 自訂 SQL Server 資料庫執行個體上的對等主機連線是必要的。
如需安全群組的詳細資訊,請參閱《Amazon VPC 開發人員指南》中的您的 VPC 的安全群組。
設定相依項目的端點 AWS 服務
建議您使用下列指示將每個服務的端點新增至 VPC。但是,您可以使用任何可讓 VPC 與 AWS 服務端點通訊的解決方案。例如,您可以使用網路位址轉譯 (NAT) 或 AWS Direct Connect。
設定 RDS 自訂可 AWS 服務 使用的端點
前往 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽列上,使用區域選取器來選擇 AWS 區域。
-
在導覽窗格中選擇端點。在主窗格中,選擇 Create Endpoint (建立端點)。
-
對於 Service category (服務類別),選擇 AWS 服務。
-
針對 Service Name (服務名稱),選擇表格中顯示的端點。
-
在 VPC 中,選擇您的 VPC。
-
在 Subnets (子網路) 中,請從每個可用區域選擇要包含的子網路。
VPC 端點可跨越多個可用區域。 AWS 在您選擇的每個子網路中,為 VPC 端點建立 elastic network interface。每個網路界面具有網域名稱系統 (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 簡單佇列服務端點和配額。 |
設定個體中繼資料服務
請確定您的執行個體可以執行下列操作:
-
使用執行個體中繼資料服務版本 2 (IMDSv2) 存取執行個體中繼資料服務。
-
允許透過連接埠 80 (HTTP) 與 IMDS 連結 IP 地址進行傳出通訊。
-
從
http://169.254.169.254
(IMDSv2 連結) 要求執行個體中繼資料。
如需詳細資訊,請參閱 Amazon EC2 使用者指南中的使用 IMDSv2。
跨執行個體限制
當您依照上述步驟建立執行個體設定檔時,它會使用 AWS 受管理的原則AmazonRDSCustomInstanceProfileRolePolicy
來提供 RDS Custom 所需的權限,讓執行個體管理和監控自動化。受管理的原則可確保權限僅允許存取 RDS Custom 執行自動化所需的資源。我們建議您使用受管政策來支援新功能,並解決安全性需求,這些安全性需求會自動套用至現有的執行個體設定檔,無需 如需詳細資訊,請參閱AWS 受管政策:亞馬遜 R DSCusto m. InstanceProfileRolePolicy
受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 自訂的任何權限。