Configurar credenciales temporales de AWS y Región de AWS para desarrollo - AWS SDK for Java 1.x

Anunciamos la próxima versión end-of-support para AWS SDK for Java (v1). Se recomienda que migre a AWS SDK for Java versión 2. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

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.

Configurar credenciales temporales de AWS y Región de AWS para desarrollo

Para conectarse a cualquiera de los servicios compatibles con AWS SDK for Java, debe proporcionar las credenciales de AWS. Los SDK de AWS y las CLI de AWS usan cadenas de proveedores para buscar las credenciales de AWS en diversos lugares; por ejemplo, en las variables de entorno del sistema o del usuario y en los archivos de configuración de AWS.

En este tema se proporciona información básica acerca de cómo configurar las credenciales de AWS para el desarrollo de aplicaciones locales mediante AWS SDK for Java. Si necesita configurar las credenciales para utilizarlas en una instancia EC2 o si utiliza el IDE de Eclipse para desarrollo, consulte los siguientes temas:

Configurar credenciales temporales

Puede configurar las credenciales temporales para el AWS SDK for Java de varias maneras, pero a continuación se indican los enfoques recomendados:

  • Configure las credenciales temporales en el archivo de perfil de credenciales de AWS del sistema local, situado en:

    • ~/.aws/credentials en Linux, macOS o Unix

    • C:\Users\USERNAME\.aws\credentials en Windows

    Consulte las Configure credenciales temporales para el SDK. en esta guía para sabre cómo obtener sus credenciales temporales.

  • Establezca las variables de entorno AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN.

    Para establecer estas variables en Linux, MacOS, o Unix, utilice :

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token

    Para establecer estas variables en Windows, utilice :

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
  • Para una instancia EC2, especifique un rol de IAM y conceda a la instancia EC2 acceso a dicho rol. Consulte los roles de IAM para Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Linux para obtener información detallada sobre su funcionamiento.

Una vez que haya establecido sus credenciales de AWS utilizando alguno de estos métodos, AWS SDK for Java las cargará automáticamente mediante la cadena predeterminada de proveedores de credenciales. Para obtener más información sobre cómo trabajar con credenciales de AWS en sus aplicaciones Java, consulte Uso de credenciales de AWS.

Actualización de credenciales IMDS

El AWS SDK for Java admite seleccionar la actualización de credenciales IMDS en segundo plano cada 1 minuto, independientemente del plazo de vencimiento de la credencial. Esto le permite actualizar las credenciales con más frecuencia y reduce la posibilidad de que no alcanzar IMDS afecte a la disponibilidad de AWS percibida.

1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();

Definir la Región de AWS

Debe definir la región de Región de AWS predeterminada que se usará para obtener acceso a los servicios de AWS con el AWS SDK for Java. Para disfrutar de un rendimiento de red óptimo, elija una región que esté geográficamente cerca de usted (o de sus clientes). Para ver una lista de las regiones, consulte Regiones y puntos de conexión en la Referencia general de Amazon Web Services.

nota

Si no selecciona una región, se usará us-east-1 de forma predeterminada.

Puede utilizar técnicas similares a las de la configuración de credenciales para definir la región de AWS predeterminada:

  • Defina la región de Región de AWS en el archivo de configuración de AWS en su sistema local, situado en:

    • ~/.aws/config en Linux, macOS o Unix

    • C:\Users\USERNAME\.aws\config on Windows

    Este archivo debe contener líneas con el siguiente formato:

    +

    [default] region = your_aws_region

    +

    Sustituya su Región de AWS (por ejemplo, "us-east-1") por su_region_aws.

  • Establezca la variable de entorno AWS_REGION.

    En Linux, macOS o Unix, utilice :

    export AWS_REGION=your_aws_region

    En Windows, use :

    set AWS_REGION=your_aws_region

    Donde su_región_de_aws es el nombre de la región de Región de AWS que desee.