Utilizzo degli endpoint in AWS CLI - AWS Command Line Interface

Questa documentazione è valida solo per la Versione 1 della AWS CLI. Per la documentazione relativa alla versione 2 della AWS CLI, consulta la Guida per l’utente per la Versione 2.

Utilizzo degli endpoint in AWS CLI

Per connettersi a livello di programmazione a un Servizio AWS, è possibile utilizzare un endpoint. Un endpoint è l'URL del punto di ingresso di un servizio Web AWS. La AWS CLI (AWS Command Line Interface) utilizza automaticamente l’endpoint predefinito per ogni servizio in una Regione AWS, ma puoi specificare un endpoint alternativo per le tue richieste API.

Impostare l’endpoint per un unico comando

Per sovrascrivere le impostazioni degli endpoint o le variabili di ambiente per un singolo comando, utilizza l’opzione --endpoint-url della riga di comando. Il comando di esempio seguente utilizza un URL personalizzato per l’endpoint Amazon S3.

$ aws s3 ls --endpoint-url http://localhost:4567

Imposta un endpoint globale per tutti i Servizi AWS

Per indirizzare le richieste di tutti i servizi a un URL endpoint personalizzato, utilizza una delle seguenti impostazioni:

  • Variabili di ambiente:

    • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - Ignora gli URL degli endpoint configurati.

      Linux or macOS
      $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
      Windows Command Prompt

      Impostazione per tutte le sessioni

      C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true

      Impostazione solo per la sessione corrente

      C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
      PowerShell
      PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
    • AWS_ENDPOINT_URL - Imposta l’URL globale dell’endpoint.

      Linux or macOS
      $ export AWS_ENDPOINT_URL=http://localhost:4567
      Windows Command Prompt

      Impostazione per tutte le sessioni

      C:\> setx AWS_ENDPOINT_URL http://localhost:4567

      Impostazione solo per la sessione corrente

      C:\> set AWS_ENDPOINT_URL=http://localhost:4567
      PowerShell
      PS C:\> $Env:AWS_ENDPOINT_URL="http://localhost:4567"
  • Il file config

Gli endpoint specifici del servizio e l’opzione della riga di comando --endpoint-url sostituiscono qualsiasi endpoint globale.

Imposta per utilizzare gli endpoint FIP per tutti i Servizi AWS

Per indirizzare le richieste di tutti i servizi all’utilizzo degli endpoint FIPS, utilizza uno dei seguenti:

  • Variabile di ambiente AWS_USE_FIPS_ENDPOINT.

    Linux or macOS
    $ export AWS_USE_FIPS_ENDPOINT=true
    Windows Command Prompt

    Impostazione per tutte le sessioni

    C:\> setx AWS_USE_FIPS_ENDPOINT true

    Impostazione solo per la sessione corrente

    C:\> set AWS_USE_FIPS_ENDPOINT=true
    PowerShell
    PS C:\> $Env:AWS_USE_FIPS_ENDPOINT="true"
  • Impostazione del file use_fips_endpoint.

    use_fips_endpoint = true

Alcuni servizi AWS offrono endpoint che supportano lo standard FIPS (Federal Information Processing Standard) 140-2 in determinate Regioni AWS. Quando il servizio AWS supporta lo standard FIPS, questa impostazione specifica quale endpoint FIPS la AWS CLI deve utilizzare. A differenza degli endpoint AWS standard, gli endpoint FIPS utilizzano una libreria software TLS conforme agli standard FIPS 140-2. Questi endpoint potrebbero essere necessari ad aziende che interagiscono con il governo degli Stati Uniti.

Se questa impostazione è abilitata, ma non esiste un endpoint FIPS per il servizio nella Regione AWS, il comando AWS potrebbe non riuscire. In questo caso, specifica manualmente l’endpoint da utilizzare nel comando utilizzando l’opzione --endpoint-url oppure utilizza gli endpoint specifici del servizio.

Per ulteriori informazioni sulla specificazione degli endpoint FIPS tramite Regione AWS, consulta Endpoint FIPS per servizio.

Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS

Per indirizzare le richieste relative a tutti i servizi in modo che utilizzino gli endpoint dual-stack quando disponibili, utilizza una delle seguenti impostazioni:

  • Variabile di ambiente AWS_USE_DUALSTACK_ENDPOINT.

    Linux or macOS
    $ export AWS_USE_DUALSTACK_ENDPOINT=true
    Windows Command Prompt

    Impostazione per tutte le sessioni

    C:\> setx AWS_USE_DUALSTACK_ENDPOINT true

    Impostazione solo per la sessione corrente

    C:\> set AWS_USE_DUALSTACK_ENDPOINT=true
    PowerShell
    PS C:\> $Env:AWS_USE_DUALSTACK_ENDPOINT="true"
  • Impostazione del file use_dualstack_endpoint.

    use_dualstack_endpoint = true

