Umesh vous présente la démarche à suivre pour
transférer des journaux de flux VPC vers Splunk à l'aide
d'Amazon Kinesis Firehose

J'installe des redirecteurs intensifs Splunk pour analyser mes données Amazon Virtual Private Cloud (Amazon VPC). Je transfère des données de mes sources AWS vers des clusters Splunk pour traitement, mais plusieurs étapes sont nécessaires. Comment puis-je mieux intégrer mes données AWS à Splunk ?

Plutôt que des redirecteurs intensifs, vous pouvez utiliser HTTP Event Collector (HEC) de Splunk et Amazon Kinesis Data Firehose pour envoyer des données et des événements d'application aux clusters Splunk. Pour ce faire, effectuez ces étapes :

  1. Création d'un flux de diffusion Firehose de données
  2. Configuration d'AWS Lambda pour la transformation d'enregistrements
  3. Configuration des journaux de flux VPC
  4. Création d'un abonnement CloudWatch Logs à votre flux

Avant de commencer :

Démarrer la création du flux de diffusion Firehose de données

1.    Créez votre flux de diffusion. Pour Source, choisissez Direct PUT or other sources (PUT direct ou autres sources).

2.    Choisissez Suivant.

Configuration de la transformation d'enregistrements avec AWS Lambda

