AWS Config
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

管理传递通道

由于 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