本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 3 步:创建配置配置文件和功能标志
配置 是一组影响应用程序行为的设置。一个配置文件启用Amazon AppConfig以访问你的配置。配置文件包含以下信息。
-
存储配置的 URI 位置。
-
这些区域有:Amazon Identity and Access Management提供对配置的访问权限的 (IAM) 角色。
-
配置数据的验证程序。您可以使用 JSON 架构或 Amazon Lambda 函数验证配置文件。配置文件最多可以具有两个验证程序。
Amazon AppConfig支持以下类型的配置文件。
-
功能标志:使用功能标志配置启用要求及时部署的新功能,例如产品发布或公告。
-
自由格式:使用自由格式配置仔细引入对应用程序的更改。
示例配置
使用Amazon AppConfig
配置功能标志
以下功能标志配置基于每个区域启用或禁用移动支付和默认付款。
运行配置
以下操作配置对应用程序处理请求的方式实施限制。
访问控制列表配置
以下访问控制列表配置指定哪些用户或组可以访问应用程序。
关于配置文件 IAM 角色
您可以使用创建提供配置数据访问权限的 IAM 角色。Amazon AppConfig,如以下过程所述。或者,您可以自行创建 IAM 角色并从列表中选择它。如果使用 Amazon AppConfig 创建角色,系统将根据所选的配置源类型创建角色并指定以下权限策略之一。
配置源是 SSM 文档
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetDocument" ], "Resource": [ "arn:aws:ssm:
Amazon-Region
:account-number
:document/document-name
" ] } ] }
配置源是参数存储参数
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": [ "Arn:aws:ssm:
Amazon-Region
:account-number
:parameter/parameter-name
" ] } ] }
如果使用 Amazon AppConfig 创建角色,系统还会为角色创建以下信任关系。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
关于存储在 Amazon S3 中的配置
您可以将配置存储在 Amazon Simple Storage Service (Amazon S3) 存储桶中。在创建配置文件时,将指定存储桶中单个 S3 对象的 URI。您还可以指定的 Amazon 资源名称 (ARN)Amazon Identity and Access Management(IAM) 角色赋予Amazon AppConfig获取对象的权限。在为 Amazon S3 对象创建配置文件之前,请注意以下限制。
限制 | 详细信息 |
---|---|
Size |
存储为 S3 对象的配置的最大大小可以为 1 MB。 |
Object encryption |
配置文件只能以 SSE-S3 加密的对象为目标。 |
存储类 |
Amazon AppConfig 支持以下 S3 存储类别: |
版本控制 |
Amazon AppConfig 要求 S3 对象使用版本控制。 |
配置存储为 Amazon S3 对象的配置的权限。
在为存储为 S3 对象的配置创建配置文件时,您必须为 IAM 角色指定 ARN,该角色向提供Amazon AppConfig获取对象的权限。该角色必须包括以下权限。
对 S3 对象的访问权限
-
s3:GetObject
-
s3:GetObjectVersion
列出 S3 存储桶的权限
s3:ListAllMyBuckets
对用于存储对象的 S3 存储桶的访问权限
-
s3:GetBucketLocation
-
s3:GetBucketVersioning
-
s3:ListBucket
-
s3:ListBucketVersions
完成以下过程可创建一个角色,该角色使 Amazon AppConfig 能够获取存储在 S3 对象中的配置。
创建用于访问 S3 对象的 IAM 策略
使用以下过程创建启用的 IAM 策略。Amazon AppConfig以获取存储在 S3 对象中的配置。
创建用于访问 S3 对象的 IAM 策略
访问:https://console.aws.amazon.com/iam/
,打开 IAM 控制台。 -
在导航窗格中,选择 Policies (策略),然后选择 Create policy (创建策略)。
-
在创建策略页面上,选择 JSON 选项卡。
-
使用有关 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": "*" } ] } -
选择 Review policy (审核策略)。
-
在 Review policy (查看策略) 页面上,在 Name (名称) 框中键入名称,然后键入描述。
-
选择 Create policy(创建策略)。系统将让您返回到 Roles (角色) 页面。
创建用于访问 S3 对象的 IAM 角色
使用以下过程创建启用 IAM 角色。Amazon AppConfig以获取存储在 S3 对象中的配置。
创建用于访问 Amazon S3 对象的 IAM 角色
访问:https://console.aws.amazon.com/iam/
,打开 IAM 控制台。 -
在导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)。
-
在存储库的选择受信任实体的类型部分中,选择Amazon服务.
-
在选择使用案例部分下,常见用例,选择EC2,然后选择后续:Permissions (下一步:权限)。
-
在 Attach permissions policy (附加权限策略) 页面上的搜索框中,输入您在上一过程中创建的策略的名称。
-
选择该策略,然后选择后续:标签。
-
在 Add tags (optional) (添加标签(可选)) 页面上,输入密钥和可选值,然后选择 Next: Review (下一步: 审核)。
-
在 Review (审核) 页面上,在 Role name (角色名称) 字段中键入名称,然后键入描述。
-
选择 Create role (创建角色)。系统将让您返回到 Roles (角色) 页面。
-
在角色页面中,选择刚刚创建的角色以打开摘要页面。记下角色名称和角色 ARN。在本主题的后面部分中创建配置文件时,您将指定角色 ARN。
创建信任关系
使用以下过程将您刚刚创建的角色配置为信任 Amazon AppConfig。
添加信任关系
-
在刚刚创建的角色的摘要页面上,选择信任关系选项卡,然后选择编辑信任关系。
-
删除
"ec2.amazonaws.com"
并添加"appconfig.amazonaws.com"
,如以下示例所示。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
选择 Update Trust Policy。
关于验证程序
创建配置和配置文件时,最多可以指定两个验证程序。验证程序可确保您的配置数据在语法和语义上是正确的。您可以在 JSON 架构中或作为 Amazon Lambda 函数创建验证程序。
在可以将配置添加到系统之前,SSM 文档中存储的配置数据必须对照关联的 JSON 架构进行验证。SSM 参数不需要验证方法,但我们建议您通过使用 Amazon Lambda 为新的或更新的 SSM 参数配置创建验证检查。
JSON 架构验证程序
如果在 SSM 文档中创建配置,则必须为该配置指定或创建 JSON 架构。JSON 架构定义每个应用程序配置设置允许的属性。JSON 架构的作用类似于一组规则,用于确保新配置设置或更新的配置设置符合应用程序所需的最佳实践。以下是示例。
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "$id$", "description": "BasicFeatureToggle-1", "type": "object", "additionalProperties": false, "patternProperties": { "[^\\s]+$": { "type": "boolean" } }, "minProperties": 1 }
在从 SSM 文档创建配置时,系统将自动验证配置是否符合架构要求。如果不符合要求,Amazon AppConfig 将返回验证错误。
请注意以下有关 JSON 架构验证程序的信息:
-
SSM 文档中的配置使用
ApplicationConfiguration
文档类型。相应的 JSON 模式使用ApplicationConfigurationSchema
文档类型。 -
Amazon AppConfig 对于内联架构支持 JSON 架构版本 4.X。如果您的应用程序配置要求不同的 JSON 架构版本,则必须创建 Lambda 验证程序。
Amazon Lambda 验证程序
Lambda 函数验证程序必须配置以下事件架构。Amazon AppConfig使用此架构调用 Lambda 函数。content 是 base64 编码的字符串,而 URI 是字符串。
{ "ApplicationId": "The application Id of the configuration profile being validated", "ConfigurationProfileId": "The configuration profile Id of the configuration profile being validated", "ConfigurationVersion": "The configuration version of the configuration profile being validated", "Content": "Base64EncodedByteString", "Uri": "The uri of the configuration" }
Amazon AppConfig验证 LambdaX-Amz-Function-Error
响应中设置标头。如果函数引发异常,Lambda 会设置此标头。有关 的更多信息X-Amz-Function-Error
,请参阅中的错误处理和自动重试Amazon Lambda中的Amazon Lambda开发人员指南.
以下是一个成功验证的 Lambda 响应代码的简单示例。
import json def handler(event, context): #Add your validation logic here print("We passed!")
以下是验证不成功的 Lambda 响应代码的简单示例。
def handler(event, context): #Add your validation logic here raise Exception("Failure!")
下面是另一个示例,仅在配置参数是质数时才验证。
function isPrime(value) { if (value < 2) { return false; } for (i = 2; i < value; i++) { if (value % i === 0) { return false; } } return true; } exports.handler = async function(event, context) { console.log('EVENT: ' + JSON.stringify(event, null, 2)); const input = parseInt(Buffer.from(event.content, 'base64').toString('ascii')); const prime = isPrime(input); console.log('RESULT: ' + input + (prime ? ' is' : ' is not') + ' prime'); if (!prime) { throw input + "is not prime"; } }
Amazon AppConfig在调用时调用验证 LambdaStartDeployment
和ValidateConfigurationActivity
API 操作。您必须提供appconfig.amazonaws.com
调用 Lambda 的权限。有关更多信息,请参阅 。授予函数访问权限Amazon服务.Amazon AppConfig将验证 Lambda 的运行时间限制为 15 秒,包括启动延迟。
创建功能标志配置文件
您可以使用功能标志来启用或禁用应用程序中的功能,或使用标志属性配置应用程序功能的不同特征。Amazon AppConfig将功能标志配置存储在Amazon AppConfig托管配置存储采用功能标志格式,其中包含有关标志和标志属性的数据和元数据。有关的更多信息Amazon AppConfig托管配置存储,请参阅关于 Amazon AppConfig 托管配置存储部分。
要检索功能标志配置数据,您的应用程序必须调用GetLatestConfiguration
API。你无法通过调用来检索功能标志配置数据GetConfiguration
. 有关更多信息,请参阅 。获取最新配置中的Amazon AppConfigAPI 参考.
创建功能标志和功能标志配置文件(控制台)
使用以下过程创建Amazon AppConfig功能标志配置文件和功能标志配置文件使用Amazon AppConfig控制台。
创建配置文件
打开Amazon Systems Manager控制台https://console.aws.amazon.com/systems-manager/appconfig/
. -
在存储库的应用程序选项卡,选择您在中创建的应用程序创建Amazon AppConfig配置然后选择配置配置文件和功能标志选项卡。
-
选择 Create(创建)。
-
选择功能标志.
创建要素标志
-
在您创建的配置上,选择添加新标志.
-
提供标记名和(可选)说明. 这些区域有:标记键auto 填充您提供的名称中的下划线来填充空格。如果想要不同的值或格式,可以编辑标志键。标志创建后,您可以编辑旗帜名称,但不能编辑标志键。
-
指定要素标志是否为Enabled (已启用)要么Disabled使用切换按钮。
-
(可选)添加属性和属性约束转到功能标志。属性使您能够在标志中提供额外的值。您可以选择根据指定的约束来验证属性值。约束条件可确保任何意外的值不会部署到应用程序中。
Amazon AppConfig功能标志支持以下类型的属性及其相应约束。
类型 限制 描述 字符串 正则表达式 字符串的正则表达式模式
枚举 字符串的可接受值列表
数字 最低 属性的最小数值
最高 属性的最大数值
Boolean None(无) None(无) 字符串数组 正则表达式 数组元素的正则表达式模式 枚举 数组元素的可接受值列表 数组 最低 数组元素的最小数值 最高 数组元素的最大数值 注意 Select必需的值以指定是否需要属性值。
-
选择保存新版本.
继续执行步骤 4:创建部署策略。
创建功能标志和功能标志配置文件(命令行)
以下过程介绍如何使用Amazon Command Line Interface(在 Linux 或 Windows 上)或适用于 Windows 的工具 PowerShell 来创建Amazon AppConfig功能标志配置文件。如果愿意,可以使用Amazon CloudShell以运行下面列出的命令。有关更多信息,请参阅 Amazon CloudShell 用户指南的 什么是 Amazon CloudShell?。
逐步创建功能标志配置
安装并配置 Amazon CLI 或 Amazon Tools for PowerShell(如果尚未执行该操作)。
有关信息,请参阅安装或升级 Amazon 命令行工具。
-
创建功能标志配置文件,指定其类型如同
AWS.AppConfig.FeatureFlags
. 配置文件必须使用hosted
对于位置 URI。 -
创建功能标志配置数据。您的数据必须采用 JSON 格式,并符合
AWS.AppConfig.FeatureFlags
JSON 架构。有关架构的更多信息,请参阅aws.appconfig.功能标志的类型参考. -
使用
CreateHostedConfigurationVersion
用于将功能标志配置数据保存到的 APIAmazon AppConfig.系统将返回类似于以下内容的信息。
这些区域有:
service_returned_content_file
包含配置数据,其中包括一些Amazon AppConfig生成元数据。注意 创建托管配置版本时,Amazon AppConfig验证您的数据是否符合
AWS.AppConfig.FeatureFlags
JSON 架构。Amazon AppConfig此外,还验证数据中的每个要素标志属性是否满足为这些属性定义的约束条件。
aws.appconfig.功能标志的类型参考
使用AWS.AppConfig.FeatureFlags
JSON 模式作为创建功能标志配置数据的参考。
{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "flagSetDefinition": { "type": "object", "properties": { "version": { "$ref": "#/definitions/flagSchemaVersions" }, "flags": { "$ref": "#/definitions/flagDefinitions" }, "values": { "$ref": "#/definitions/flagValues" } }, "required": ["version", "flags"], "additionalProperties": false }, "flagDefinitions": { "type": "object", "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/flagDefinition" } }, "maxProperties": 100, "additionalProperties": false }, "flagDefinition": { "type": "object", "properties": { "name": { "$ref": "#/definitions/customerDefinedName" }, "description": { "$ref": "#/definitions/customerDefinedDescription" }, "_createdAt": { "type": "string" }, "_updatedAt": { "type": "string" }, "_deprecation": { "type": "object", "properties": { "status": { "type": "string", "enum": ["planned"] } }, "additionalProperties": false }, "attributes": { "$ref": "#/definitions/attributeDefinitions" } }, "additionalProperties": false }, "attributeDefinitions": { "type": "object", "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/attributeDefinition" } }, "maxProperties": 25, "additionalProperties": false }, "attributeDefinition": { "type": "object", "properties": { "description": { "$ref": "#/definitions/customerDefinedDescription" }, "constraints": { "oneOf": [ { "$ref": "#/definitions/numberConstraints" }, { "$ref": "#/definitions/stringConstraints" }, { "$ref": "#/definitions/arrayConstraints" }, { "$ref": "#/definitions/boolConstraints" } ] } }, "additionalProperties": false }, "flagValues": { "type": "object", "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/flagValue" } }, "maxProperties": 100, "additionalProperties": false }, "flagValue": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "_createdAt": { "type": "string" }, "_updatedAt": { "type": "string" } }, "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/attributeValue", "maxProperties": 25 } }, "required": ["enabled"], "additionalProperties": false }, "attributeValue": { "oneOf": [ { "type": "string", "maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "array", "oneOf": [ { "items": { "type": "string", "maxLength": 1024 } }, { "items": { "type": "number" } } ] } ], "additionalProperties": false }, "stringConstraints": { "type": "object", "properties": { "type": { "type": "string", "enum": ["string"] }, "required": { "type": "boolean" }, "pattern": { "type": "string", "maxLength": 1024 }, "enum": { "type": "array", "type": "array", "maxLength": 100, "items": { "oneOf": [ { "type": "string", "maxLength": 1024 }, { "type": "integer" } ] } } }, "required": ["type"], "not": { "required": ["pattern", "enum"] }, "additionalProperties": false }, "numberConstraints": { "type": "object", "properties": { "type": { "type": "string", "enum": ["number"] }, "required": { "type": "boolean" }, "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "required": ["type"], "additionalProperties": false }, "arrayConstraints": { "type": "object", "properties": { "type": { "type": "string", "enum": ["array"] }, "required": { "type": "boolean" }, "elements": { "$ref": "#/definitions/elementConstraints" } }, "required": ["type"], "additionalProperties": false }, "boolConstraints": { "type": "object", "properties": { "type": { "type": "string", "enum": ["boolean"] }, "required": { "type": "boolean" } }, "required": ["type"], "additionalProperties": false }, "elementConstraints": { "oneOf": [ { "$ref": "#/definitions/numberConstraints" }, { "$ref": "#/definitions/stringConstraints" } ] }, "customerDefinedName": { "type": "string", "pattern": "^[^\\n]{1,64}$" }, "customerDefinedDescription": { "type": "string", "maxLength": 1024 }, "flagSchemaVersions": { "type": "string", "enum": ["1"] } }, "type": "object", "$ref": "#/definitions/flagSetDefinition", "additionalProperties": false }
要检索功能标志配置数据,您的应用程序必须调用GetLatestConfiguration
API。你无法通过调用来检索功能标志配置数据GetConfiguration
. 有关更多信息,请参阅 。获取最新配置中的Amazon AppConfigAPI 参考.
当你的应用程序调用获取最新配置并接收新部署的配置,定义功能标志和属性的信息将被删除。简化的 JSON 包含与您指定的每个标志键匹配的密钥映射。简化的 JSON 还包含的映射值true
要么false
(对于 )enabled
属性。如果标志设置enabled
到true
,旗帜的任何属性也将出现。以下 JSON 架构描述了 JSON 输出的格式。
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/attributeValuesMap" } }, "maxProperties": 100, "additionalProperties": false, "definitions": { "attributeValuesMap": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": ["enabled"], "patternProperties": { "^[a-z][a-zA-Z\\d-_]{0,63}$": { "$ref": "#/definitions/attributeValue" } }, "maxProperties": 25, "additionalProperties": false }, "attributeValue": { "oneOf": [ { "type": "string","maxLength": 1024 }, { "type": "number" }, { "type": "boolean" }, { "type": "array", "oneOf": [ { "items": { "oneOf": [ { "type": "string", "maxLength": 1024 } ] } }, { "items": { "oneOf": [ { "type": "number" } ] } } ] } ], "additionalProperties": false } } }
创建自由格式配置文件
自由格式配置文件启用Amazon AppConfig以便从指定的源位置访问您的配置。您可以使用以下格式和位置存储自由格式配置。
-
中的 YAML、JSON 或文本文档Amazon AppConfig托管配置存储。
-
Amazon Simple Storage Service (Amazon S3) 存储桶中的对象。
-
Systems Manager 文档存储中的文档。
-
支持的任何集成源操作Amazon CodePipeline.
对于存储在中的自由格式配置Amazon AppConfig托管配置存储或 SSM 文档,您可以在创建配置文件时使用 Systems Manager 控制台创建自由格式配置。本主题后面将介绍该过程。
对于存储在 SSM 参数或 S3 中的自由格式配置,您必须先创建参数或对象,然后将其添加到参数存储或 S3。创建参数或对象后,您可以使用本主题中的过程创建配置文件。有关在参数存储中创建参数的信息,请参阅创建 Systems Manager 参数中的Amazon Systems Manager用户指南.
关于配置存储配额和限制
Amazon AppConfig 支持的配置存储具有以下配额和限制。
Amazon AppConfig 托管配置存储 | S3 | Parameter Store | 文档存储 | Amazon CodePipeline | |
---|---|---|---|---|---|
配置大小限制 |
1MB |
1MB 由 Amazon AppConfig 而不是 S3 强制实施 |
4 KB(免费套餐)/8 KB(高级参数) |
64 KB |
1MB 强制实施Amazon AppConfig,而不是 CodePipeline |
资源存储限制 |
1GB |
无限 |
10000 个参数(免费套餐)/100000 个参数(高级参数) |
500 个文档 |
受每个应用程序配置文件数的限制(每个应用程序 100 个配置文件) |
服务器端加密 |
是 |
否 |
否 |
是 |
|
Amazon CloudFormation 支持 |
是 |
不用于创建或更新数据 |
是 |
否 |
是 |
验证创建或更新 API 操作 |
不支持 |
不支持 |
支持正则表达式 |
所有放置和更新 API 操作都需要 JSON 架构 |
不支持 |
定价 |
免费 |
请参阅Amazon S3 定价 |
免费 |
关于 Amazon AppConfig 托管配置存储
Amazon AppConfig 包括内部或托管配置存储。配置必须小于或等于 1 MB。与其他配置存储选项相比,Amazon AppConfig 托管配置存储提供了以下好处。
-
您无需设置和配置其他服务,如 Amazon Simple Storage Service (Amazon S3) 或参数存储。
-
您无需配置Amazon Identity and Access Management使用配置存储的 (IAM) 权限。
-
您可以按 YAML、JSON 或文本文档格式存储配置。
-
使用存储不产生任何费用。
-
您可以创建配置并在创建配置文件时将其添加到存储。
创建自由格式配置和配置配置文件
本节介绍如何创建自由格式配置和配置文件。在开始之前,请注意以下信息。
-
以下过程要求您指定 IAM 服务角色,以便:Amazon AppConfig可以在您选择的配置存储中访问配置数据。如果您使用 Amazon AppConfig 托管配置存储,则不需要此角色。如果您选择 S3、参数存储或 Systems Manager 文档存储,则必须选择现有 IAM 角色或选择让系统自动为您创建角色的选项。有关该角色的更多信息,请参阅 关于配置文件 IAM 角色。
-
如果要为 S3 中存储的配置创建配置文件,则必须配置权限。有关使用 S3 作为配置存储的权限和其他要求的更多信息,请参阅 关于存储在 Amazon S3 中的配置。
-
如果您要使用验证程序,请查看使用验证程序的详细信息和要求。有关更多信息,请参阅 关于验证程序。
创建Amazon AppConfig自由格式配置文件(控制台)
使用以下过程创建Amazon AppConfig使用自由格式配置文件和(可选)自由格式配置文件以及自由格式配置Amazon Systems Manager控制台。
创建配置文件
打开Amazon Systems Manager控制台https://console.aws.amazon.com/systems-manager/appconfig/
. -
在存储库的应用程序选项卡,选择您在中创建的应用程序创建Amazon AppConfig配置然后选择配置配置文件和功能标志选项卡。
-
选择创建自由格式配置文件.
-
对于 Name (名称),请输入配置文件的名称。
-
对于 Description (描述),请输入有关配置文件的信息。
-
在 Select configuration source (选择配置源) 页面上,选择一个选项。
-
-
如果您选择Amazon AppConfig托管配置,然后选择YAML、JSON,或者Text,然后在字段中输入您的配置。选择 Next (下一步),然后转到此过程中的步骤 10。
-
如果您选择Amazon S3 对象,然后输入对象 URI。选择 Next(下一步)。
-
如果您选择Amazon Systems Manager参数,然后从列表中选择参数的名称。选择 Next(下一步)。
-
如果您选择Amazon CodePipeline,然后选择下一步然后转到本过程中的步骤 10。
-
如果您选择Amazon Systems Manager文档,然后完成以下步骤。
-
在文档源部分,选择保存的文档要么新文档.
-
如果您选择保存的文档,然后从列表中选择 SSM 文档。如果选择 New document (新文档),则会显示 Details (详细信息) 和 Content (内容) 部分。
-
在 Details (详细信息) 部分中,输入新应用程序配置的名称。
-
对于 Application configuration schema (应用程序配置架构) 部分,使用列表选择 JSON 架构或选择 Create schema (创建架构)。如果您选择创建架构,Systems Manager 打开创建架构页. 在 Content (内容) 部分中输入架构详细信息,然后选择 Create schema (创建架构)。
-
对于 Application configuration schema version (应用程序配置架构版本),从列表中选择版本,或选择 Update schema (更新架构) 以编辑架构并创建新版本。
-
在 Content (内容) 部分中,选择 YAML 或 JSON,然后在字段中输入配置数据。
-
选择 Next(下一步)。
-
-
在服务角色部分中,选择新的服务角色拥有Amazon AppConfig创建提供配置数据访问权限的 IAM 角色。Amazon AppConfig自动填充Role name (角色名称)字段基于您之前输入的名称。或者,要选择 IAM 中已存在的角色,请选择现有服务角色. 使用 Role ARN (角色 ARN) 列表选择角色。
-
在 Add validators (添加验证程序) 页面上,选择 JSON Schema (JSON 架构) 或 Amazon Lambda。如果选择 JSON Schema (JSON 架构),请在字段中输入 JSON 架构。如果您选择 Amazon Lambda,请从列表中选择函数 Amazon 资源名称 (ARN) 和版本。
重要 在可以将配置添加到系统之前,SSM 文档中存储的配置数据必须对照关联的 JSON 架构进行验证。SSM 参数不需要验证方法,但我们建议您通过使用 Amazon Lambda 为新的或更新的 SSM 参数配置创建验证检查。
-
在 Tags (标签) 部分中,输入一个键和可选的值。您最多可以为一个资源指定 50 个标签。
-
选择 Create configuration profile (创建配置文件)。
如果您创建了配置配置文件Amazon CodePipeline,然后在创建部署策略(如下一节所述)之后,您必须在 CodePipeline 那指定Amazon AppConfig作为部署提供商. 有关创建指定管道的信息Amazon AppConfig作为部署提供商,请参阅教程:创建使用的管道Amazon AppConfig作为部署提供商中的Amazon CodePipeline用户指南.
继续执行第 4 步:创建部署策略。
创建Amazon AppConfig自由格式配置文件(命令行)
以下过程介绍如何使用Amazon CLI(在 Linux 或 Windows 上)或Amazon Tools for PowerShell要创建Amazon AppConfig自由格式配置文件。如果愿意,可以使用Amazon CloudShell以运行下面列出的命令。有关更多信息,请参阅 Amazon CloudShell 用户指南的 什么是 Amazon CloudShell?。
逐步创建配置文件
安装并配置 Amazon CLI 或 Amazon Tools for PowerShell(如果尚未执行该操作)。
有关信息,请参阅安装或升级 Amazon 命令行工具。
-
运行以下命令以创建自由格式配置文件。