As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use Regiões da AWS
Regiões da AWS permitir que os clientes do serviço acessem o Serviços da AWS que reside fisicamente em uma área geográfica específica.
Configurar explicitamente uma Região da AWS
Para definir explicitamente uma região, recomendamos usar as constantes definidas na classe Região
Para criar um cliente com uma região enumerada da classe, use o método region
do criador do cliente.
Ec2Client ec2 = Ec2Client.builder() .region(Region.US_WEST_2) .build();
Se a região que você deseja usar não for uma das enumerações na classe Region
, será possível criar uma região usando o método of
estático. Esse recurso permite acessar as novas regiões sem atualizar o SDK.
Region newRegion = Region.of("us-east-42"); Ec2Client ec2 = Ec2Client.builder() .region(newRegion) .build();
nota
Depois de criar um cliente com o construtor, ele é imutável e Região da AWS não pode ser alterado. Se precisar trabalhar com vários Regiões da AWS para o mesmo serviço, crie vários clientes, um por região.
Deixar o SDK determinar automaticamente a região pelo ambiente
Quando seu código é executado em Amazon EC2 ou AWS Lambda, talvez você queira configurar os clientes para usarem o mesmo em Região da AWS que seu código está sendo executado. Isso separa seu código do ambiente em que ele está sendo executado e facilita a implantação de seu aplicativo em vários Regiões da AWS para reduzir a latência ou a redundância.
Para usar a cadeia de provedores de credencial/região padrão a fim de determinar a região do ambiente, use o método create
do criador de clientes.
Ec2Client ec2 = Ec2Client.create();
Se você não definir explicitamente um Região da AWS usando o region
método, o SDK consultará a cadeia de fornecedores da região padrão para determinar a região a ser usada.
Entender a cadeia de provedores de região padrão
O SDK segue as seguintes etapas para procurar uma Região da AWS :
-
Qualquer região explícita definida usando-se
region
no criador propriamente dito tem precedência sobre todo o resto. -
A variável de ambiente
AWS_REGION
está marcada. Se estiver definida, essa região será usada para configurar o cliente.nota
O Lambda contêiner define essa variável de ambiente.
-
O SDK verifica o arquivo de configuração AWS compartilhado e o arquivo de credenciais compartilhados (geralmente localizados em
~/.aws/config
e~/.aws/credentials
). Se aregion
propriedade estiver presente, o SDK a usará.-
Se o SDK encontrar a
region
propriedade nos dois arquivos do mesmo perfil (incluindo odefault
perfil), o SDK usará o valor no arquivo de credenciais compartilhado. -
A variável de ambiente
AWS_CONFIG_FILE
pode ser usada para personalizar o local do arquivo de configuração compartilhado. -
A variável de ambiente
AWS_PROFILE
ou a propriedade do sistemaaws.profile
podem ser usadas para especificar o perfil carregado pelo SDK.
-
-
O SDK tenta usar o serviço de metadados da Amazon EC2 instância (IMDS) para determinar a região da instância em execução no momento. Amazon EC2
-
Para maior segurança, você deve impedir que o SDK tente usar a versão 1 do IMDS. Você usa a mesma configuração para desativar a versão 1 descrita na Adquira IAM credenciais de função com segurança seção.
-
-
Se, a essa altura, o SDK ainda não tiver encontrado uma região, a criação do cliente falhará com uma exceção.
Ao desenvolver AWS aplicativos, uma abordagem comum é usar o arquivo de configuração compartilhado (descrito em Ordem de recuperação de credenciais) para definir a região para o desenvolvimento local e confiar na cadeia de fornecedores da região padrão para determinar a região quando o aplicativo é executado na AWS infraestrutura. Isso simplifica muito a criação do cliente e mantém a portabilidade do aplicativo.
Conferir a disponibilidade do serviço em uma região
Para ver se um determinado AWS service (Serviço da AWS) está disponível em uma região, use o region
método serviceMetadata
and no cliente de serviço.
DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);
Consulte a documentação da classe Region para saber o Regiões da AWS que você pode especificar e usar o prefixo do endpoint do serviço para consultar.
Escolher um endpoint específico
Em determinadas situações, como testar os recursos de pré-visualização de um serviço antes que os recursos se tornem disponíveis ao público em geral, talvez seja necessário especificar um endpoint em uma região. Nessas situações, os clientes de serviço podem ser configurados chamando o método endpointOverride
.
Por exemplo, para configurar um Amazon EC2 cliente para usar a região da Europa (Irlanda) com um endpoint específico, use o código a seguir.
Ec2Client ec2 = Ec2Client.builder() .region(Region.EU_WEST_1) .endpointOverride(URI.create("https://ec2.eu-west-1.amazonaws.com")) .build();
Consulte Regiões e endpoints para ver a lista atual de regiões e seus endpoints correspondentes para todos os AWS serviços.