配信チャネルの管理 - AWS Config

配信チャネルの管理

AWS Config では、AWS リソースへの変更を継続的に記録し、通知および更新された設定状態を配信チャネルを通じて送信します。配信チャネルを管理して AWS Config から設定の更新を送信する先を制御できます。

配信チャネルは、各リージョンの AWS アカウントごとに 1 つに制限されており、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 SDK を使用する必要があります。

配信チャネルを更新するには (AWS CLI)

  1. put-delivery-channel コマンドを実行します。

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

    deliveryChannel.json ファイルは、配信チャネルの属性を指定します。

    { "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 – AWS Config から設定スナップショットを配信する頻度を設定する deliveryFrequency 属性が含まれています。

  2. (オプション) describe-delivery-channels コマンドを使用して配信チャネルの設定が更新されていることを確認できます。

    $ 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 SDK を使用する必要があります。

配信チャネルの名前を変更するには (AWS CLI)

  1. stop-configuration-recorder コマンドを使用して設定レコーダーを停止します。

    $ aws configservice stop-configuration-recorder --configuration-recorder-name configRecorderName
  2. describe-delivery-channels コマンドを使用して配信チャネルの属性を書き留めます。

    $ 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 コマンドを使用して配信チャネルを削除します。

    $ aws configservice delete-delivery-channel --delivery-channel-name default
  4. put-delivery-channel コマンドを使用して、新しい名前で配信チャネルを作成します。

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

    deliveryChannel.json ファイルは、配信チャネルの属性を指定します。

    { "name": "myCustomDeliveryChannelName", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-2:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }
  5. start-configuration-recorder コマンドを使用して記録を再開します。

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