Integration einer DB-Instance von Amazon RDS für Db2 mit Amazon S3 - Amazon Relational Database Service

Integration einer DB-Instance von Amazon RDS für Db2 mit Amazon S3

Sie können Dateien mit gespeicherten Amazon-RDS-Prozeduren zwischen Ihrer DB-Instance von Amazon RDS für Db2 und einem Amazon Simple Storage Service (Amazon S3)-Bucket übertragen. Weitere Informationen finden Sie unter Referenz für gespeicherte Prozeduren von RDS für Db2.

Anmerkung

Die DB-Instance und der Amazon-S3-Bucket müssen sich in der gleichen AWS-Region befinden.

Damit RDS für Db2 in Amazon S3 integriert werden kann, benötigt Ihre DB-Instance Zugriff auf einen Amazon-S3-Bucket, indem sich Ihr RDS für Db2 befindet. Wenn Sie noch über keinen S3-Bucket verfügen, erstellen Sie einen Bucket.

Schritt 1: Erstellen einer IAM-Richtlinie

In diesem Schritt erstellen Sie eine AWS Identity and Access Management (IAM)-Richtlinie mit den erforderlichen Berechtigungen, um Dateien von Ihrem Amazon-S3-Bucket auf Ihre RDS-DB-Instance zu übertragen. In diesem Schritt wird davon ausgegangen, dass Sie bereits einen S3-Bucket erstellt haben. Weitere Informationen finden Sie unter Erstellen eines Buckets im Benutzerhandbuch für Amazon S3.

Notieren Sie sich vor dem Erstellen der Richtlinie die folgenden Informationen:

  • Amazon-Ressourcenname (ARN) Ihres Buckets

  • Den ARN für Ihren AWS Key Management Service (AWS KMS)-Schlüssel, wenn Ihr Bucket die Verschlüsselung SSE-KMS oder SSE-S3 verwendet.

Erstellen Sie eine IAM-Richtlinie, die folgende Berechtigungen enthält:

"kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts"

Sie können eine IAM-Richtlinie mithilfe der AWS Management Console oder der AWS Command Line Interface (AWS CLI) erstellen.

So erstellen Sie eine IAM-Richtlinie, die Amazon RDS Zugriff auf Ihren Amazon-S3-Bucket gewährt
  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Richtlinien.

  3. Wählen Sie Richtlinie erstellen und anschließend die Option JSON.

  4. Fügen Sie Aktionen nach Dienst hinzu. Um Dateien aus einem Amazon-S3-Bucket an Amazon RDS zu übertragen, müssen Sie Bucket- und Objektberechtigungen auswählen.

  5. Erweitern Sie Resources (Ressourcen). Sie müssen Ihre Bucket- und Objektressourcen angeben.

  6. Wählen Sie Weiter aus.

  7. Geben Sie unter Richtlinienname einen Namen für diese Richtlinie ein.

  8. (Optional) Geben Sie im Feld Description (Beschreibung) eine Beschreibung für diese Richtlinie ein.

  9. Wählen Sie Richtlinie erstellen aus.