1.    Configurez la transformation d'enregistrements.
Remarque : Veillez à choisir Enabled (Activé) pour Record transformation (Transformation d'enregistrements) sous Transform source records with AWS Lambda (Transformer des enregistrements source avec AWS Lambda). Vous devez activer cette option, car CloudWatch envoie les journaux sous forme de fichiers compressés .gzip. Amazon Kinesis doit extraire ces fichiers pour les rendre utilisables.

2.    Pour Lambda function (Fonction Lambda), choisissez Create new (Créer).

3.    Dans la fenêtre contextuelle Choose Lambda blueprint (Choisir un plan Lambda) qui s'affiche, pour Lambda blueprint (Plan Lambda), choisissez Kinesis Firehose CloudWatch Logs Processor (Processeur Kinesis Firehose CloudWatch Logs).

4.    Sélectionnez le nouvel onglet qui s'ouvre dans votre navigateur pour créer la nouvelle fonction Lambda.
Dans Name (Nom), entrez un nom pour la fonction Lambda.
Dans Role (Rôle), choisissez Create a custom role (Créer un rôle personnalisé).

5.    Sélectionnez le nouvel onglet qui s'ouvre dans votre navigateur pour créer un nouveau rôle Identity and Access Management (IAM).
Dans Role Name (Nom de rôle), vérifiez que ce nom est lambda_basic_execution.

6.    Choisissez Allow (Autoriser) pour créer le rôle et revenir à la page de configuration de la fonction Lambda.

7.    Choisissez Create function (Créer la fonction) et attendez que la fonction soit créée.

8.    Augmentez le délai d'expiration à 1 minute (la valeur par défaut est de 3 secondes) pour empêcher la fonction d'expirer.

9.    Choisissez Save (Enregistrer).

Terminer la création du flux de diffusion Firehose de données

1.    Connectez-vous à la console Amazon Kinesis.

2.    Dans le volet de navigation, sélectionnez Data Firehose.

3.    Pour votre flux de diffusion, choisissez Lambda function (Fonction Lambda).
Choisissez le nom de votre nouvelle fonction AWS Lambda dans le menu déroulant.
Pour Destination, choisissez Splunk.
Entrez les détails Splunk HEC, y compris le point de terminaison Splunk HEC que vous avez créé précédemment. Le point de terminaison Splunk HEC doit être arrêté avec un certificat SSL valide. Utilisez le nom d'hôte DNS correspondant pour vous connecter à votre point de terminaison HEC. Le format du point de terminaison du cluster est https://VOTRE-POINT-DE-TERMINAISON.splunk.com:8088.
Pour Splunk endpoint type (Type de point de terminaison Splunk), choisissez Raw endpoint (Point de terminaison brut), puis entrez le jeton d'authentification.

4.    Choisissez Suivant.

5.    (Facultatif) Créez une sauvegarde S3 pour les événements ayant échoué ou tous les événements en choisissant un compartiment existant ou en créant un nouveau compartiment. Assurez-vous de configurer les paramètres liés à S3 tels que les conditions de tampon, les paramètres de compression et de chiffrement et les options de journalisation d'erreurs dans l'assistant de flux de diffusion.

6.    Sous IAM role (Rôle IAM), choisissez Create New (Créer).

7.    Dans l'onglet qui s'ouvre, entrez un nom de rôle, puis choisissez Allow (Autoriser).

8.    Choisissez Suivant.

9.    Sélectionnez Create delivery Stream (Créer un flux de diffusion).

Configurer les journaux de flux VPC

Si vous avez déjà un journal de flux VPC que vous souhaitez utiliser, vous pouvez ignorer la section suivante..

1.    Connectez-vous à la console CloudWatch.

2.    Dans le volet de navigation, sélectionnez Logs.

3.    Pour Actions, sélectionnez Create log group (Créer un groupe de journaux).

4.    Entrez un nom de groupe de journaux.

5.    Sélectionnez Create log group (Créer un groupe de journaux).

6.    Connectez-vous à la console Amazon VPC.

7.    Dans le volet de navigation, sous Virtual Private Cloud, choisissez Your VPCs (Vos VPC).

8.    Dans le volet de contenu, sélectionnez votre VPC.

9.    Choisissez la vue Flow logs (Journaux de flux).

10.   Choisissez Create flow log (Créer un journal de contenu).
Pour Filter (filtre), sélectionner All (Tout).
Dans le champ Destination log group (Groupe de journaux de destination), sélectionnez le groupe de journaux que vous venez de créer.
Pour IAM role (Rôle IAM), sélectionnez un rôle IAM qui autorise votre VPC à publier des journaux dans CloudWatch.
Remarque :
Si vous n'avez pas de rôle IAM approprié, choisissez Set Up Permissions under IAM role (Configurer des autorisations sous un rôle IAM). Choisissez Create a new IAM role (Créer un rôle IAM). Conservez les paramètres par défaut sélectionnés. Choisissez Allow (Autoriser) pour créer et associer le rôle VPCFlowLogs au groupe de journaux de destination.

11.   Choisissez Create (Créer) pour créer votre journal de flux VPC.

12.   Établissez un flux en temps réel de votre groupe de journaux vers votre flux de diffusion.
Pour obtenir des instructions relatives à AWS Lambda, consultez Accès aux journaux Amazon CloudWatch pour AWS Lambda.
Pour obtenir des instructions relatives à Amazon Elasticsearch Service (Amazon ES), consultez Diffusion de données CloudWatch Logs vers Amazon Elasticsearch Service.
Pour Kinesis Data Firehose, créez un abonnement CloudWatch Logs dans l'interface de ligne de commande AWS à l'aide des instructions suivantes.

Créer un abonnement CloudWatch Logs

1.    Donnez à CloudWatch les autorisations de rôle nécessaires pour publier votre flux Kinesis Data Firehose.

2.    Connectez-vous à AWS CLI.

3.    Créez votre stratégie d'approbation (par exemple, TrustPolicyforCWLToFireHose.json) à l'aide de l'exemple de fichier JSON suivant. N'oubliez pas de remplacer YOUR-RESOURCE-REGION par la région AWS de votre ressource.

{
  "Statement": {
    "Effect": "Allow",
    "Principal": { "Service": "logs.region.amazonaws.com" },
    "Action": "sts:AssumeRole"
  }
}

4.    Créez le rôle avec les autorisations à partir de la stratégie d'approbation en utilisant l'exemple de commande suivant :

$ aws iam create-role --role-name CWLtoKinesisFirehoseRole --assume-role-policy-document file://TrustPolicyForCWLToFireHose.json

5.    Créez votre stratégie IAM (par exemple, PermissionPolicyForCWLToFireHose.json) à l'aide de l'exemple de fichier JSON suivant. Veillez à bien remplacer :
YOUR-AWS-ACCT-NUM par votre numéro de compte AWS,
YOUR-RESOURCE-REGION par la région de votre ressource, et
FirehoseSplunkDeliveryStream par le nom de votre flux.

{
    "Statement":[
      {
        "Effect":"Allow",
        "Action":["firehose:*"],
        "Resource":["arn:aws:firehose:YOUR-RESOURCE-REGION:YOUR-AWS-ACCT-NUM:deliverystream/FirehoseSplunkDeliveryStream"]
      },
      {
        "Effect":"Allow",
        "Action":["iam:PassRole"],
        "Resource":["arn:aws:iam::YOUR-AWS-ACCT-NUM:role/CWLtoKinesisFirehoseRole"]
      }
    ]
}

6.    Attachez la stratégie IAM au nouveau rôle créé en utilisant l'exemple de commande suivant :

$ aws iam put-role-policy 
    --role-name CWLtoKinesisFirehoseRole 
    --policy-name Permissions-Policy-For-CWL 
    --policy-document file://PermissionPolicyForCWLToFireHose.json

7.    Créez un filtre d'abonnement en utilisant l'exemple de commande suivant. Veillez à remplacer YOUR-AWS-ACCT-NUM par votre numéro de compte AWS, YOUR-RESOURCE-REGION par le région de votre ressource et FirehoseSplunkDeliveryStream par le nom de votre flux.

$ aws logs put-subscription-filter 
   --log-group-name " /vpc/flowlog/FirehoseSplunk" 
   --filter-name "Destination" 
   --filter-pattern "" 
   --destination-arn "arn:aws:firehose:YOUR-RESOURCE-REGION:YOUR-AWS-ACCT-NUM:deliverystream/FirehoseSplunkDeliveryStream" 
   --role-arn "arn:aws:iam::YOUR-AWS-ACCT-NUM:role/CWLtoKinesisFirehoseRole"

Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 08/11/2018