记录第三方资源的配置 - AWS Config
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

记录第三方资源的配置

记录第三方资源或自定义资源类型的配置,例如本地服务器、SAAS 监控工具和版本控制系统(例如 GitHub)上的配置。您可以使用 AWS Config 控制台和 AWS Config 将第三方资源的配置数据发布到 APIs 中,并查看和监控资源清单及配置历史记录。 现在,您可以使用 AWS Config 管理所有资源,并使用 AWS Config 规则评估资源配置是否符合最佳实践。您还可以创建 AWS Config 规则或一致性包,以根据最佳实践、内部策略和监管策略评估这些第三方资源。

注意

此功能仅在重新设计的 AWS Config 控制台中可用。

如果您已将 AWS Config 配置为记录所有资源类型,则系统会自动在 AWS Config 中将通过 AWS CloudFormation 管理(即创建/更新/删除)的第三方资源作为配置项目进行跟踪。

先决条件: 必须使用 AWS CloudFormation 注册第三方资源或自定义资源类型。

步骤 1: 设置开发环境

安装和配置 AWS CloudFormation AWS CLI。AWS CLI 允许您建模和注册自定义资源。有关更多信息,请参阅自定义资源什么是 CloudFormation 命令行界面?

步骤 2: 资源建模

创建符合资源类型配置的资源提供程序架构,并验证该架构。

  1. 使用 init 命令创建资源提供程序项目并生成所需的文件。

    $ cfn init Initializing new project
  2. init 命令将启动一个向导,引导您完成项目的设置,包括指定资源名称。在此演练中,指定 MyCustomNamespace::Testing::WordPress

    Enter resource type identifier (Organization::Service::Resource): MyCustomNamespace::Testing::WordPress
  3. 输入资源的包名称。

    Enter a package name (empty for default 'com.custom.testing.wordpress'): com.custom.testing.wordpress Initialized a new project in /workplace/user/custom-testing-wordpress
  4. 打开包含您资源的架构的 custom-testing-wordpress.json 文件。将以下架构复制并粘贴到 custom-testing-wordpress.json 中。

    注意

    您可以从下面提到的默认 URL 更改源 URL。

    { "typeName": "MyCustomNamespace::Testing::WordPress", "description": "An example resource that creates a website based on WordPress 5.2.2.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties": { "Name": { "description": "A name associated with the website.", "type": "string", "pattern": "^[a-zA-Z0-9]{1,219}\\Z", "minLength": 1, "maxLength": 219 }, "SubnetId": { "description": "A subnet in which to host the website.", "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z", "type": "string" }, "InstanceId": { "description": "The ID of the instance that backs the WordPress site.", "type": "string" }, "PublicIp": { "description": "The public IP for the WordPress site.", "type": "string" } }, "required": [ "Name", "SubnetId" ], "primaryIdentifier": [ "/properties/PublicIp", "/properties/InstanceId" ], "readOnlyProperties": [ "/properties/PublicIp", "/properties/InstanceId" ], "additionalProperties": false }
  5. 验证架构。

    $ cfn validate
  6. 更新资源提供程序包中自动生成的文件以查看资源提供程序架构更新。启动资源提供程序项目后,AWS CLI 为资源提供程序生成支持文件和代码。重新生成代码以查看更新的架构。

    $ cfn generate

有关更多信息,请参阅对资源提供程序进行建模以在 AWS CloudFormation 中使用

步骤 3: 生成项目

运行以下命令为 cfn submit 生成构件。

$ mvn package

步骤 4: 注册您的资源

AWS Config 不需要资源提供程序的处理程序为您的资源执行配置跟踪。运行以下命令来注册您的资源。

$ cfn submit

有关更多信息,请参阅注册资源提供程序以在 AWS CloudFormation 模板中使用

步骤 5: 发布资源配置

确定 MyCustomNamespace::Testing::WordPress 的配置。

{ "Name": "MyWordPressSite", "SubnetId": "subnet-abcd0123", "InstanceId": "i-01234567", "PublicIp": "my-wordpress-site.com" }

从 AWS CloudFormation DescribeType 中确定架构版本 ID。

在 AWS Config 中,查看是否接受了此资源配置。要评估合规性,您可以编写使用此资源的 AWS Config 规则。

可选: 要自动记录配置,请实施定期配置收集器或基于更改的配置收集器。

区域支持

目前,以下区域中支持此功能:

区域名称 Region 终端节点 协议
亚太地区(孟买) ap-south-1 config.ap-south-1.amazonaws.com HTTPS
亚太区域(首尔) ap-northeast-2 config.ap-northeast-2.amazonaws.com HTTPS
亚太区域(新加坡) ap-southeast-1 config.ap-southeast-1.amazonaws.com HTTPS
亚太区域(悉尼) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
亚太区域(东京) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
加拿大 (中部) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
欧洲(法兰克福) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
欧洲(爱尔兰) eu-west-1 config.eu-west-1.amazonaws.com HTTPS
欧洲(伦敦) eu-west-2 config.eu-west-2.amazonaws.com HTTPS
欧洲(巴黎) eu-west-3 config.eu-west-3.amazonaws.com HTTPS
欧洲(斯德哥尔摩) eu-north-1 config.eu-north-1.amazonaws.com HTTPS
南美洲(圣保罗) sa-east-1 config.sa-east-1.amazonaws.com HTTPS
美国东部(弗吉尼亚北部) us-east-1 config.us-east-1.amazonaws.com HTTPS
美国东部(俄亥俄州) us-east-2 config.us-east-2.amazonaws.com HTTPS
美国西部(加利福尼亚北部) us-west-1 config.us-west-1.amazonaws.com HTTPS
美国西部(俄勒冈) us-west-2 config.us-west-2.amazonaws.com HTTPS