So erstellen Sie eine IAM-Richtlinie, die Amazon RDS Zugriff auf Ihren Amazon-S3-Bucket gewährt
  1. Führen Sie den Befehl create-policy aus. Ersetzen Sie im folgenden Beispiel iam_policy_name und s3_bucket_name durch einen Namen für Ihre IAM-Richtlinie und den Namen des Amazon-S3-Buckets, in dem sich Ihre Datenbank von RDS für Db2 befindet.

    Für Linux, macOS oder Unix:

    aws iam create-policy \ --policy-name iam_policy_name \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::s3_bucket_name/*", "arn:aws:s3:::s3_bucket_name" ] } ] }'

    Für Windows:

    aws iam create-policy ^ --policy-name iam_policy_name ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::s3_bucket_name/*", "arn:aws:s3:::s3_bucket_name" ] } ] }'
  2. Nach der Erstellung der Richtlinie notieren Sie sich den ARN der Richtlinie. Sie benötigen den ARN für Schritt 2: Erstellen einer IAM-Rolle und Anfügen der IAM-Richtlinie.

Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Schritt 2: Erstellen einer IAM-Rolle und Anfügen der IAM-Richtlinie

In diesem Schritt wird davon ausgegangen, dass Sie die IAM-Richtlinie in Schritt 1: Erstellen einer IAM-Richtlinie erstellt haben. In diesem Schritt erstellen Sie eine IAM-Rolle für Ihre DB-Instance von RDS für Db2 und fügen dann Ihre IAM-Richtlinie an die Rolle an.

Sie können mithilfe der AWS Management Console oder der AWS CLI eine IAM-Rolle für die DB-Instance erstellen.

So erstellen Sie eine IAM-Rolle und fügen ihr die IAM-Richtlinie an
  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles.

  3. Wählen Sie Rolle erstellen aus.

  4. Wählen Sie für Typ vertrauenswürdiger Entitäten die Option AWS-Service aus.

  5. Wählen Sie für Service oder Anwendungsfall die Option RDS und dann RDS Rolle zur Datenbank hinzufügen aus.

  6. Wählen Sie Weiter aus.

  7. Suchen Sie unter Berechtigungsrichtlinien nach dem Namen der von Ihnen erstellten IAM-Richtlinie und wählen Sie ihn aus.

  8. Wählen Sie Weiter aus.

  9. Geben Sie für Role name (Rollenname) einen Rollennamen ein.

  10. (Optional) Geben Sie unter Role description (Rollenbeschreibung) eine Beschreibung für die neue Rolle ein.

  11. Wählen Sie Rolle erstellen aus.

So erstellen Sie eine IAM-Rolle und fügen ihr die IAM-Richtlinie an
  1. Führen Sie den Befehl create-role aus. Ersetzen Sie im folgenden Beispiel iam_role_name durch einen Namen für Ihre IAM-Rolle.

    Für Linux, macOS oder Unix:

    aws iam create-role \ --role-name iam_role_name \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'

    Für Windows:

    aws iam create-role ^ --role-name iam_role_name ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  2. Notieren Sie nach dem Erstellen der Rolle den ARN der Rolle. Sie benötigen den ARN für Schritt 3: Hinzufügen Ihrer IAM-Rolle zu Ihrer DB-Instance von RDS für Db2.

  3. Führen Sie den Befehl attach-role-policy aus. Ersetzen Sie im folgenden Beispiel iam_policy_arn durch den ARN der IAM-Richtlinie, die Sie in Schritt 1: Erstellen einer IAM-Richtlinie erstellt haben. Ersetzen Sie iam_role_name durch den Namen der gerade erstellten IAM-Rolle.

    Für Linux, macOS oder Unix:

    aws iam attach-role-policy \ --policy-arn iam_policy_arn \ --role-name iam_role_name

    Für Windows:

    aws iam attach-role-policy ^ --policy-arn iam_policy_arn ^ --role-name iam_role_name

Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer im IAM-Benutzerhandbuch.

Schritt 3: Hinzufügen Ihrer IAM-Rolle zu Ihrer DB-Instance von RDS für Db2

In diesem Schritt fügen Sie Ihre IAM-Rolle zu Ihrer DB-Instance von RDS für Db2 hinzu. Beachten Sie die folgenden Voraussetzungen:

  • Sie müssen Zugriff auf eine IAM-Rolle haben, der die Amazon-S3-Berechtigungsrichtlinie angefügt ist.

  • Sie können jeweils nur eine IAM-Rolle zu Ihrer DB-Instance von RDS für Db2 hinzufügen.

  • Ihre DB-Instance von RDS für Db2 muss sich im Status Verfügbar befinden.

Sie können mithilfe der AWS Management Console oder der AWS CLI eine IAM-Rolle zu Ihrer DB-Instance hinzufügen.

So fügen Sie eine IAM-Rolle zu Ihrer DB-Instance von RDS für Db2 hinzu
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie den Namen Ihrer DB-Instance von RDS für Db2 aus.

  4. Auf derKonnektivität & SicherheitScrollen Sie nach unten zumIAM-Rollen verwaltenunten auf der Seite.

  5. Wählen Sie unter IAM-Rollen zu dieser Instance hinzufügen die Rolle aus, die Sie in Schritt 2: Erstellen einer IAM-Rolle und Anfügen der IAM-Richtlinie erstellt haben.

  6. Wählen Sie unter Feature (Funktion) die Option S3_INTEGRATION aus.

  7. Wählen Sie Rolle hinzufügen aus.

    Das Feature S3_INTEGRATION wird zur IAM-Rolle für eine DB-Instance hinzugefügt.

Um zu Ihrer DB-Instance von RDS für Db2 eine IAM-Rolle hinzuzufügen, führen Sie den Befehl add-role-to-db-instance aus. Ersetzen Sie im folgenden Beispiel db_instance_name und iam_role_arn durch den Namen Ihrer DB-Instance und den ARN der IAM-Rolle, die Sie in Schritt 2: Erstellen einer IAM-Rolle und Anfügen der IAM-Richtlinie erstellt haben.

Für Linux, macOS oder Unix:

aws rds add-role-to-db-instance \ --db-instance-identifier db_instance_name \ --feature-name S3_INTEGRATION \ --role-arn iam_role_arn \

Für Windows:

aws rds add-role-to-db-instance ^ --db-instance-identifier db_instance_name ^ --feature-name S3_INTEGRATION ^ --role-arn iam_role_arn ^

Führen Sie den Befehl describe-db-instances aus, um zu bestätigen, dass die Rolle erfolgreich zu Ihrer DB-Instance von RDS für Db2 hinzugefügt wurde. Ersetzen Sie im folgenden Beispiel db_instance_name durch den Namen Ihrer DB-Instance.

Für Linux, macOS oder Unix:

aws rds describe-db-instances \ --filters "Name=db-instance-id,Values=db_instance_name" \ --query 'DBInstances[].AssociatedRoles'

Für Windows:

aws rds describe-db-instances ^ --filters "Name=db-instance-id,Values=db_instance_name" ^ --query 'DBInstances[].AssociatedRoles'

Die Ausgabe dieses Befehls sieht etwa so aus:

[ [ { "RoleArn": "arn:aws:iam::0123456789012:role/rds-db2-s3-role", "FeatureName": "S3_INTEGRATION", "Status": "ACTIVE" } ] ]