View a markdown version of this page

Utilizzo di Amazon S3 con istanze Amazon EC2 - Amazon Elastic Compute Cloud

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à.

Utilizzo di Amazon S3 con istanze Amazon EC2

Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni tra le migliori del settore. È possibile utilizzare Amazon S3 per archiviare e recuperare qualsiasi quantità di dati in un'ampia gamma di casi d'uso, come data lake, siti web, backup e analisi dei big data, da un'istanza Amazon EC2 oppure ovunque tramite Internet. Per ulteriori informazioni, consulta Che cos'è Amazon S3?

Esistono due modi per accedere ai dati di Amazon S3 dalle istanze Amazon EC2:

  • Accesso ai file: usa Amazon S3 Files per montare un bucket S3 come file system ad alte prestazioni sulla tua istanza.

  • Accesso agli oggetti: utilizza l'API Amazon S3 o strumenti come wget per copiare oggetti da e verso S3. AWS CLI AWS SDKs

Accesso ai file con Amazon S3 Files

Amazon S3 Files è un file system serverless che ti consente di montare il tuo bucket S3 generico come file system ad alte prestazioni sulla tua istanza di calcolo. Con S3 Files, puoi accedere agli oggetti S3 come file utilizzando operazioni standard del file system come lettura e scrittura sul percorso di montaggio locale.

Puoi montare un file system S3 su un'istanza EC2 all'avvio o dopo l'avvio su un'istanza in esecuzione.

Prerequisiti

Prima di configurare S3 Files con la tua istanza EC2, assicurati di avere quanto segue:

  • Un file system S3 e almeno una destinazione di montaggio nello stato disponibile. Per informazioni sulla creazione di un file system S3, consulta Working with Amazon S3 Files nella Amazon S3 User Guide.

  • Un'istanza EC2 Linux a cui è associato un profilo di istanza. Per informazioni sulle autorizzazioni necessarie per montare il file system, consulta i ruoli e le politiche IAM nella Guida per l'utente di Amazon S3.

  • Gruppi di sicurezza che consentono il traffico NFS (porta 2049) tra l'istanza e le destinazioni di montaggio del file system. Per informazioni sulle impostazioni dei gruppi di sicurezza richieste, consulta Security groups nella Amazon S3 User Guide.

Per montare un file system su un'istanza EC2 all'avvio utilizzando la console EC2
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Scegliere Launch Instance (Avvia istanza).

  3. Sotto Network settings (Impostazioni di rete) effettua le seguenti operazioni:

    1. Scegli Modifica.

    2. Per Subnet (Sottorete), selezionare una sottorete.

    3. Seleziona il gruppo di sicurezza predefinito per assicurarti che l'istanza EC2 possa accedere al tuo file system S3. Non è possibile accedere all'istanza EC2 tramite Secure Shell (SSH) utilizzando questo gruppo di sicurezza. Per l'accesso tramite SSH, puoi successivamente modificare il gruppo di sicurezza predefinito e aggiungere una regola per consentire SSH o aggiungere un nuovo gruppo di sicurezza che consenta SSH. Puoi utilizzare le seguenti impostazioni:

      1. Tipo: SSH

      2. Protocollo: TCP

      3. Intervallo porte: 22

      4. Origine: Qualsiasi 0.0.0.0/0

  4. In Configura archiviazione, procedi come segue:

    1. In File system, scegli File S3.

    2. Scegli Add shared file system (Aggiungi file system condiviso).

    3. Per il file system S3, i file system vengono visualizzati nella zona di disponibilità in base alla sottorete selezionata nelle impostazioni di rete. Scegli il file system S3 che desideri montare. Se non disponi di alcun file system, scegli Crea un nuovo file system per crearne uno nuovo.

    4. Inserisci un percorso di montaggio locale sull'istanza EC2 in cui desideri montare il file system (ad esempio,/mnt/s3files).

    5. Verrà generato un comando per montare il file system e aggiungerlo a fstab. È possibile aggiungere questo comando al campo Dati utente in Dettagli avanzati. L'istanza EC2 verrà quindi configurata per montare il file system S3 all'avvio e ogni volta che viene riavviato. Puoi anche eseguire questi comandi nella tua istanza EC2 dopo l'avvio.

  5. In Dettagli avanzati, collega un profilo di istanza all'istanza. Il tuo ruolo IAM deve disporre delle autorizzazioni per montare il file system e accedere al bucket S3. Per ulteriori informazioni sulle autorizzazioni richieste, consulta i ruoli e le politiche IAM nella Guida per l'utente di Amazon S3.

  6. Scegliere Launch Instance (Avvia istanza).

    Dopo l'avvio dell'istanza, vengono installate le utilità software richieste e il file system viene montato. È possibile visualizzare il file system accedendo al percorso di montaggio locale.

