跨帳戶和區域啟用預設政策 - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

跨帳戶和區域啟用預設政策

您可以使用 AWS CloudFormation StackSets,透過單一操作,跨多個帳戶和 AWS 區域啟用 Amazon Data Lifecycle Manager 預設政策。

您可以透過下列其中一種方式使用堆疊集來啟用預設原則:

  • 整個 AWS 組織 — 確保在整個組織或組織中的特定 AWS 組織單位中,啟用和配置一致的預設策略。這是使用服務管理的權限來完成的。 AWS CloudFormation StackSets 代表您建立必要的 IAM 角色。

  • 跨特定 AWS 帳號 — 確保在特定目標帳戶之間啟用和配置預設策略一致。這需要自我管理的權限。您可以建立堆疊集管理員帳戶與目標帳戶之間建立信任關係所需的 IAM 角色。

如需詳細資訊,請參閱《AWS CloudFormation 使用指南》中的堆疊集的權限模型

使用下列程序在整個 AWS 組織、特定 OU 或特定目標帳戶之間啟用 Amazon Data Lifecycle Manager 預設政策。

必要條件

根據您啟用預設原則的方式,執行下列其中一項作業:

Console
若要跨 AWS 組織或特定目標帳戶啟用預設策略
  1. 開啟主 AWS CloudFormation 控台,網址為 https://console.aws.amazon.com/cloudformation

  2. 在導覽窗格中,選擇 StackSets,然後選擇「建立」 StackSet。

  3. 針對「權限」,根據您啟用預設原則的方式,執行下列其中一項作業:

    • (跨 AWS 組織) 選擇服務管理的權限

    • (跨特定目標帳戶) 選擇自助服務權限。然後,對於 IAM 管理員角色 ARN,請選取您為管理員帳戶建立的 IAM 服務角色,對於 IAM 執行角色名稱,請輸入您在目標帳戶中建立的 IAM 服務角色的名稱。

  4. 在「準備範本」中,選擇「使用範例範本」。

  5. 對於範例範本,請執行下列任一項作業:

    • (EBS 快照的預設政策) 選取建立 Amazon Data Lifecycle Manager EBS 快照的預設政策

    • (EBS 支援 AMI 的預設政策) 選取為 EBS 支援 AMI 建立 Amazon Data Lifecycle Manager 的預設政策

  6. 選擇下一步

  7. 對於StackSet 名稱StackSet 說明,請輸入描述性名稱和簡短描述。

  8. 在 [參數] 區段中,視需要設定預設原則設定。

    注意

    對於關鍵工作負載,我們建議 CreateInterval = 1 天RetainInterval = 7 天

  9. 選擇下一步

  10. (選擇性) 對於標籤,請指定標籤以協助您識別 StackSet 和堆疊資源。

  11. 針對受管理的執行,選擇作用中

  12. 選擇下一步

  13. Add stacks to stack set (將堆疊新增至堆疊集) 中,選擇 Deploy new stacks (部署新堆疊)。

  14. 根據您啟用預設原則的方式,執行下列其中一項作業:

    • (跨 AWS 組織) 若為「部署」目標,請選擇下列其中一個選項:

      • 若要在整個 AWS 組織中部署,請選擇「部署至組織」。

      • 若要部署到特定的組織單位 (OU),請選擇 [部署至組織單位],然後針對 OU ID 輸入 OU ID。若要新增其他 OU,請選擇 [新增其他 OU]。

    • (跨特定目標帳戶) 對於「帳戶」,請執行下列其中一項作業:

      • 若要部署到特定目標帳戶,請選擇「在帳戶中部署堆疊」,然後針對「帳號」輸入目標帳戶的 ID。

      • 若要部署到特定 OU 中的所有帳戶,請選擇 [將堆疊部署到組織單位中的所有帳戶],然後針對 [組織編號] 輸入目標 OU 的 ID。

  15. 對於「自動部署」,選擇「已啟

  16. 對於帳戶移除行為,請選擇 [保留堆疊]。

  17. 指定區域中,選取要啟用預設原則的特定區域,或選擇新增所有區域以啟用所有區域中的預設原則。

  18. 選擇下一步

  19. 檢閱堆疊集設定,選取 [我確認 AWS CloudFormation 可能會建立 IAM 資源],然後選擇 [提交]。

