AWS Config 配信チャネルを再作成するにはどうすればよいですか ?

最終更新日: 2019 年 11 月 6 日

AWS Config 配信チャネルを削除しました。再作成するにはどうすればよいですか ?

簡単な説明

AWS Config コンソールを使用して AWS Config をセットアップする場合、セットアッププロセスによって、配信チャネル に通知を送信するように AWS リソースを設定できます。AWS Config のセットアップには、Amazon Simple Storage Service (Amazon S3) バケット、Amazon Simple Notification Service (Amazon SNS) トピック、AWS Identity and Access Management (IAM) ロール、および記録するリソースタイプの設定が含まれます。

AWS コマンドラインインターフェイス (AWS CLI) コマンド delete-delivery-channel を使用して AWS Config 配信チャネルを削除すると、設定レコーダー はオフになります。設定レコーダーをオンにしようとすると、「配信チャネルが見つからないため、AWS Config は記録を開始できません」というエラーが返されます。

注意 : AWS Config コンソールを使用して配信チャネルを再作成することはできません。

解決方法

以下の手順に従って、AWS Config 配信チャネルを手動で再作成し、設定レコーダーをオンにします。

注意 : 削除した AWS Config 配信チャネルに関連付けられている Amazon S3 バケット、S3 トピック、IAM ロールを削除しなかった場合は、これらのステップを省略できます。

Amazon S3 バケットを作成する

1.    AWS Config サービスと同じリージョンで Amazon S3 コンソール を開き、[Create bucket] を選択します。

2.    [Bucket name] に S3 バケットの名前を入力し、[Next] を選択します。

3.    [Next]、[Next]、[Create bucket] の順に選択します。

4.    [S3 buckets] で、 ステップ 3で作成したばかりの S3 バケットを選択します。

5.    [Permissions] を選択してから、[Bucket Policy] を選択します。

6.    次のバケットポリシーの例をコピーして貼り付け、[Save] を選択します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AWSConfigBucketPermissionsCheck",
      "Effect": "Allow",
      "Principal": {
        "Service": [
         "config.amazonaws.com"
        ]
      },
      "Action": "s3:GetBucketAcl",
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Sid": "AWSConfigBucketExistenceCheck",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "config.amazonaws.com"
        ]
      },
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Sid": " AWSConfigBucketDelivery",
      "Effect": "Allow",
      "Principal": {
        "Service": [
         "config.amazonaws.com"    
        ]
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/Config/*",
      "Condition": { 
        "StringEquals": { 
          "s3:x-amz-acl": "bucket-owner-full-control" 
        }
      }
    }
  ]
}  

SNS トピックを作成する

1.    AWS Config サービスと同じリージョンで Amazon SNS コンソール を開き、[Topics] を選択します。

2.    [トピックを作成] を選択します。

3.    [Name] に SNS トピックの名前を入力し、[Create topic] を選択します。

4.    [Create subscription] を選択します。

5.    [Protocol] では [Email] を選択します。

6.    [Endpoint] で、この SNS トピックに関連付ける E メールアドレスを入力し、[Create subscription] を選択します。

7.    受信登録の確認メールを確認し、[Confirm subscription] を選択します。

8.    Subscription confirmed!というメッセージを受け取ります。

IAM ロールを作成する

1.    AWS Config サービスと同じリージョンで IAM コンソール を開きます。

2.    [Roles] を選択し、[Create role] を選択します。

3.    [Select type of trusted entity] で、[AWS のサービス] を選択します。

4.    [Lambda] で、[Config] を選択します。

5.    [ユースケースの選択] で、[Config-Customizable]、[Next:Permissions] の順に選択します。

6.    [Next:Tags]、[Next: Review] の順にクリックします。

7.    ロール名を入力してから、[Create role] をクリックします。

8.    ステップ 7 で作成したロールを選択し、[Add inline policy] を選択して、[JSON] タブを選択します。

9.    次のサンプルポリシーをコピーして貼り付けます。

    {
	  "Version": "2012-10-17",
	  "Statement": [
	    {
	      "Effect": "Allow",
	      "Action": [
	        "s3:PutObject"
	      ],
	      "Resource": [
	        "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*"
	      ],
	      "Condition": {
	        "StringLike": {
	          "s3:x-amz-acl": "bucket-owner-full-control"
	        }
	      }
	    },
	    {
	      "Effect": "Allow",
	      "Action": [
	        "s3:GetBucketAcl"
	      ],
	      "Resource": "arn:aws:s3:::targetBucketName"
	    },
	    {
	      "Effect": "Allow",
	      "Action": "sns:Publish",
	      "Resource": "arn:aws:sns:region:account_number:targetTopicName"
	    }
	  ]
	}

配信チャネルを作成する

1.    任意のテキストエディタを使用して、次のサンプルテンプレートをコピーして貼り付け、JSON ファイルとして保存します。

重要 : 開始する前に、AWS CLI のインストール設定 が完了していることを確認してください。

注意 : deliveryFrequency 値はユースケースに合わせて変更できます。

    {
	  "name": "default",
	  "s3BucketName": "targetBucketName",
	  "snsTopicARN": "arn:aws:sns:region:account_number:targetTopicName",
	  "configSnapshotDeliveryProperties": {
	    "deliveryFrequency": "Twelve_Hours"
	  }
	}

2.    次の AWS CLI コマンドを実行します。

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

3.    次の AWS CLI コマンドを実行して、配信チャネルが作成されたことを確認します。

$ aws configservice describe-delivery-channels

設定レコーダーを開始する

1.    AWS Config コンソールを開きます。

2.    ナビゲーションペインで、[Settings] を選択します。

3.    [Recording is off] で、[Turn on]、[Continue] の順に選択します。

- または -

次の AWS CLI コマンドを実行します。

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

詳細については、 設定レコーダーの管理 および AWS Config ルールの管理を参照してください。