Usar endpoints na AWS CLI
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.
Tópicos de endpoint
Definir o endpoint para um único comando
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-urlhttp://localhost:4567
Definir um endpoint global para todos os Serviços da AWS
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_IGNORE_CONFIGURED_ENDPOINT_URLS: ignore os URLs de endpoints configurados. -
AWS_ENDPOINT_URL: defina o URL do endpoint global.
-
-
O arquivo
config:-
ignore_configure_endpoint_urls: ignore os URLs de endpoints configurados.ignore_configure_endpoint_urls = true -
endpoint_url: 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
Para rotear solicitações para todos os serviços usarem endpoints FIPS, use uma das seguintes opções:
-
variável de ambiente
AWS_USE_FIPS_ENDPOINT. -
configuração do arquivo
use_fips_endpoint.use_fips_endpoint = true
Alguns serviços da AWS oferecem endpoints compatíveis com o Federal Information Processing Standard (FIPS) 140-2
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.
Para saber mais sobre como especificar endpoints FIPS por Região da AWS, consulte Endpoints FIPS por serviço
Configurado para usar os endpoints de pilha dupla para todos os Serviços da AWS
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_USE_DUALSTACK_ENDPOINT. -
configuração do arquivo
use_dualstack_endpoint.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 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 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-urlpara um único comando. -
Variáveis de ambiente:
-
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando. -
AWS_ENDPOINT_URL_<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.
-
-
Arquivo
config:-
ignore_configure_endpoint_urls: 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 do arquivo
configcombinada com a configuração do arquivoendpoint_url.
-
Tópicos de endpoints específicos de serviço:
Endpoints específicos de serviço: variáveis de ambiente
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_IGNORE_CONFIGURED_ENDPOINT_URLS: ignora todos os URLs de endpoint configurados, a menos que especificado na linha de comando. -
AWS_ENDPOINT_URL_<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.O exemplo a seguir de variável de ambiente define um endpoint para o AWS Elastic Beanstalk:
Para obter mais informações sobre como definir variáveis de ambiente, consulte Configurar variáveis de ambiente para a AWS CLI.
Endpoints específicos de serviço: arquivo compartilhado config
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, 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:
[profiledev1] endpoint_url =http://localhost:1234services =s3-specific[servicestesting-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.
[profiledev1] services =testing-s3-and-eb[servicestesting-s3-and-eb] s3 = endpoint_url =http://localhost:4567elastic_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:
[profiledev1] output = json services =testing-s3[profiledev2] output = text services =testing-s3[servicestesting-s3] s3 = endpoint_url =https://localhost:4567
Endpoints específicos de serviço: lista de identificadores específicos de serviço
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
Os endpoints baseados em conta podem ser especificados das seguintes maneiras:
-
Variáveis de ambiente
-
AWS_ACCOUNT_ID: 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_ENDPOINT_MODE: 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 comopreferred,disabledourequired. O valor padrão épreferred.
-
-
O arquivo
config:-
aws_account_id: 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_id_endpoint_mode: 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 comopreferred,disabledourequired. 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
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:
-
A opção da linha de comando
--endpoint-url. -
Se habilitada, a variável de ambiente global
AWS_IGNORE_CONFIGURED_ENDPOINT_URLSou a configuração do perfilignore_configure_endpoint_urlspara ignorar os endpoints personalizados. -
O valor fornecido por uma variável de ambiente específica do serviço
AWS_ENDPOINT_URL_<SERVICE>, comoAWS_ENDPOINT_URL_DYNAMODB. -
Os valores fornecidos pelas variáveis de ambiente
AWS_USE_DUALSTACK_ENDPOINT,AWS_USE_FIPS_ENDPOINTeAWS_ENDPOINT_URL. -
A variável de ambiente
AWS_ACCOUNT_ID_ENDPOINT_MODEé definida comopreferredourequiredusando o ID da conta na variável de ambienteAWS_ACCOUNT_IDou na configuraçãoaws_account_id. -
O valor do endpoint específico de serviço fornecido pela configuração
endpoint_urlem uma seçãoservicesdo arquivo compartilhadoconfig. -
O valor fornecido pela configuração
endpoint_urlem umprofiledo arquivo compartilhadoconfig. -
Configurações
use_dualstack_endpoint,use_fips_endpointeendpoint_url. -
A configuração
account_id_endpoint_modeé definida comopreferredourequiredusando o ID da conta na variável de ambienteAWS_ACCOUNT_IDou na configuraçãoaws_account_id. -
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 no Referência geral da Amazon Web Services.