AWS CLI
若要在整個 AWS 組織中啟用預設原則
  1. 建立堆疊組。使用創建堆棧集命令

    對於 --permission-model,請指定 SERVICE_MANAGED

    針對--template-url,指定下列其中一個範本 URL:

    • (EBS 支援 AMI 的預設政策) https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/DataLifecycleManagerAMIDefaultPolicy.yaml

    • (EBS 快照的預設原則) https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/DataLifecycleManagerEBSSnapshotDefaultPolicy.yaml

    對於--parameters,指定預設策略的設定。如需支援的參數、參數描述和有效值,請使用 URL 下載範本,然後使用文字編輯器檢視範本。

    對於 --auto-deployment,請指定 Enabled=true, RetainStacksOnAccountRemoval=true

    $ aws cloudformation create-stack-set \ --stack-set-name stackset_name \ --permission-model SERVICE_MANAGED \ --template-url template_url \ --parameters "ParameterKey=param_name_1,ParameterValue=param_value_1" "ParameterKey=param_name_2,ParameterValue=param_value_2" \ --auto-deployment "Enabled=true, RetainStacksOnAccountRemoval=true"
  2. 部署堆疊集。使用創建堆棧實例命令

    對於--stack-set-name,指定您在上一個步驟中建立的堆疊組名稱。

    針對--deployment-targets OrganizationalUnitIds,指定要部署至整個組織的根 OU 識別碼,或指定要部署至組織中特定 OU 的 OU ID。

    對於--regions,指定要在其中啟用預設原則的 AWS 區域。

    $ aws cloudformation create-stack-instances \ --stack-set-name stackset_name \ --deployment-targets OrganizationalUnitIds='["root_ou_id"]' | '["ou_id_1", "ou_id_2]' \ --regions '["region_1", "region_2"]'
在特定目標帳戶間啟用預設策略
  1. 建立堆疊組。使用創建堆棧集命令

    針對--template-url,指定下列其中一個範本 URL:

    • (EBS 支援 AMI 的預設政策) https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/DataLifecycleManagerAMIDefaultPolicy.yaml

    • (EBS 快照的預設原則) https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/DataLifecycleManagerEBSSnapshotDefaultPolicy.yaml

    針對--administration-role-arn,指定您先前為堆疊集管理員建立的 IAM 服務角色的 ARN。

    針對--execution-role-name,指定您在目標帳戶中建立的 IAM 服務角色名稱。

    對於--parameters,指定預設策略的設定。如需支援的參數、參數描述和有效值,請使用 URL 下載範本,然後使用文字編輯器檢視範本。

    對於 --auto-deployment,請指定 Enabled=true, RetainStacksOnAccountRemoval=true

    $ aws cloudformation create-stack-set \ --stack-set-name stackset_name \ --template-url template_url \ --parameters "ParameterKey=param_name_1,ParameterValue=param_value_1" "ParameterKey=param_name_2,ParameterValue=param_value_2" \ --administration-role-arn administrator_role_arn \ --execution-role-name target_account_role \ --auto-deployment "Enabled=true, RetainStacksOnAccountRemoval=true"
  2. 部署堆疊集。使用創建堆棧實例命令

    對於--stack-set-name,指定您在上一個步驟中建立的堆疊組名稱。

    對於--accounts,指定目標 AWS 帳戶的 ID。

    對於--regions,指定要在其中啟用預設原則的 AWS 區域。

    $ aws cloudformation create-stack-instances \ --stack-set-name stackset_name \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["region_1", "region_2"]'