Integrazione di un’istanza database Amazon RDS per Db2 con Amazon S3 - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Integrazione di un’istanza database Amazon RDS per Db2 con Amazon S3

È possibile trasferire i file tra l’istanza database Amazon RDS per Db2 e un bucket Amazon Simple Storage Service (Amazon S3) utilizzando le stored procedure di Amazon RDS. Per ulteriori informazioni, consulta Informazioni di riferimento sulle stored procedure di Amazon RDS per Db2.

Nota

L'istanza database e il bucket Amazon S3 devono trovarsi nella stessa Regione AWS.

Per l’integrazione di RDS per Db2 con Amazon S3, è necessario che l’istanza database abbia accesso a un bucket Amazon S3 in cui si trova RDS per Db2. Se al momento non è disponibile un bucket S3, creane uno.

Fase 1: Creazione di una policy IAM

In questo passaggio, crei una policy AWS Identity and Access Management (IAM) con le autorizzazioni necessarie per trasferire file dal bucket Amazon S3 all'istanza DB RDS. Questo passaggio presuppone che tu abbia già creato un bucket S3. Per ulteriori informazioni, consulta Creazione di un bucket nella Guida per l’utente di Amazon S3.

Prima di creare la policy, prendi nota delle seguenti informazioni:

  • L'Amazon Resource Name (ARN) del bucket

  • L'ARN per la tua chiave AWS Key Management Service (AWS KMS), se il tuo bucket utilizza SSE-KMS la crittografia o. SSE-S3

La policy IAM che crei dovrebbe contenere le seguenti informazioni. Sostituiscilo {amzn-s3-demo-bucket} con il nome del tuo bucket 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": [ "*" ] } ] }

Puoi creare una policy IAM utilizzando AWS Management Console o il AWS Command Line Interface ()AWS CLI.

Per creare una policy IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, scegli Policy.

  3. Scegli Crea policy, quindi JSON.

  4. Aggiungi azioni per ogni servizio. Per trasferire i file da un bucket Amazon S3 ad Amazon RDS, devi selezionare le autorizzazioni per bucket e oggetti.

  5. Espandi Risorse. Specifica le risorse bucket e oggetti.

  6. Scegli Next (Successivo).

  7. In Nome policy, inserisci un nome per la policy.

  8. (Facoltativo) In Descrizione, inserisci una descrizione per la policy.

  9. Scegli Crea policy.

Per creare una policy IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3
  1. Crea un file JSON che contenga il seguente documento di policy JSON. {amzn-s3-demo-bucket}Sostituiscilo con il nome del tuo bucket 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. Esegui il comando create-policy. Nell'esempio seguente, sostituisci iam_policy_name e iam_policy_file_name con un nome per la tua policy IAM e il nome del file JSON che hai creato nel passaggio 1.

    Per Linux, macOS o Unix:

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

    Per Windows:

    aws iam create-policy ^ --policy-name iam_policy_name ^ --policy-document file://iam_policy_file_name.json
  3. Una volta creata la policy, prendi nota del relativo ARN. L’ARN servirà per Fase 2: creazione di un ruolo IAM e collegamento della policy IAM.

Per informazioni sulla creazione di una policy IAM, consulta Creazione di policy IAM nella Guida per l’utente di IAM.

Fase 2: creazione di un ruolo IAM e collegamento della policy IAM

Questo passaggio presuppone che tu abbia creato la policy IAM in Fase 1: Creazione di una policy IAM. In questa fase, si crea un ruolo IAM per l’istanza database RDS per Db2 e quindi si collega la policy IAM al ruolo.

Puoi creare un ruolo IAM per la tua istanza DB utilizzando AWS Management Console o il AWS CLI.

