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.
Themen
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
Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im Navigationsbereich Richtlinien.
-
Wählen Sie Richtlinie erstellen und anschließend die Option JSON.
-
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.
-
Erweitern Sie Resources (Ressourcen). Sie müssen Ihre Bucket- und Objektressourcen angeben.
-
Wählen Sie Weiter aus.
-
Geben Sie unter Richtlinienname einen Namen für diese Richtlinie ein.
-
(Optional) Geben Sie im Feld Description (Beschreibung) eine Beschreibung für diese Richtlinie ein.
-
Wählen Sie Richtlinie erstellen aus.
So erstellen Sie eine IAM-Richtlinie, die Amazon RDS Zugriff auf Ihren Amazon-S3-Bucket gewährt
-
Führen Sie den Befehl create-policy aus. Ersetzen Sie im folgenden Beispiel
iam_policy_nameunds3_bucket_namedurch 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-nameiam_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-nameiam_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" ] } ] }' -
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
Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im Navigationsbereich Roles.
-
Wählen Sie Rolle erstellen aus.
-
Wählen Sie für Typ vertrauenswürdiger Entitäten die Option AWS-Service aus.
-
Wählen Sie für Service oder Anwendungsfall die Option RDS und dann RDS – Rolle zur Datenbank hinzufügen aus.
-
Wählen Sie Weiter aus.
-
Suchen Sie unter Berechtigungsrichtlinien nach dem Namen der von Ihnen erstellten IAM-Richtlinie und wählen Sie ihn aus.
-
Wählen Sie Weiter aus.
-
Geben Sie für Role name (Rollenname) einen Rollennamen ein.
-
(Optional) Geben Sie unter Role description (Rollenbeschreibung) eine Beschreibung für die neue Rolle ein.
-
Wählen Sie Rolle erstellen aus.
So erstellen Sie eine IAM-Rolle und fügen ihr die IAM-Richtlinie an
-
Führen Sie den Befehl create-role aus. Ersetzen Sie im folgenden Beispiel
iam_role_namedurch einen Namen für Ihre IAM-Rolle.Für Linux, macOS oder Unix:
aws iam create-role \ --role-nameiam_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-nameiam_role_name^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' -
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.
-
Führen Sie den Befehl attach-role-policy aus. Ersetzen Sie im folgenden Beispiel
iam_policy_arndurch den ARN der IAM-Richtlinie, die Sie in Schritt 1: Erstellen einer IAM-Richtlinie erstellt haben. Ersetzen Sieiam_role_namedurch den Namen der gerade erstellten IAM-Rolle.Für Linux, macOS oder Unix:
aws iam attach-role-policy \ --policy-arniam_policy_arn\ --role-nameiam_role_nameFür Windows:
aws iam attach-role-policy ^ --policy-arniam_policy_arn^ --role-nameiam_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
Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.
-
Wählen Sie den Namen Ihrer DB-Instance von RDS für Db2 aus.
-
Auf derKonnektivität & SicherheitScrollen Sie nach unten zumIAM-Rollen verwaltenunten auf der Seite.
-
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.
-
Wählen Sie unter Feature (Funktion) die Option S3_INTEGRATION aus.
-
Wählen Sie Rolle hinzufügen aus.
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-identifierdb_instance_name\ --feature-name S3_INTEGRATION \ --role-arniam_role_arn\
Für Windows:
aws rds add-role-to-db-instance ^ --db-instance-identifierdb_instance_name^ --feature-name S3_INTEGRATION ^ --role-arniam_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"
}
]
]