Intégration d’une instance de base de données Amazon RDS for Db2 avec 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 avec Amazon S3

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

Note

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

Pour que RDS for Db2 s’intègre à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3 où réside RDS for Db2. Si vous n’avez pas de compartiment S3 à l’heure actuelle, créez-en un.

Étape 1 : créer une politique 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 instance de base de données RDS. Cette étape suppose également que vous avez déjà créé un compartiment S3. Pour plus d’informations, consultez Création d’un compartiment dans le Guide de l’utilisateur Amazon S3.

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

  • ARN (Amazon Resource Name) de votre compartiment

  • L'ARN de votre clé AWS Key Management Service (AWS KMS), si votre bucket utilise SSE-KMS SSE-S3 le chiffrement.

La politique IAM que vous créez doit contenir les informations suivantes. {amzn-s3-demo-bucket}Remplacez-le par le nom de votre compartiment S3.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowS3BucketAccess", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::${amzn-s3-demo-bucket}/*", "arn:aws:s3:::${amzn-s3-demo-bucket}" ] }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] } ] }

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

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

  2. Dans le panneau de navigation, choisissez Politiques.

  3. Sélectionnez Créer une politique, puis choisissez JSON.

  4. Ajoutez des actions par service. Pour transférer les fichiers d’un compartiment Amazon S3 vers Amazon RDS, vous devez sélectionner les autorisations du compartiment et les autorisations d’objets.

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

  6. Choisissez Suivant.

  7. Pour Nom de la politique, attribuez un nom à cette politique.

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

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

Pour créer une politique IAM afin d’autoriser Amazon RDS à accéder à votre compartiment Amazon S3
  1. Créez un fichier JSON contenant le document de politique JSON suivant. {amzn-s3-demo-bucket}Remplacez-le par le nom de votre compartiment S3.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowS3BucketAccess", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::${amzn-s3-demo-bucket}/*", "arn:aws:s3:::${amzn-s3-demo-bucket}" ] }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] } ] }
  2. Exécutez la commande create-policy. Dans l'exemple suivant, remplacez iam_policy_name et iam_policy_file_name par le nom de votre politique IAM et le nom du fichier JSON que vous avez créé à l'étape 1.

    Pour Linux, macOS ou Unix :

    aws iam create-policy \ --policy-name iam_policy_name \ --policy-document file://iam_policy_file_name.json

    Pour Windows :

    aws iam create-policy ^ --policy-name iam_policy_name ^ --policy-document file://iam_policy_file_name.json
  3. Après avoir créé la politique, notez son ARN. Vous en aurez besoin pour Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM.

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

Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM

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

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

Création d’un rôle IAM et ajout de votre politique IAM
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  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, choisissez 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 Politiques d’autorisations, recherchez et sélectionnez le nom de la politique IAM 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. Choisissez Créer un rôle.

Création d’un rôle IAM et ajout de votre politique IAM
  1. Créez un fichier JSON contenant le document de politique JSON suivant :

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Exécutez la commande create-role. Dans l'exemple suivant, remplacez iam_role_name et iam_assume_role_policy_file_name par le nom de votre rôle IAM et le nom du fichier JSON que vous avez créé à l'étape 1.

    Pour Linux, macOS ou Unix :

    aws iam create-role \ --role-name iam_role_name \ --assume-role-policy-document file://iam_assume_role_policy_file_name.json

    Pour Windows :

    aws iam create-role ^ --role-name iam_role_name ^ --assume-role-policy-document file://iam_assume_role_policy_file_name.json
  3. Une fois le rôle créé, notez son ARN. Vous en aurez besoin pour Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2.

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

    Pour Linux, macOS ou Unix :

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

    Pour Windows :

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

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

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

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

  • Vous devez avoir accès à un rôle IAM auquel est associée la politique d’autorisations Amazon S3 requise.

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

  • Votre instance de base de données RDS for Db2 doit être dans l’état Disponible.

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

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

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

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

  4. Dans l’onglet Connectivity & security (Connectivité & sécurité), faites défiler l’écran jusqu’à l’onglet Manage IAM roles (Gérer les rôles IAM) au bas de la page.

  5. Pour Ajouter des rôles IAM à cette instance, choisissez le rôle que vous avez créé dansÉtape 2 : création d’un rôle IAM et ajoute de votre politique IAM.

  6. Pour Fonction, choisissez S3_INTEGRATION.

  7. Choisissez Ajouter un rôle.

    La fonctionnalité S3_INTEGRATION a été ajoutée au rôle IAM pour une instance de base de données.

Pour ajouter un rôle IAM à votre instance de base de données RDS for Db2, exécutez la commande add-role-to-db-instance. Dans l'exemple suivant, remplacez regiondb_instance_name, et iam_role_arn par le nom de l' Région AWS endroit où se trouve votre instance de base de données, le nom de votre instance de base de données et l'ARN du rôle IAM que vous avez créé dansÉtape 2 : création d’un rôle IAM et ajoute de votre politique IAM.

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Pour confirmer que le rôle a bien été ajouté à votre instance de base de données RDS for Db2, exécutez la commande describe-db-instances. Dans l'exemple suivant, remplacez db_instance_name par le nom de votre instance de base de données.

Pour Linux, macOS ou Unix :

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

Pour Windows :

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

Le résultat produit lors de l’exécution de cette commande est semblable à l’exemple suivant :

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