

**Esta documentação é somente para a versão 1 da AWS CLI.**

Anunciamos o próximo fim do suporte para a AWS CLI versão 1. É recomendável migrar para a AWS CLI versão 2. Para saber as datas e receber detalhes e informações adicionais sobre como migrar, consulte o [anúncio](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/). Para obter a documentação relacionada à AWS CLI versão 2, consulte o [Guia do usuário da versão 2](https://docs.aws.amazon.com/cli/latest/userguide/).

# Usar endpoints na AWS CLI
<a name="cli-configure-endpoints"></a>

Para se conectar a um AWS service (Serviço da AWS) de forma programática, use um endpoint. Um *endpoint* é o URL do ponto de entrada para um serviço da Web da AWS. A AWS Command Line Interface (AWS CLI) usa automaticamente o endpoint padrão para cada serviço em uma Região da AWS, mas você pode especificar um endpoint alternativo para suas solicitações de API.

**Contents**
+ [Definir o endpoint para um único comando](#endpoints-command)
+ [Definir um endpoint global para todos os Serviços da AWS](#endpoints-global)
+ [Definido para usar endpoints FIPs para todos os Serviços da AWS](#endpoints-fips)
+ [Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS](#endpoints-dual-stack)
+ [Definir endpoints específicos de serviço](#endpoints-service-specific)
  + [Variáveis de ambiente](#endpoints-service-specific-envvars)
  + [Arquivo compartilhado `config`](#endpoints-service-specific-config)
  + [Lista de identificadores específicos de serviço](#endpoints-service-specific-table)
+ [Endpoints baseados em conta](#endpoints-accountid)
+ [Precedência de configurações e definições do endpoint](#endpoints-precedence)

## Definir o endpoint para um único comando
<a name="endpoints-command"></a>

Para substituir qualquer configuração de endpoint ou variável de ambiente referente a um único comando, use a opção de linha de comando `--endpoint-url`. O exemplo de comando a seguir usa um URL personalizado do endpoint do Amazon S3.

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

## Definir um endpoint global para todos os Serviços da AWS
<a name="endpoints-global"></a>

Para rotear solicitações de todos os serviços para um URL de endpoint personalizado, use uma das seguintes configurações:
+ Variáveis de ambiente:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignore os URLs de endpoints configurados.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
    ```

------
  + `AWS\$1ENDPOINT\$1URL`: defina o URL do endpoint global.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ENDPOINT_URL=http://localhost:4567
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

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

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ENDPOINT_URL=http://localhost:4567
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ENDPOINT_URL="http://localhost:4567"
    ```

------
+ O arquivo `config`:
  + `ignore\$1configure\$1endpoint\$1urls`: ignore os URLs de endpoints configurados.

    ```
    ignore_configure_endpoint_urls = true
    ```
  + `endpoint\$1url`: defina o URL do endpoint global.

    ```
    endpoint_url = http://localhost:4567
    ```

Os endpoints específicos de serviço e a opção de linha de comando `--endpoint-url` substituem qualquer endpoint global.

## Definido para usar endpoints FIPs para todos os Serviços da AWS
<a name="endpoints-fips"></a>

Para rotear solicitações para todos os serviços usarem endpoints FIPS, use uma das seguintes opções:
+ variável de ambiente `AWS\$1USE\$1FIPS\$1ENDPOINT`.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_USE_FIPS_ENDPOINT true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_USE_FIPS_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_FIPS_ENDPOINT="true"
  ```

------
+ configuração do arquivo `use\$1fips\$1endpoint`.

  ```
  use_fips_endpoint = true
  ```

Alguns serviços da AWS oferecem endpoints compatíveis com o [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) em algumas Regiões da AWS. Quando o serviço da AWS é compatível com o FIPS, essa configuração especifica qual endpoint do FIPS a AWS CLI deve usar. Ao contrário dos endpoints-padrão da AWS, os endpoints do FIPS usam uma biblioteca de software TLS compatível com o FIPS 140-2. Esses endpoints podem ser necessários por empresas que interagem com o governo dos Estados Unidos. 

Se essa configuração estiver ativada, mas não existir um endpoint FIPS para o serviço em sua Região da AWS, o comando AWS poderá falhar. Nesse caso, especifique manualmente o endpoint a ser usado no comando usando a opção `--endpoint-url` ou use [endpoints específicos do serviço](#endpoints-service-specific).

Para saber mais sobre como especificar endpoints FIPS por Região da AWS, consulte [Endpoints FIPS por serviço](https://aws.amazon.com/compliance/fips/).

## Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS
<a name="endpoints-dual-stack"></a>

Para rotear solicitações para todos os serviços usarem endpoints de pilha dupla, use uma das seguintes configurações:
+ variável de ambiente `AWS\$1USE\$1DUALSTACK\$1ENDPOINT`.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_USE_DUALSTACK_ENDPOINT true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_USE_DUALSTACK_ENDPOINT=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_USE_DUALSTACK_ENDPOINT="true"
  ```

------
+ configuração do arquivo `use\$1dualstack\$1endpoint`.

  ```
  use_dualstack_endpoint = true
  ```

Permite o uso de endpoints de pilha dupla para enviar solicitações da AWS. Para saber mais sobre endpoints de pilha dupla, que suportam tráfego IPv4 e IPv6, consulte [Usar endpoints de pilha dupla do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html) no *Guia do usuário do Amazon Simple Storage Service*. Endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Se não existir um endpoint de pilha dupla para o serviço ou Região da AWS, a solicitação falhará. Ela fica desabilitada por padrão.

## Definir endpoints específicos de serviço
<a name="endpoints-service-specific"></a>

A configuração de endpoint específico de serviço oferece a opção de usar um endpoint persistente de sua escolha para solicitações da AWS CLI. Essas configurações oferecem flexibilidade para permitir endpoints locais, endpoints da VPC e ambientes de desenvolvimento da AWS local de terceiros. Diferentes endpoints podem ser usados para ambientes de teste e produção. Você pode especificar um URL de endpoint para Serviços da AWS individuais. 

Os endpoints específicos de serviço podem ser designados das seguintes maneiras:
+ A opção de linha de comando `--endpoint-url` para um único comando.
+ Variáveis de ambiente:
  + `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando.
  + `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`: especifica um endpoint personalizado usado para um serviço específico, onde `<SERVICE>` é substituído pelo identificador AWS service (Serviço da AWS). Para todas as variáveis específicas de serviço, consulte [Endpoints específicos de serviço: lista de identificadores específicos de serviço](#endpoints-service-specific-table).
+ Arquivo `config`:
  + `ignore\$1configure\$1endpoint\$1urls`: ignora todos os URLs de endpoint configurados, a menos que especificado por meio de variáveis de ambiente ou na linha de comando.
  + A seção [`services`](cli-configure-files.md#cli-configure-files-format-services) do arquivo `config` combinada com a configuração do arquivo `endpoint\$1url`.

**Topics**
+ [Variáveis de ambiente](#endpoints-service-specific-envvars)
+ [Arquivo compartilhado `config`](#endpoints-service-specific-config)
+ [Lista de identificadores específicos de serviço](#endpoints-service-specific-table)

### Endpoints específicos de serviço: variáveis de ambiente
<a name="endpoints-service-specific-envvars"></a>

As variáveis de ambiente substituem as configurações no arquivo de configuração, mas não substituem as opções especificadas na linha de comando. Use variáveis de ambiente se quiser que todos os perfis usem os mesmos endpoints no dispositivo.

Veja a seguir as variáveis de ambiente específicas de serviço:
+ `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS`: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando.

------
#### [ Linux or macOS ]

  ```
  $ export AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

  ```
  C:\> setx AWS_IGNORE_CONFIGURED_ENDPOINT_URLS true
  ```

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_IGNORE_CONFIGURED_ENDPOINT_URLS=true
  ```

------
#### [ PowerShell ]

  ```
  PS C:\> $Env:AWS_IGNORE_CONFIGURED_ENDPOINT_URLS="true"
  ```

------
+ `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`: especifica um endpoint personalizado usado para um serviço específico, onde `<SERVICE>` é substituído pelo identificador AWS service (Serviço da AWS). Para todas as variáveis específicas de serviço, consulte [Endpoints específicos de serviço: lista de identificadores específicos de serviço](#endpoints-service-specific-table).

  O exemplo a seguir de variável de ambiente define um endpoint para o AWS Elastic Beanstalk: 

------
#### [ Linux or macOS ]

  ```
  $ export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ Windows Command Prompt ]

  **Como definir para todas as sessões**

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

  **Como definir somente para a sessão atual**

  ```
  C:\> set AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:4567
  ```

------
#### [ PowerShell ]

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

------

Para obter mais informações sobre como definir variáveis de ambiente, consulte [Configurar variáveis de ambiente para a AWS CLI](cli-configure-envvars.md).

### Endpoints específicos de serviço: arquivo compartilhado `config`
<a name="endpoints-service-specific-config"></a>

No arquivo compartilhado `config`, `endpoint_url` é usado em várias seções. Para definir um endpoint específico de serviço, use a configuração `endpoint_url` aninhada em uma chave de identificação de serviço em uma seção `services`. Para obter detalhes sobre como definir uma seção `services` no arquivo compartilhado [Tipo de seção: `services`](cli-configure-files.md#cli-configure-files-format-services), consulte `config`. 

O exemplo a seguir usa uma seção `services` para configurar um URL de endpoint específico do serviço para o Amazon S3 e um endpoint global personalizado usado para todos os outros serviços: 

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

[services testing-s3]
s3 = 
  endpoint_url = http://localhost:4567
```

Um único perfil pode configurar endpoints para vários serviços. O exemplo a seguir define os URLs de endpoint específicos de serviço para o Amazon S3 e o AWS Elastic Beanstalk no mesmo perfil.

Para obter uma lista de todas as chaves de identificação de serviço a serem usadas na seção `services`, consulte [Lista de identificadores específicos de serviço](#endpoints-service-specific-table). 

```
[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
```

A seção de configuração de serviço pode ser usada em vários perfis. O exemplo a seguir tem dois perfis que usam a mesma definição de `services`: 

```
[profile dev1]
output = json
services = testing-s3

[profile dev2]
output = text
services = testing-s3

[services testing-s3]
s3 = 
  endpoint_url = https://localhost:4567
```

### Endpoints específicos de serviço: lista de identificadores específicos de serviço
<a name="endpoints-service-specific-table"></a>

O identificador AWS service (Serviço da AWS) é baseado no `serviceId` do modelo de API, substituindo todos os espaços por sublinhados e colocando todas as letras em minúsculas. 

A tabela a seguir lista todos os identificadores, chaves do arquivo `config` e variáveis de ambiente específicos de serviço.

## Endpoints baseados em conta
<a name="endpoints-accountid"></a>

Os endpoints baseados em conta podem ser especificados das seguintes maneiras:
+ Variáveis de ambiente
  + `AWS\$1ACCOUNT\$1ID`: especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. 

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_ACCOUNT_ID <account-id>
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ACCOUNT_ID=<account-id>
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID="<account-id>"
    ```

------
  + `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE`: especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Pode ser definido como `preferred`, `disabled` ou `required`. O valor padrão é . `preferred`.

------
#### [ Linux or macOS ]

    ```
    $ export AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ Windows Command Prompt ]

    **Como definir para todas as sessões**

    ```
    C:\> setx AWS_ACCOUNT_ID_ENDPOINT_MODE preferred
    ```

    **Como definir somente para a sessão atual**

    ```
    C:\> set AWS_ACCOUNT_ID_ENDPOINT_MODE=preferred
    ```

------
#### [ PowerShell ]

    ```
    PS C:\> $Env:AWS_ACCOUNT_ID_ENDPOINT_MODE="preferred"
    ```

------
+ O arquivo `config`:
  + `aws\$1account\$1id`: especifica o ID do endpoint baseado em conta da AWS a ser usado nas chamadas para Serviços da AWS compatíveis. 

    ```
    aws_account_id = <account-id>
    ```
  + `account\$1id\$1endpoint\$1mode`: especifica se os IDs de endpoint baseados em conta da AWS devem ser usados nas chamadas para Serviços da AWS compatíveis. Pode ser definido como `preferred`, `disabled` ou `required`. O valor padrão é o preferido.

    ```
    account_id_endpoint_mode = preferred
    ```

Os endpoints baseados em conta ajudam a garantir alto desempenho e escalabilidade usando o ID de conta da AWS para otimizar o roteamento de solicitações de AWS service (Serviço da AWS) para serviços compatíveis com esse recurso. Quando você usa um provedor de credenciais e um serviço compatível com endpoints baseados em conta, a AWS CLI constrói e usa automaticamente um endpoint baseado em conta em vez de um endpoint regional.

Os endpoints baseados em conta usam o seguinte formato, em que `<account-id>` é substituído pelo ID da sua conta da AWS e `<region>` é substituído por sua Região da AWS:

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

Por padrão, na AWS CLI, o modo de endpoint baseado em conta está definido como `preferred`.

## Precedência de configurações e definições do endpoint
<a name="endpoints-precedence"></a>

As configurações do endpoint estão em vários locais, como variáveis de ambiente do sistema ou do usuário, arquivos de configuração local da AWS, ou explicitamente declaradas na linha de comando como um parâmetro. As configurações do endpoint da AWS CLI têm precedência na seguinte ordem:

1. A opção da linha de comando `--endpoint-url`.

1. Se habilitada, a variável de ambiente global `AWS\$1IGNORE\$1CONFIGURED\$1ENDPOINT\$1URLS` ou a configuração do perfil `ignore\$1configure\$1endpoint\$1urls` para ignorar os endpoints personalizados.

1. O valor fornecido por uma variável de ambiente específica do serviço `AWS\$1ENDPOINT\$1URL\$1<SERVICE>`, como `AWS_ENDPOINT_URL_DYNAMODB`.

1. Os valores fornecidos pelas variáveis de ambiente `AWS\$1USE\$1DUALSTACK\$1ENDPOINT`, `AWS\$1USE\$1FIPS\$1ENDPOINT` e `AWS\$1ENDPOINT\$1URL`.

1. A variável de ambiente `AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` é definida como `preferred` ou `required` usando o ID da conta na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.

1. O valor do endpoint específico de serviço fornecido pela configuração `endpoint\$1url` em uma seção `services` do arquivo compartilhado `config`.

1. O valor fornecido pela configuração `endpoint\$1url` em um `profile` do arquivo compartilhado `config`.

1. Configurações `use\$1dualstack\$1endpoint`, `use\$1fips\$1endpoint` e `endpoint\$1url`.

1. A configuração `account\$1id\$1endpoint\$1mode` é definida como `preferred` ou `required` usando o ID da conta na variável de ambiente `AWS\$1ACCOUNT\$1ID` ou na configuração `aws\$1account\$1id`.

1. Qualquer URL de endpoint padrão para o respectivo AWS service (Serviço da AWS) é usado por último. Para obter uma lista dos endpoints de serviços padrão disponíveis em cada região, consulte [Regiões e endpoints da AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) no *Referência geral da Amazon Web Services*.