Schritt 1: Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream - Amazon CloudWatch -Protokolle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 1: Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream

Wichtig

Bevor Sie die folgenden Schritte ausführen, müssen Sie eine Zugriffsrichtlinie verwenden, damit Kinesis Data Firehose auf Ihren Amazon-S3-Bucket zugreifen kann. Weitere Informationen finden Sie unter Controlling Access (Regelung des Zugriffs) im Entwicklerhandbuch für Amazon Kinesis Data Firehose.

Alle Schritte in diesem Abschnitt (Schritt 1) müssen im Konto des Protokolldatenempfängers ausgeführt werden.

USA Ost (Nord-Virginia) wird in den folgenden Beispielbefehlen verwendet. Ersetzen Sie diese Region durch die richtige Region für Ihre Bereitstellung.

Erstellen einen Kinesis-Data-Firehose-Bereitstellungsdatenstrom als Ziel
  1. Erstellen eines Amazon-S3-Buckets:

    aws s3api create-bucket --bucket firehose-test-bucket1 --create-bucket-configuration LocationConstraint=us-east-1
  2. Erstellen Sie die IAM-Rolle, die Amazon Kinesis Data Firehose die Berechtigung erteilt, Daten in den Bucket zu übertragen.

    1. Verwenden Sie zunächst einen Text-Editor zum Erstellen einer Vertrauensrichtlinie in einer Datei ~/TrustPolicyForFirehose.json.

      { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
    2. Erstellen Sie die IAM-Rolle und geben Sie die Datei mit der Vertrauensrichtlinie an, die Sie gerade erstellt haben.

      aws iam create-role \ --role-name FirehosetoS3Role \ --assume-role-policy-document file://~/TrustPolicyForFirehose.json
    3. Die Ausgabe für den Befehl sieht dann wie folgt aus. Notieren Sie sich den Rollennamen und die Rollen-ARN.

      { "Role": { "Path": "/", "RoleName": "FirehosetoS3Role", "RoleId": "AROAR3BXASEKW7K635M53", "Arn": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "CreateDate": "2021-02-02T07:53:10+00:00", "AssumeRolePolicyDocument": { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "222222222222" } } } } } }
  3. Erstellen Sie eine Berechtigungsrichtlinie, um zu definieren, welche Aktionen Kinesis Data Firehose in Ihrem Konto durchführen darf.

    1. Verwenden Sie zunächst einen Text-Editor, um die folgende Berechtigungsrichtlinie in einer Datei mit dem Namen zu erstellen ~/PermissionsForFirehose.json. Abhängig von Ihrem Anwendungsfall müssen Sie dieser Datei möglicherweise weitere Berechtigungen hinzufügen.

      { "Statement": [{ "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::firehose-test-bucket1", "arn:aws:s3:::firehose-test-bucket1/*" ] }] }
    2. Geben Sie den folgenden Befehl ein, um die soeben erstellte Berechtigungsrichtlinie der IAM-Rolle zuzuordnen.

      aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
  4. Geben Sie den folgenden Befehl ein, um den Kinesis-Data-Firehose Bereitstellungsdatenstrom zu erstellen. Ersetzen Sie my-role-arn und my-bucket-arn durch die richtigen Werte für Ihre Bereitstellung.

    aws firehose create-delivery-stream \ --delivery-stream-name 'my-delivery-stream' \ --s3-destination-configuration \ '{"RoleARN": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "BucketARN": "arn:aws:s3:::firehose-test-bucket1"}'

    Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

    { "DeliveryStreamARN": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream" }