Uso Regiones de AWS - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso Regiones de AWS

Regiones de AWS permiten a los clientes del servicio acceder a lugares Servicios de AWS que se encuentran físicamente en un área geográfica específica.

Configure explícitamente una Región de AWS

Para configurar de forma explícita una región, le recomendamos que utilice las constantes definidas en la clase Region. Esta es una enumeración de todas las regiones disponibles públicamente.

Para crear un cliente con una región enumerada de la clase, utilice el método region del creador de clientes.

Ec2Client ec2 = Ec2Client.builder() .region(Region.US_WEST_2) .build();

Si la región que intenta utilizar no es una de las enumeraciones en la clase Region, puede crear una nueva región con el método of estático. Este método le permite obtener acceso a nuevas regiones sin actualizar el SDK.

Region newRegion = Region.of("us-east-42"); Ec2Client ec2 = Ec2Client.builder() .region(newRegion) .build();
nota

Después de crear un cliente con el creador, es inmutable y Región de AWS no se puede cambiar. Si necesita trabajar con varios Regiones de AWS para el mismo servicio, debe crear varios clientes, uno por región.

Dejar que el SDK determine automáticamente la región desde el entorno

Cuando el código se ejecute en Amazon EC2 o AWS Lambda, tal vez, desee configurar los clientes para que usen los mismos en los Región de AWS que se ejecuta el código. Esto desvincula el código del entorno en el que se ejecuta y facilita la implementación de la aplicación en varios niveles Regiones de AWS para reducir la latencia o la redundancia.

Para utilizar la cadena predeterminada de proveedores de credenciales o regiones para determinar la región a partir del entorno, use el método create del creador del cliente.

Ec2Client ec2 = Ec2Client.create();

Si no configuras una de forma explícita Región de AWS mediante el region método, el SDK consulta la cadena de proveedores de regiones predeterminada para determinar la región que se va a utilizar.

Comprensión de la cadena de proveedores de la región predeterminada

El SDK sigue los pasos indicados a continuación para buscar una Región de AWS :

  1. Cualquier región explícita establecida mediante region en el propio creador prevalece sobre todas las demás.

  2. Se comprueba la variable de entorno AWS_REGION. Si se ha establecido, se usa esa región para configurar el cliente.

    nota

    El Lambda contenedor establece esta variable de entorno.

  3. El SDK comprueba el archivo de configuración AWS compartido y el archivo de credenciales compartidas (normalmente ubicados en ~/.aws/config y~/.aws/credentials). Si la region propiedad está presente, el SDK la usa.

    • Si el SDK encuentra la region propiedad en ambos archivos del mismo perfil (incluido el default perfil), usará el valor del archivo de credenciales compartido.

    • La variable de entorno AWS_CONFIG_FILE se puede utilizar para personalizar la ubicación del archivo de configuración compartida.

    • La variable de entorno AWS_PROFILE o la propiedad del sistema aws.profile se pueden utilizar para especificar el perfil que carga el SDK.

  4. El SDK intenta usar el servicio de metadatos de la Amazon EC2 instancia (IMDS) para determinar la región de la Amazon EC2 instancia que se está ejecutando actualmente.

    • Para mayor seguridad, debes deshabilitar el SDK para que no intente usar la versión 1 del IMDS. Para deshabilitar la versión 1, utilice la misma configuración que se describe en la Adquiera credenciales de IAM rol de forma segura sección.

  5. Si el SDK todavía no ha encontrado una región en ese momento, la creación del cliente produce una excepción.

Al desarrollar AWS aplicaciones, un enfoque habitual consiste en utilizar el archivo de configuración compartido (descrito en Orden de recuperación de credenciales) para configurar la región para el desarrollo local y confiar en la cadena de proveedores de la región predeterminada para determinar la región cuando la aplicación se ejecuta en AWS la infraestructura. Esto simplifica enormemente la creación del cliente y dota de portabilidad a su aplicación.

Comprobación de la disponibilidad del servicio en una región

Para comprobar si una determinada región Servicio de AWS está disponible en una región, utilice el region método serviceMetadata y en el cliente del servicio.

DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);

Consulte la documentación de la clase Region para ver Regiones de AWS lo que puede especificar y utilice el prefijo de punto final del servicio para realizar la consulta.

Seleccionar un punto de conexión específico

En determinadas situaciones (por ejemplo, para probar una vista previa de las funciones de un servicio antes de que pasen a estar disponibles para el público general), es posible que tenga que especificar un punto de conexión específico en una región. En estas situaciones, los clientes del servicio se pueden configurar llamando al método. endpointOverride

Por ejemplo, para configurar un Amazon EC2 cliente para que utilice la región de Europa (Irlanda) con un punto final específico, utilice el siguiente código.

Ec2Client ec2 = Ec2Client.builder() .region(Region.EU_WEST_1) .endpointOverride(URI.create("https://ec2.eu-west-1.amazonaws.com")) .build();

Consulte Regiones y puntos de enlace para ver la lista actual de regiones y sus puntos de enlace correspondientes para todos los AWS servicios.