Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用跨账户和地区的默认政策
使用 Amazon CloudFormation StackSets,您只需一次操作即可在多个账户和 Amazon 地区启用亚马逊数据生命周期管理器默认策略。
您可以通过以下方式之一使用堆栈集来启用默认策略:
-
在整个 Amazon 组织中-确保在整个 Amazon 组织或组织中的特定组织单位中统一启用和配置默认策略。这是使用服务管理权限完成的。 Amazon CloudFormation StackSets 代表您创建所需的 IAM 角色。
-
跨特定 Amazon 账户-确保在特定目标账户中一致启用和配置默认策略。这需要自我管理的权限。您可以创建在堆栈集管理员账户和目标账户之间建立信任关系所需的 IAM 角色。
有关更多信息,请参阅《Amazon CloudFormation 用户指南》中的堆栈集权限模型。
使用以下过程在整个 Amazon 组织、特定 OU 或特定目标账户中启用 Amazon Data Lifecycle Manager 的默认策略。
先决条件
根据您启用默认策略的方式,执行以下任一操作:
- Console
-
跨 Amazon 组织或跨特定目标账户启用默认策略
-
打开 Amazon CloudFormation 控制台,网址为 https://console.aws.amazon.com/cloudformation。
-
在导航窗格中,选择 StackSets,然后选择创建 StackSet。
-
对于权限,根据启用默认策略的方式,执行以下任一操作:
-
在 “准备模板” 中,选择 “使用示例模板”。
-
对于示例模板,请执行以下任一操作:
-
选择下一步。
-
在StackSet 名称和StackSet 描述中,输入描述性名称和简短描述。
-
在 “参数” 部分,根据需要配置默认策略设置。
对于关键工作负载,我们建议 CreateInterval = 1 天和 RetainInterval = 7 天。
-
选择下一步。
-
(可选)在 “标签” 中,指定标签以帮助您识别 StackSet 和堆栈资源。
-
对于托管执行,请选择活动。
-
选择下一步。
-
对于 Add stacks to stack set(将堆栈添加到堆栈集),选择 Deploy new stacks(部署新堆栈)。
-
根据您启用默认策略的方式,执行以下任一操作:
-
对于自动部署,请选择已激活。
-
对于账户删除行为,请选择保留堆栈。
-
在 “指定区域” 中,选择要在其中启用默认策略的特定区域,或者选择添加所有区域以在所有区域中启用默认策略。
-
选择下一步。
-
查看堆栈集设置,选择我确认 Amazon CloudFormation 可能会创建 IAM 资源,然后选择提交。
- Amazon CLI
-
在整个 Amazon 组织中启用默认策略
-
创建堆栈集。使用 create-stack-se t 命令。
对于 --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"
-
部署堆栈集。使用 create-stack-instances 命令。
对于--stack-set-name
,请指定您在上一步中创建的堆栈集的名称。
对于--deployment-targets OrganizationalUnitIds
,指定要部署到整个组织的根 OU 的 ID,或者指定要部署到组织中特定 OU 的 OU ID。
对于--regions
,请指定要在其中启用默认策略的 Amazon 区域。
$
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
"]'
为特定目标账户启用默认策略
-
创建堆栈集。使用 create-stack-se t 命令。
对于--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"
-
部署堆栈集。使用 create-stack-instances 命令。
对于--stack-set-name
,请指定您在上一步中创建的堆栈集的名称。
对于--accounts
,请指定目标 Amazon 帐户的 ID。
对于--regions
,请指定要在其中启用默认策略的 Amazon 区域。
$
aws cloudformation create-stack-instances \
--stack-set-name stackset_name
\
--accounts '["account_ID_1
","account_ID_2
"]' \
--regions '["region_1
", "region_2
"]'