Consente l’uso di endpoint dual-stack per inviare richieste AWS. Per ulteriori informazioni sugli endpoint dual-stack, che supportano sia il traffico IPv4 che IPv6, consulta Using Amazon S3 dual-stack endpoints nella Guida per l’utente di Amazon Simple Storage Service. Gli endpoint dual-stack sono disponibili per determinati servizi in alcune Regioni. Se non esiste un endpoint dual-stack per il servizio o la Regione AWS, la richiesta ha esito negativo. Questa opzione è disabilitata per impostazione predefinita.

Imposta endpoint specifici del servizio

La configurazione dell’endpoint specifica per il servizio offre la possibilità di utilizzare un endpoint persistente di tua scelta per le richieste della AWS CLI. Queste impostazioni offrono la flessibilità necessaria per supportare endpoint locali, endpoint VPC e ambienti di sviluppo locale di terze parti AWS. È possibile utilizzare endpoint diversi per ambienti di test e produzione. È possibile specificare un URL di endpoint per singoli utenti dei Servizi AWS.

Gli endpoint specifici del servizio possono essere specificati nei seguenti modi:

Endpoint specifici del servizio: variabili di ambiente

Le variabili di ambiente sostituiscono le impostazioni nel file di configurazione, ma non sostituiscono le opzioni specificate nella riga di comando. Utilizza le variabili di ambiente se desideri che tutti i profili impieghino gli stessi endpoint sul tuo dispositivo.

Le seguenti sono variabili di ambiente specifiche del servizio:

  • AWS_IGNORE_CONFIGURED_ENDPOINT_URLS - Ignora tutti gli URL degli endpoint configurati, a meno che non siano specificati nella riga di comando.

    Linux or macOS
    $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    Windows Command Prompt

    Impostazione per tutte le sessioni

    C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true

    Impostazione solo per la sessione corrente

    C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    PowerShell
    PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
  • AWS_ENDPOINT_URL_<SERVICE> - Specifica un endpoint personalizzato utilizzato per un servizio specifico, dove <SERVICE> viene sostituito con l’identificatore Servizio AWS. Per tutte le variabili specifiche del servizio, consulta Endpoint specifici del servizio: elenco di identificatori specifici del servizio.

    I seguenti esempi di variabili di ambiente impostano un endpoint per AWS Elastic Beanstalk.

    Linux or macOS
    $ export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
    Windows Command Prompt

    Impostazione per tutte le sessioni

    C:\> setx AWS_ENDPOINT_URL_ELASTIC_BEANSTALK http://localhost:4567

    Impostazione solo per la sessione corrente

    C:\> set AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
    PowerShell
    PS C:\> $Env:AWS_ENDPOINT_URL_ELASTIC_BEANSTALK="http://localhost:4567"

Per ulteriori informazioni sull’impostazione delle variabili di ambiente, consulta Configurazione delle variabili d’ambiente per AWS CLI.

Endpoint specifici del servizio: file config condiviso

Nel file config condiviso, endpoint_url viene utilizzato in più sezioni. Per impostare un endpoint specifico del servizio, utilizza l’impostazione endpoint_urlannidata sotto una chiave identificativa del servizio all’interno di una sezione dei services. Per i dettagli sulla definizione di una sezione services nel file config condiviso, consulta Tipo di sezione: services.

L’esempio seguente utilizza una sezione services per configurare un URL dell’endpoint specifico del servizio per Amazon S3 e un endpoint globale personalizzato utilizzato per tutti gli altri servizi:

[profile dev1] endpoint_url = http://localhost:1234 services = s3-specific [services testing-s3] s3 = endpoint_url = http://localhost:4567

Un singolo profilo può configurare gli endpoint per più servizi. L’esempio seguente imposta gli URL degli endpoint specifici del servizio per Amazon S3 e nello stesso profilo AWS Elastic Beanstalk.

Per un elenco di tutte le chiavi identificative del servizio da utilizzare nella sezione services, consulta Elenco di identificatori specifici del servizio.

[profile dev1] services = testing-s3-and-eb [services testing-s3-and-eb] s3 = endpoint_url = http://localhost:4567 elastic_beanstalk = endpoint_url = http://localhost:8000

La sezione di configurazione del servizio può essere utilizzata in più profili. L’esempio seguente presenta due profili che utilizzano la stessa definizione dei services:

[profile dev1] output = json services = testing-s3 [profile dev2] output = text services = testing-s3 [services testing-s3] s3 = endpoint_url = https://localhost:4567

Endpoint specifici del servizio: elenco di identificatori specifici del servizio

L’identificatore Servizio AWS si basa sul serviceId del modello API, sostituendo tutti gli spazi con caratteri di sottolineatura e rendendo tutte le lettere minuscole.

