本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
跨账户和区域启用 Data Lifecycle Manager 默认策略
使用 AWS CloudFormation StackSets,您只需一次操作即可在多个账户和 AWS 地区启用亚马逊数据生命周期管理器默认策略。
您可以使用堆栈集通过以下方式之一启用默认策略:
-
在整个 AWS 组织中-确保在整个 AWS 组织或组织中的特定组织单位中统一启用和配置默认策略。这是使用服务管理权限完成的。 AWS CloudFormation StackSets 代表您创建所需的 IAM 角色。
-
跨特定 AWS 账户-确保在特定目标账户中一致启用和配置默认策略。这需要自行管理权限。您可以创建在堆栈集管理员账户和目标账户之间建立信任关系所需的 IAM 角色。
有关更多信息,请参阅《AWS CloudFormation 用户指南》中的堆栈集的权限模型。
使用以下过程在整个 AWS 组织、特定或特定目标账户中启用 Amazon Data Lifecy OUs cle Manager 的默认策略。
先决条件
根据启用默认策略的方式,执行以下操作之一:
-
(跨 AWS 组织)您必须启用组织中的所有功能并使用激活可信访问权限 AWS Organizations。您还必须使用组织的管理账户或委派管理员账户。
-
(跨特定目标账户)您必须通过创建在堆栈集管理员账户和目标账户之间建立信任关系所需的角色来授予自行管理权限。
- Console
-
跨 AWS 组织或跨特定目标账户启用默认策略
-
在 https://console.aws.amazon.com/cloudformat
ion 上打开 AWS CloudFormation 控制台。 -
在导航窗格中,选择 StackSets,然后选择创建 StackSet。
-
对于权限,根据启用默认策略的方式,执行以下操作之一:
-
(在整个 AWS 组织中)选择服务管理权限。
-
(跨特定目标账户)选择自助服务权限。然后,对于 IAM 管理员角色 ARN,选择您为管理员账户创建的 IAM 服务角色,对于 IAM 执行角色名称,输入您在目标账户中创建的 IAM 服务角色的名称。
-
-
对于准备模板,选择使用示例模板。
-
对于示例模板,执行以下操作之一:
-
(EBS 快照的默认策略)选择为 EBS 快照创建 Amazon Data Lifecycle Manager 默认策略。
-
(EBS 支持的默认策略 AMIs)选择 EBS 支持的创建 Amazon Data Lifecycle Manager 的默认策略。 AMIs
-
-
选择下一步。
-
在StackSet 名称和StackSet 描述中,输入描述性名称和简短描述。
-
在参数部分,根据需要配置默认策略设置。
注意
对于关键工作负载,我们建议 CreateInterval = 1 天和 RetainInterval = 7 天。
-
选择下一步。
-
(可选)在 “标签” 中,指定标签以帮助您识别 StackSet 和堆栈资源。
-
对于托管执行,选择活动。
-
选择下一步。
-
对于 Add stacks to stack set(将堆栈添加到堆栈集),选择 Deploy new stacks(部署新堆栈)。
-
根据启用默认策略的方式,执行以下操作之一:
-
(跨 AWS 组织)对于部署目标,请选择以下选项之一:
-
要在整个 AWS 组织中部署,请选择部署到组织。
-
要部署到特定组织单位(OU),请选择部署到组织单位,然后在 OU ID 中输入 OU ID。要添加其他 OUOUs,请选择添加另一个 OU。
-
-
(跨特定目标账户)对于账户,执行以下操作之一:
-
要部署到特定的目标账户,请选择在账户中部署堆栈,然后在账户号中 IDs 输入目标账户的。
-
要部署到特定 OU 中的所有账户,选择将堆栈部署到组织单位中的所有账户,然后对于组织编号,输入目标 OU 的 ID。
-
-
-
对于自动部署,选择已激活。
-
对于账户删除行为,选择保留堆栈。
-
对于指定区域,选择要在其中启用默认策略的特定区域,或者选择添加所有区域以在所有区域中启用默认策略。
-
选择下一步。
-
查看堆栈集设置,选择我确认 AWS CloudFormation 可能会创建 IAM 资源,然后选择提交。
-
- AWS CLI
-
在整个 AWS 组织中启用默认策略
-
创建堆栈集。使用 create-stack-set
命令。 对于
--permission-model
,请指定SERVICE_MANAGED
。对于
--template-url
,请指定以下模板之一 URLs:-
(EBS AMIs 支持的默认策略)
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-namestackset_name
\ --permission-model SERVICE_MANAGED \ --template-urltemplate_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 或要部署 IDs 到组织 OUs 中的特定组织的 OU 的 ID。对于
--regions
,请指定要在其中启用默认策略的 AWS 区域。$
aws cloudformation create-stack-instances \ --stack-set-namestackset_name
\ --deployment-targets OrganizationalUnitIds='["root_ou_id"]'
|'["ou_id_1", "ou_id_2]'
\ --regions '["region_1
", "region_2
"]'
在特定目标账户中启用默认策略
-
创建堆栈集。使用 create-stack-set
命令。 对于
--template-url
,请指定以下模板之一 URLs:-
(EBS AMIs 支持的默认策略)
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-namestackset_name
\ --template-urltemplate_url
\ --parameters "ParameterKey=param_name_1
,ParameterValue=param_value_1
" "ParameterKey=param_name_2
,ParameterValue=param_value_2
" \ --administration-role-arnadministrator_role_arn
\ --execution-role-nametarget_account_role
\ --auto-deployment "Enabled=true, RetainStacksOnAccountRemoval=true" -
-
部署堆栈集。使用 create-stack-instances
命令。 对于
--stack-set-name
,指定您在上一步中创建的堆栈集的名称。对于
--accounts
,请 IDs 指定目标 AWS 帐户的。对于
--regions
,请指定要在其中启用默认策略的 AWS 区域。$
aws cloudformation create-stack-instances \ --stack-set-namestackset_name
\ --accounts '["account_ID_1
","account_ID_2
"]' \ --regions '["region_1
", "region_2
"]'
-