Comment recréer un canal de livraison AWS Config ?

Dernière mise à jour : 24/06/2020

J'ai supprimé mon canal de livraison AWS Config. Comment puis-je le recréer ?

Brève description

Lorsque vous configurez AWS Config à l'aide de la console AWS Config, un processus de configuration vous guide pour configurer les ressources AWS afin d'envoyer des notifications au canal de livraison. La configuration d'AWS Config inclut la configuration d'un compartiment Amazon Simple Storage Service (Amazon S3), d'une rubrique Amazon Simple Notification Service (Amazon SNS), d'un rôle AWS Identity and Access Management (IAM) et des types de ressources à enregistrer.

Si vous supprimez un canal de livraison AWS Config à l'aide de la commande delete-delivery-channel de l'interface de ligne de commande AWS, l'enregistreur de configuration se désactive. La tentative d'activation de l'enregistreur de configuration renvoie l'erreur « AWS Config cannot start recording because the delivery channel was not found » (« AWS Config ne peut pas démarrer l'enregistrement, car le canal de livraison est introuvable. »).

Remarque : vous ne pouvez pas recréer le canal de livraison à l'aide de la console AWS Config.

Solution

Suivez ces instructions pour recréer manuellement le canal de livraison AWS Config et activer l'enregistreur de configuration.

Remarque : si vous n'avez pas supprimé le compartiment Amazon S3, la rubrique S3 et le rôle IAM associés au canal de livraison AWS Config supprimé, vous pouvez ignorer ces étapes.

Créer le compartiment Amazon S3

1.    Ouvrez la console Amazon S3 dans la même région que votre service AWS Config, puis sélectionnez Create bucket (Créer un compartiment).

2.    Dans Bucket name (Nom du compartiment), saisissez un nom pour le compartiment S3, puis sélectionnez Next (Suivant).

3.    Sélectionnez Next (Suivant), puis à nouveau Next (Suivant), et enfin Create bucket (Créer un compartiment).

4.    Dans S3 buckets (Compartiments S3), sélectionnez le compartiment S3 que vous venez de créer à l'étape 3.

5.    Sélectionnez Permissions (Autorisations), puis Edit (Modifier).

6.    Copiez et collez l'exemple de stratégie de compartiment suivant, puis sélectionnez Save (Enregistrer).

{
  "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" 
        }
      }
    }
  ]
}  

Créer la rubrique SNS

1.    Ouvrez la console Amazon SNS dans la même région que votre service AWS Config, puis sélectionnez Topics (Rubriques).

2.    Sélectionnez Créer une rubrique.

3.    Dans Name (Nom), saisissez un nom pour votre rubrique SNS, puis sélectionnez Create topic (Créer une rubrique).

4.    Sélectionnez Create subscription(Créer un abonnement).

5.    Pour Protocol (Protocole), sélectionnez Email (Adresse e-mail).

6.    Pour Endpoint (Point de terminaison), saisissez l'adresse e-mail que vous souhaitez associer à cette rubrique SNS, puis sélectionnez Create subscription (Créer un abonnement).

7.    Vérifiez si vous avez reçu la confirmation d'abonnement dans votre messagerie électronique, puis sélectionnez Confirm subscription (Confirmer l'abonnement).

8.    Vous recevez le message Subscription confirmed! (Abonnement confirmé).

Créer le rôle IAM

1.    Ouvrez la console IAM dans la même région que votre service AWS Config.

2.    Cliquez sur Roles (Rôles), puis sur Create Role (Créer un rôle).

3.    Pour Select type of trusted entity (Sélectionner le type d'entité de confiance), sélectionnez AWS service (Service AWS).

4.    Pour Lambda, sélectionnez Config.

5.    Pour Select your use case (Sélectionner votre cas d'utilisation), sélectionnez Config - Customizable (Config - Personnalisable), puis Next: Permissions (Étape suivante : autorisations).

6.    Sélectionnez Next: Tags (Étape suivante : balises), puis Next: Review (Étape suivante : vérification).

7.    Pour Role name (Nom de rôle), saisissez un nom, puis sélectionnez Create a role (Créer un rôle).

8.    Sélectionnez le rôle que vous avez créé à l'étape 7, puis Add inline policy (Ajouter une stratégie en ligne) et enfin l'onglet JSON .

9.    Copiez et collez l'exemple de stratégie suivant :

{
	  "Version": "2012-10-17",
	  "Statement": [
	    {
	      "Effect": "Allow",
	      "Action": [
	        "s3:PutObject",
                "s3:PutObjectAcl" 
	      ],
	      "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"
	    }
	  ]
	}

Créer le canal de livraison

1.    À l'aide de l'éditeur de texte de votre choix, copiez et collez l'exemple de modèle suivant, puis enregistrez-le en tant que fichier JSON.

Important : avant de commencer, assurez-vous d'avoir installé et configuré la CLI AWS.

Remarque : vous pouvez modifier la valeur deliveryFrequency pour qu'elle corresponde à votre cas d'utilisation.

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

2.    Exécutez la commande de CLI AWS suivante :

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

3.    Exécutez la commande de CLI AWS suivante pour confirmer que le canal de livraison a été créé :

$ aws configservice describe-delivery-channels

Démarrer l'enregistreur de configuration

1.    Ouvrez la console AWS Config.

2.    Dans le volet de navigation, sélectionnez Settings (Paramètres).

3.    Dans Recording is off (L'enregistrement est désactivé), sélectionnez Turn on, (Activer), puis Continue (Continuer).

-ou-

Exécutez la commande de CLI AWS suivante :

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

Pour plus d'informations, consultez les sections Gestion de l'enregistreur de configuration et Gestion de vos règles AWS Config.