Per creare un ruolo IAM e collegare la policy IAM al ruolo
  1. Accedi a AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Roles (Ruoli).

  3. Selezionare Create role (Crea ruolo).

  4. Per Tipo di entità attendibile, seleziona Servizio AWS.

  5. Per Servizio o caso d’uso, seleziona RDS, quindi RDS Aggiungi ruolo al database.

  6. Scegli Next (Successivo).

  7. In Policy di autorizzazione, cerca e seleziona il nome della policy IAM che hai creato.

  8. Scegli Next (Successivo).

  9. In Role name, (Nome ruolo), inserisci un nome.

  10. (Facoltativo) In Description (Descrizione), inserisci una descrizione per il nuovo ruolo.

  11. Scegli Crea ruolo.

Per creare un ruolo IAM e collegare la policy IAM al ruolo
  1. Crea un file JSON che contenga il seguente documento di policy JSON:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Esegui il comando create-role. Nell'esempio seguente, sostituisci iam_role_name e iam_assume_role_policy_file_name con un nome per il tuo ruolo IAM e il nome del file JSON che hai creato nel passaggio 1.

    Per Linux, macOS o Unix:

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

    Per Windows:

    aws iam create-role ^ --role-name iam_role_name ^ --assume-role-policy-document file://iam_assume_role_policy_file_name.json
  3. Una volta creato il ruolo, annota l'ARN del ruolo. L’ARN servirà per Fase 3: aggiunta del ruolo IAM all’istanza database RDS per Db2.

  4. Esegui il comando attach-role-policy. Nell'esempio seguente, sostituisci iam_policy_arn con l'ARN della policy IAM in cui hai creato. Fase 1: Creazione di una policy IAM Sostituiscilo iam_role_name con il nome del ruolo IAM che hai appena creato.

    Per Linux, macOS o Unix:

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

    Per Windows:

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

Per ulteriori informazioni, consulta la pagina relativa alla creazione di un ruolo per delegare le autorizzazioni a un utente IAM nella Guida per l'utente IAM.

Fase 3: aggiunta del ruolo IAM all’istanza database RDS per Db2

In questa fase, si aggiunge il ruolo IAM all’istanza database RDS per Db2. Si notino i requisiti seguenti:

  • Devi disporre dell'accesso a un ruolo a cui sono collegate le policy di autorizzazione di Amazon S3.

  • È possibile associare un solo ruolo IAM alla volta all’istanza database RDS per Db2.

  • Lo stato dell’istanza database RDS per Db2 deve essere Disponibile.

Puoi aggiungere un ruolo IAM alla tua istanza DB utilizzando AWS Management Console o il AWS CLI.

Per aggiungere un ruolo IAM all’istanza database RDS per Db2
  1. Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel pannello di navigazione, seleziona Database.

  3. Scegli il nome dell’istanza database RDS per Db2.

  4. Sulla scheda Connettività e sicurezza, scorri verso il basso fino alla sezione Gestisci i ruoli IAM in fondo alla pagina.

  5. Per Aggiungi i ruoli IAM a questa istanza, scegli il ruolo creato in Fase 2: creazione di un ruolo IAM e collegamento della policy IAM.

  6. Per Feature (Caratteristica), selezionare S3_INTEGRATION.

  7. Scegliere Add role (Aggiungi ruolo).

    La funzionalità S3_INTEGRATION aggiunta al ruolo IAM per un’istanza database.

Per aggiungere un ruolo IAM all’istanza database RDS per Db2, esegui il comando add-role-to-db-instance. Nell'esempio seguente regiondb_instance_name, sostituisci e iam_role_arn con il nome dell'istanza DB Regione AWS in cui esiste, il nome dell'istanza DB e l'ARN del ruolo IAM in cui hai creato. Fase 2: creazione di un ruolo IAM e collegamento della policy IAM

Per Linux, macOS o 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 \

Per 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 ^

Per verificare che il ruolo sia stato aggiunto correttamente all’istanza database RDS per Db2, esegui il comando describe-db-instances. Nell'esempio seguente, sostituiscilo db_instance_name con il nome dell'istanza DB.

Per Linux, macOS o Unix:

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

Per Windows:

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

Questo comando genera un output simile all’esempio seguente:

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