AWS Config
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

管理传递通道

由于 AWS Config 会持续记录您的 AWS 资源发生的更改,因此它会通过传递通道发送通知和已更新的配置状态。您可以管理传递通道,从而控制 AWS Config 在哪里发送配置更新。

每个 AWS 账户只能有一个传递通道,且使用 AWS Config 时必须使用传递通道。

更新传递通道

更新传递通道时,您可以设置以下选项:

  • AWS Config 向其发送配置快照和配置历史记录文件的 Amazon S3 存储桶。

  • AWS Config 将配置快照传送到 Amazon S3 存储桶的频率。

  • AWS Config 向其发送关于配置更改的通知的 Amazon SNS 主题。

更新传递通道 (控制台)

  • 您可以使用 AWS Config 控制台为您的传递通道设置 Amazon S3 存储桶和 Amazon SNS 主题。有关管理这些设置的步骤,请参阅 使用控制台设置 AWS Config

    控制台不提供用于重命名传递通道、设置配置快照频率或删除传递通道的选项。要完成这些任务,您必须使用 AWS CLI、AWS Config API 或一种 AWS 软件开发工具包。

更新传递通道 (AWS CLI)

  1. 使用 put-delivery-channel 命令:

    Copy
    $ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

    deliveryChannel.json 文件指定了传递通道的属性:

    Copy
    { "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }

    此示例设置了以下属性:

    • name – 传递通道的名称。默认情况下,AWS Config 会向新传递通道分配 default 这一名称。

      您无法使用 put-delivery-channel 命令更新传递通道的名称。有关更改名称的步骤,请参阅 重命名传递通道

    • s3BucketName – AWS Config 向其传送配置快照和配置历史记录文件的 Amazon S3 存储桶的名称。

      如果您指定的存储桶属于其他 AWS 账户,则该存储桶必须拥有授予 AWS Config 访问权限的策略。有关更多信息,请参阅 针对 Amazon S3 存储桶的权限

    • snsTopicARN – AWS Config 向其发送配置更改通知的 Amazon SNS 主题的 Amazon 资源名称 (ARN)。

      如果您从其他账户选择主题,则该主题必须拥有授予 AWS Config 访问权限的策略。有关更多信息,请参阅 Amazon SNS 主题的权限

    • configSnapshotDeliveryProperties – 包含 deliveryFrequency 属性,用于设置 AWS Config 传送配置快照的频率。

  2. (可选) 您可以使用 describe-delivery-channels 命令验证传递通道设置是否已更新:

    Copy
    $ aws configservice describe-delivery-channels { "DeliveryChannels": [ { "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" }, "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ] }

重命名传递通道

要更改传递通道的名称,您必须删除该传递通道,然后使用所需名称创建一个新传递通道。在删除传递通道之前,您必须暂时停止配置记录器。

AWS Config 控制台不提供用于删除传递通道的选项,因此,您必须使用 AWS CLI、AWS Config API 或一种 AWS 开发工具包。

重命名传递通道 (AWS CLI)

  1. 使用 stop-configuration-recorder 命令停止配置记录器:

    Copy
    $ aws configservice stop-configuration-recorder --configuration-recorder-name configRecorderName
  2. 使用 describe-delivery-channels 命令,并记下您的传递通道属性:

    Copy
    $ aws configservice describe-delivery-channels { "DeliveryChannels": [ { "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" }, "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "name": "default", "s3BucketName": "config-bucket-123456789012" } ] }
  3. 使用 delete-delivery-channel 命令删除传递通道:

    Copy
    $ aws configservice delete-delivery-channel --delivery-channel-name default
  4. 使用 put-delivery-channel 命令以所需名称创建传递通道:

    Copy
    $ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

    deliveryChannel.json 文件指定了传递通道的属性:

    Copy
    { "name": "myCustomDeliveryChannelName", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }
  5. 使用 start-configuration-recorder 命令恢复记录:

    Copy
    $ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName