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

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

记录第三方资源的配置

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

注意

如果你已经配置了Amazon Config记录所有资源类型,然后记录通过以下方式管理(创建、更新或删除)的第三方资源Amazon CloudFormation会自动跟踪Amazon Config作为配置项目。

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

第 1 步:设置您的开发环境

安装和配置 Amazon CloudFormation Amazon CLI。Amazon 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
    注意

    为了保证任何项目依赖关系都得到正确解决,你可以在 Maven 支持下将生成的项目导入到你的 IDE 中。

    例如,如果您正在使用 IntelliJ IDEA,则需要执行以下操作:

    • 来自的File菜单,选择new,然后选择来自现有来源的项目.

    • 导航到项目目录

    • 导入项目对话框中,选择从外部模型导入项目然后选择玛文.

    • 选择下一页并接受任何默认值以完成项目的导入。

  4. 打开包含您资源的架构的 mycustomnamespace-testing-wordpress.json 文件。将以下架构复制并粘贴到 mycustomnamespace-testing-wordpress.json 中。

    { "typeName": "MyCustomNamespace::Testing::WordPress", "description": "An example resource that creates a website based on WordPress 5.2.2.", "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. 更新资源提供程序包中自动生成的文件以查看资源提供程序架构更新。启动资源提供程序项目后,Amazon CLI 为资源提供程序生成支持文件和代码。重新生成代码以查看更新的架构。

    $ cfn generate
    注意

    使用 Maven 时,作为构建过程的一部分generate命令在代码编译之前自动运行。因此,您的更改永远不会与生成的代码不同步。

    注意 CloudFormation CLI 必须位于 Maven/系统可以找到的位置。有关更多信息,请参阅为开发扩展设置环境.

有关整个过程的更多信息,请参阅对资源提供器进行建模,用于Amazon CloudFormation.

第 3 步:生成构件

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

$ mvn package

第 4 步:注册您的资源

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

$ cfn submit

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

第 5 步:发布资源配置

确定配置 MyCustomNamespace:: 测试::WordPress.

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

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

在 Amazon Config 中,查看是否接受了此资源配置。要评估合规性,您可以编写使用此资源的 Amazon Config 规则。有关更多信息,请参阅使用记录和删除第三方资源的配置状态AmazonCLI.

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

区域支持

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

区域名称 区域 端点 协议
亚太地区(孟买) 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
Asia Pacific (Sydney) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
亚太地区(东京) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
Canada (Central) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
欧洲(法兰克福) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
Europe (Ireland) 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
South America (São Paulo) 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