Per montare un file system su un'istanza EC2 dopo il lancio
  1. Connettiti alla tua istanza EC2 tramite Secure Shell (SSH) o utilizzando EC2 Instance Connect nella console EC2.

  2. Per montare il file system S3, utilizza l'utilità mount helper. amazon-efs-utils A seconda della distribuzione Linux in uso, utilizzate uno dei seguenti comandi per installare il amazon-efs-utils pacchetto:

    1. Se utilizzi Amazon Linux, esegui il seguente comando per installare efs-utils dai repository di Amazon:

      sudo yum -y install amazon-efs-utils
    2. Se utilizzi altre distribuzioni Linux supportate, esegui il seguente comando:

      curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
    3. Per altre distribuzioni Linux, consulta il repository efs-utils su. GitHub

  3. Create una directory per il punto di montaggio del file system usando il seguente comando:

    sudo mkdir {path/to/mount}
  4. Monta il file system S3:

    FS="{YOUR_FILE_SYSTEM_ID}" sudo mount -t s3files $FS:/ {path/to/mount}
  5. Conferma che il file system sia montato:

    df -h {path/to/mount}
Per visualizzare gli oggetti nel bucket S3 come file

Dopo aver completato le procedure precedenti, ora puoi leggere e scrivere oggetti S3 come file sul percorso di montaggio locale utilizzando le operazioni standard del file system. Se hai oggetti nel tuo bucket S3, puoi visualizzarli come file usando il seguente comando:

ls {path/to/mount}

Accesso basato su oggetti

Puoi copiare file da e verso Amazon S3 utilizzando l'API S3 o AWS CLI strumenti AWS SDKs HTTP standard. Se disponi delle autorizzazioni necessarie, puoi copiare un file su o da Amazon S3 e la tua istanza utilizzando uno dei seguenti metodi.

wget
Nota

Questo metodo funziona solo per oggetti pubblici. Se l'oggetto non è pubblico, riceverai un messaggio ERROR 403: Forbidden. Se ricevi questo errore, devi utilizzare la console Amazon S3, l' AWS API AWS CLI, l' AWS SDK o AWS Tools for Windows PowerShell, e devi disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta Identity and Access Management for Amazon S3 e Downloading an object nella Guida per l’utente di Amazon S3.

L'wgetutilità è un client HTTP e FTP che puoi utilizzare per scaricare oggetti pubblici da Amazon S3. Viene installata per impostazione di default in Amazon Linux e nella maggior parte delle altre distribuzione ed è disponibile per il download su Windows. Per scaricare un oggetto Amazon S3, utilizza il seguente comando, ricordando di sostituire l'URL dell'oggetto da scaricare.

[ec2-user ~]$ wget https://amzn-s3-demo-bucket.s3.amazonaws.com/path-to-file
PowerShell

Puoi usare AWS Tools for Windows PowerShell per spostare gli oggetti da e verso Amazon S3.

Utilizza il Copy-S3Objectcmdlet per copiare un oggetto Amazon S3 nell'istanza Windows come segue.

Copy-S3Object ` -BucketName amzn-s3-demo-bucket ` -Key path-to-file ` -LocalFile my_copied_file.ext

In alternativa, puoi aprire la console Amazon S3 utilizzando un browser Web sull’istanza Windows.

AWS CLI

Puoi utilizzare AWS Command Line Interface (AWS CLI) per scaricare articoli soggetti a restrizioni da Amazon S3 e caricare articoli. Per ulteriori informazioni, ad esempio su come installare e configurare gli strumenti, consulta la pagina dei dettagli di AWS Command Line Interface.

Il comando aws s3 cp è simile al comando Unix cp. Puoi copiare file da Amazon S3 alla tua istanza, copiare file dalla tua istanza in Amazon S3 e copiare file da posizioni Amazon S3 diverse.

Utilizza il seguente comando per copiare un oggetto da Amazon S3 alla tua istanza:

aws s3 cp s3://amzn-s3-demo-bucket/my_folder/my_file.ext my_copied_file.ext

Utilizza il seguente comando per copiare nuovamente un oggetto dalla tua istanza in Amazon S3:

aws s3 cp my_copied_file.ext s3://amzn-s3-demo-bucket/my_folder/my_file.ext

Il comando aws s3 sync può sincronizzare un intero bucket Amazon S3 in una posizione di directory locale. Questo può essere utile per scaricare un set di dati e conservare la copia locale up-to-date con il set remoto. Se disponi delle autorizzazioni adeguate per il bucket Amazon S3, puoi eseguire il push del backup della directory locale nel cloud quando sei pronto invertendo le posizioni di origine e di destinazione nel comando.

Usa il seguente comando per scaricare un intero bucket Amazon S3 in una directory locale sulla tua istanza:

aws s3 sync s3://amzn-s3-demo-source-bucket local_directory
Amazon S3 API

Puoi utilizzare un'API per accedere ai dati in Amazon S3. Puoi utilizzare questa API per sviluppare la tua applicazione e integrarla con altri APIs e SDKs. Per ulteriori informazioni, consulta Esempi di codice per l'utilizzo di Amazon S3 AWS SDKs nel riferimento all'API di Amazon Simple Storage Service.