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-url
http://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-url
para 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
config
combinada 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:
[profile
dev1
] endpoint_url =http://localhost:1234
services =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.
[profile
dev1
] services =testing-s3-and-eb
[servicestesting-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
[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.
O exemplo de identificador de serviço a seguir usa o AWS Elastic Beanstalk. O AWS Elastic Beanstalk tem um serviceId
de Elastic Beanstalk
; portanto, a chave de identificação de serviço é elastic_beanstalk
.
A tabela a seguir lista todos os identificadores, chaves do arquivo config
e variáveis de ambiente específicos de serviço.
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_URLS
ou a configuração do perfilignore_configure_endpoint_urls
para 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_ENDPOINT
eAWS_ENDPOINT_URL
. -
O valor do endpoint específico de serviço fornecido pela configuração
endpoint_url
em uma seçãoservices
do arquivo compartilhadoconfig
. -
O valor fornecido pela configuração
endpoint_url
em umprofile
do arquivo compartilhadoconfig
. -
Configurações
use_dualstack_endpoint
,use_fips_endpoint
eendpoint_url
. -
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.