La tabella seguente elenca tutti gli identificatori, le chiavi di file e le variabili di ambiente specifici del servizio config.

Endpoint basati sull’account

Gli endpoint basati su account possono essere specificati nei seguenti modi:

  • Variabili di ambiente

    • AWS_ACCOUNT_ID - Specifica l’ID dell’endpoint basato sull’account AWS da utilizzare per le chiamate ai Servizi AWS supportati.

      Linux or macOS
      $ export AWS_ACCOUNT_ID=<account-id>
      Windows Command Prompt

      Impostazione per tutte le sessioni

      C:\> setx AWS_ACCOUNT_ID <account-id>

      Impostazione solo per la sessione corrente

      C:\> set AWS_ACCOUNT_ID=<account-id>
      PowerShell
      PS C:\> $Env:AWS_ACCOUNT_ID="<account-id>"
    • AWS_ACCOUNT_ID_ENDPOINT_MODE - Specifica se utilizzare gli ID dell’endpoint basato sull’account AWS per le chiamate ai Servizi AWS supportati. Può essere impostato su preferred, disabled o required. Il valore predefinito è preferred.

      Linux or macOS
      $ export AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
      Windows Command Prompt

      Impostazione per tutte le sessioni

      C:\> setx AWS_ACCOUNT_ID_ENDPOINT_MODE preferred

      Impostazione solo per la sessione corrente

      C:\> set AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
      PowerShell
      PS C:\> $Env:AWS_ACCOUNT_ID_ENDPOINT_MODE="preferred"
  • Il file config

    • aws_account_id - Specifica l’ID dell’endpoint basato sull’account AWS da utilizzare per le chiamate ai Servizi AWS supportati.

      aws_account_id = <account-id>
    • account_id_endpoint_mode - Specifica se utilizzare gli ID dell’endpoint basato sull’account AWS per le chiamate ai Servizi AWS supportati. Può essere impostato su preferred, disabled o required. Il valore predefinito è preferred.

      account_id_endpoint_mode = preferred

Gli endpoint basati sull’account aiutano a garantire prestazioni e scalabilità elevate utilizzando l’ID AWS dell’account per semplificare il routing delle richieste degli Servizio AWS che supportano questa funzionalità. Quando si utilizza un provider di credenziali e un servizio che supporta gli endpoint basati su account, AWS CLI crea e utilizza automaticamente un endpoint basato sull’account anziché un endpoint regionale.

Gli endpoint basati sull’account utilizzano il seguente formato, in cui <account-id> viene sostituito dall’ID dell’account AWS e <region> viene sostituito dalla tua Regione AWS:

https://<account-id>.myservice.<region>.amazonaws.com

Per impostazione predefinita nella AWS CLI, la modalità endpoint basata sull’account è impostata su preferred.

Configurazione dell’endpoint e precedenza delle impostazioni

Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. Le impostazioni di configurazione dell’endpoint AWS CLI hanno la precedenza nell’ordine seguente:

  1. Opzione della riga di comando --endpoint-url.

  2. Se abilitata, la variabile di ambiente globale AWS_IGNORE_CONFIGURED_ENDPOINT_URLS dell’endpoint o l’impostazione del profilo ignore_configure_endpoint_urls per ignorare gli endpoint personalizzati.

  3. Il valore fornito da una variabile di ambiente AWS_ENDPOINT_URL_<SERVICE> specifica del servizio, ad esempio AWS_ENDPOINT_URL_DYNAMODB.

  4. I valori forniti dalle variabili di ambiente AWS_USE_DUALSTACK_ENDPOINT, AWS_USE_FIPS_ENDPOINT e AWS_ENDPOINT_URL.

  5. La variabile di ambiente AWS_ACCOUNT_ID_ENDPOINT_MODE è impostata su preferred o required e utilizza l’ID account nella variabile aws_account_id o nell’impostazione AWS_ACCOUNT_ID di ambiente.

  6. Il valore dell’endpoint specifico del servizio fornito dall’impostazione endpoint_url all’interno di una sezione services del file condiviso config.

  7. Il valore fornito dall’impostazione endpoint_url all’interno di un profile dei file config condivisi.

  8. Impostazioni di use_dualstack_endpoint, use_fips_endpoint e endpoint_url.

  9. L’impostazione account_id_endpoint_mode è configurata su preferred o required che utilizza l’ID account nella variabile di ambiente AWS_ACCOUNT_ID o nell’impostazione aws_account_id.

  10. Qualsiasi URL di endpoint predefinito per il rispettivo Servizio AWS viene utilizzato per ultimo. Per un elenco degli endpoint del servizio standard disponibili in ogni regione, consulta Regioni ed endpoint AWS nella Riferimenti generali di Amazon Web Services.