Intégration d'une instance de base de données Amazon RDS for Db2 à Amazon S3 - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Intégration d'une instance de base de données Amazon RDS for Db2 à Amazon S3

Vous pouvez transférer des fichiers entre votre instance de base de données Amazon RDS for Db2 et un bucket Amazon Simple Storage Service (Amazon S3) contenant des procédures stockées par AmazonRDS. Pour de plus amples informations, veuillez consulter Référence RDS de procédure stockée Amazon pour DB2.

Note

Votre instance de base de données et votre compartiment Amazon S3 doivent se trouver dans la même Région AWS.

RDSPour que Db2 puisse s'intégrer à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3 dans lequel réside votre RDS for Db2. Si vous ne disposez pas actuellement d'un compartiment S3, créez-en un.

Étape 1 : Créer une stratégie IAM

Au cours de cette étape, vous créez une politique AWS Identity and Access Management (IAM) avec les autorisations requises pour transférer des fichiers de votre compartiment Amazon S3 vers votre RDS instance de base de données. Cette étape suppose également que vous avez déjà créé un compartiment S3. Pour plus d'informations, consultez la section Création d'un compartiment dans le guide de l'utilisateur Amazon S3.

Avant de créer la politique, notez les informations suivantes :

  • Le nom de ressource Amazon (ARN) de votre compartiment

  • La clé ARN for your AWS Key Management Service (AWS KMS), si votre bucket utilise SSE-KMS or SSE-S3 chiffrement.

Créez une IAM politique qui inclut les autorisations suivantes :

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

Vous pouvez créer une IAM politique en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI).

Pour créer une IAM politique permettant à Amazon RDS d'accéder à votre compartiment Amazon S3
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Politiques.

  3. Choisissez Créer une politique, puis choisissez JSON.

  4. Ajoutez des actions par service. Pour transférer des fichiers d'un compartiment Amazon S3 vers AmazonRDS, vous devez sélectionner des autorisations de compartiment et des autorisations d'objet.

  5. Développer les Ressources. Vous devez spécifier les ressources de votre bucket et de votre objet.

  6. Choisissez Suivant.

  7. Dans Nom de la stratégie, entrez le nom de cette stratégie.

  8. (Facultatif) Pour Description, saisissez une description pour cette stratégie.

  9. Choisissez Create Policy (Créer une politique).

Pour créer une IAM politique permettant à Amazon RDS d'accéder à votre compartiment Amazon S3
  1. Exécutez le create-policycommande. Dans l'exemple suivant, remplacez iam_policy_name et s3_bucket_name par le nom de votre IAM politique et le nom du compartiment Amazon S3 dans lequel réside votre base de données RDS for Db2.

    Dans Linux, macOS, ou 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" ] } ] }'

    Dans 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. Une fois la stratégie créée, notez celle ARN de la stratégie. Il te faut le ARN formulaireÉtape 2 : Créez un IAM rôle et associez votre IAM politique.

Pour plus d'informations sur la création d'une IAM politique, voir Création de IAM politiques dans le Guide de IAM l'utilisateur.

Étape 2 : Créez un IAM rôle et associez votre IAM politique

Cette étape suppose que vous avez créé la IAM politique dansÉtape 1 : Créer une stratégie IAM. Au cours de cette étape, vous créez un IAM rôle pour votre instance de base de données RDS for Db2, puis vous attachez votre IAM politique au rôle.

Vous pouvez créer un IAM rôle pour votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

Pour créer un IAM rôle et y associer votre IAM politique
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Roles (Rôles).

  3. Sélectionnez Create role (Créer un rôle).

  4. Pour Type d'entité de confiance, sélectionnez Service AWS.

  5. Pour Service ou cas d'utilisation, sélectionnez RDS, puis sélectionnez RDS Ajouter un rôle à la base de données.

  6. Choisissez Suivant.

  7. Pour les politiques d'autorisations, recherchez et sélectionnez le nom de la IAM politique que vous avez créée.

  8. Choisissez Suivant.

  9. Pour Role name (Nom du rôle), saisissez un nom de rôle.

  10. (Facultatif) Pour Description, saisissez une description pour le nouveau rôle.

  11. Sélectionnez Créer un rôle.

Pour créer un IAM rôle et y associer votre IAM politique
  1. Exécutez le create-rolecommande. Dans l'exemple suivant, remplacez-le iam_role_name par le nom de votre IAM rôle.

    Dans Linux, macOS, ou 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" } ] }'

    Dans 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. Une fois le rôle créé, notez le ARN nom du rôle. Il te faut le ARN formulaireÉtape 3 : Ajoutez votre IAM rôle à votre instance de base de données RDS for DB2.

  3. Exécutez le attach-role-policycommande. Dans l'exemple suivant, remplacez iam_policy_arn par le ARN de la IAM politique que vous avez créée dansÉtape 1 : Créer une stratégie IAM. iam_role_nameRemplacez-le par le nom du IAM rôle que vous venez de créer.

    Dans Linux, macOS, ou Unix:

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

    Dans Windows:

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

Pour plus d'informations, consultez la section Création d'un rôle pour déléguer des autorisations à un IAM utilisateur dans le Guide de IAM l'utilisateur.

Étape 3 : Ajoutez votre IAM rôle à votre instance de base de données RDS for DB2

Au cours de cette étape, vous ajoutez votre IAM rôle à votre instance de base de données RDS for Db2. Notez les critères suivants :

  • Vous devez avoir accès à un IAM rôle associé à la politique d'autorisation Amazon S3 requise.

  • Vous ne pouvez associer qu'un seul IAM rôle à votre instance de base de données RDS for Db2 à la fois.

  • Votre instance de base de données RDS for DB2 doit être à l'état Disponible.

Vous pouvez ajouter un IAM rôle à votre instance de base de données en utilisant le AWS Management Console ou le AWS CLI.

Pour ajouter un IAM rôle à votre instance de base de données RDS for DB2
  1. Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Databases (Bases de données).

  3. Choisissez le nom RDS de votre instance de base de données for DB2.

  4. Dans l'onglet Connectivité et sécurité, faites défiler l'écran jusqu'à la section Gérer les IAM rôles au bas de la page.

  5. Pour Ajouter IAM des rôles à cette instance, choisissez le rôle que vous avez créé dansÉtape 2 : Créez un IAM rôle et associez votre IAM politique.

  6. Dans Feature, choisissez S3_ INTEGRATION.

  7. Choisissez Ajouter un rôle.

    La INTEGRATION fonctionnalité S3_ a été ajoutée au IAM rôle d'une instance de base de données.

Pour ajouter un IAM rôle à votre instance de base de données RDS for Db2, exécutez add-role-to-db-instancecommande. Dans l'exemple suivant, remplacez db_instance_name et iam_role_arn par le nom de votre instance de base ARN de données et le IAM rôle que vous avez créé dansÉtape 2 : Créez un IAM rôle et associez votre IAM politique.

Dans Linux, macOS, ou Unix:

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

Dans Windows:

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

Pour confirmer que le rôle a été ajouté avec succès à votre instance de base de données RDS for DB2, exécutez describe-db-instancescommande. Dans l'exemple suivant, remplacez db_instance_name par le nom de votre instance de base de données.

Dans Linux, macOS, ou Unix:

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

Dans Windows:

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

Cette commande produit une sortie similaire à l'exemple suivant :

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