关于存储在 Amazon S3 中的配置 - AWS AppConfig
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

关于存储在 Amazon S3 中的配置

您可以在 Amazon Simple Storage Service (Amazon S3) 存储桶中存储配置。在创建配置文件时,将指定存储桶中单个 S3 对象的 URI。您还将指定 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称 (ARN),该角色向 AWS AppConfig 授予获取对象的权限。在为 Amazon S3 对象创建配置文件之前,请注意以下限制。

限制 Details (详细信息)。

Size

存储为 S3 对象的配置的最大大小可以为 1 MB。

Object encryption

配置文件无法以加密的 S3 对象为目标。

存储类

AWS AppConfig 支持以下S3存储类: STANDARDINTELLIGENT_TIERINGREDUCED_REDUNDANCYSTANDARD_IA,和 ONEZONE_IA。不支持以下类别: 所有S3冰川类别(GLACIERDEEP_ARCHIVE)。

版本控制

AWS AppConfig 要求 S3 对象使用版本控制。

配置存储为 Amazon S3 对象的配置的权限

在为存储为 S3 对象的配置创建配置文件时,您必须为 IAM 角色指定 ARN,该角色向 AWS AppConfig 授予获取对象的权限。该角色必须包括以下权限。

对 S3 对象的访问权限

  • s3:GetObject

  • s3:GetObjectVersion

列出 S3 存储桶的权限

s3:ListAllMyBuckets

对用于存储对象的 S3 存储桶的访问权限

  • s3:GetBucketLocation

  • s3:GetBucketVersioning

  • s3:ListBucket

  • s3:ListBucketVersions

完成以下过程可创建一个角色,该角色使 AWS AppConfig 能够获取存储在 S3 对象中的配置。

创建用于访问 S3 对象的 IAM 策略

使用以下过程可创建一个 IAM 策略,该策略使 AWS AppConfig 能够获取存储在 S3 对象中的配置。

创建用于访问 S3 对象的 IAM 策略

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择策略,然后选择创建策略

  3. 创建策略页面上,选择 JSON 选项卡。

  4. 使用有关 S3 存储桶和配置对象的信息更新以下示例策略。然后将策略粘贴到 JSON 选项卡上的文本字段中。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::my-bucket/my-configurations/my-configuration.json" }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-bucket" ] }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
  5. 选择查看策略

  6. Review policy (查看策略) 页面上,在 Name (名称) 框中键入名称,然后键入描述。

  7. 选择 Create policy (创建策略)。系统将让您返回到角色页。

创建用于访问 S3 对象的 IAM 角色

使用以下过程可创建一个 IAM 角色,该角色使 AWS AppConfig 能够获取存储在 S3 对象中的配置。

创建用于访问 Amazon S3 对象的 IAM 角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles (角色),然后选择 Create Role (创建角色)

  3. Select type of trusted entity (选择受信任实体的类型) 部分中,选择 AWS service (AWS 服务)

    
                                在 AWS IAM 角色页面上选择 AWS 服务
  4. 选择使用案例 章节, 常用用例,选择 EC2,然后选择 下一步: Permissions (权限)

  5. Attach permissions policy (附加权限策略) 页面上的搜索框中,输入您在上一过程中创建的策略的名称。

  6. 选择政策,然后选择 下一步: 标签

  7. Add tags (optional) (添加标签(可选)) 页面上,输入密钥和可选值,然后选择 Next: Review (下一步: 审核)

  8. Review (审核) 页面上,在 Role name (角色名称) 字段中键入名称,然后键入描述。

  9. 选择创建角色。系统将让您返回到角色页。

  10. 角色页面中,选择刚刚创建的角色以打开摘要页面。记下角色名称角色 ARN。在本主题的后面部分中创建配置文件时,您将指定角色 ARN。

    
                                复制 IAM 角色的 ARN

创建信任关系

使用以下过程将您刚刚创建的角色配置为信任 AWS AppConfig。

添加信任关系

  1. 在刚刚创建的角色的摘要页面上,选择信任关系选项卡,然后选择编辑信任关系

  2. 删除 "ec2.amazonaws.com" 并添加 "appconfig.amazonaws.com",如以下示例所示。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  3. 选择 Update Trust Policy