Wilayah AWS Seleksi - AWS SDK for Java 1.x

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for Java (v1). Kami menyarankan Anda bermigrasi ke AWS SDK for Java v2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Wilayah AWS Seleksi

Wilayah memungkinkan Anda mengakses AWS layanan yang secara fisik berada di wilayah geografis tertentu. Ini dapat berguna baik untuk redundansi dan untuk menjaga data dan aplikasi Anda berjalan dekat dengan tempat Anda dan pengguna Anda akan mengaksesnya.

Memeriksa Ketersediaan Layanan di Wilayah

Untuk melihat apakah tertentu Layanan AWS tersedia di suatu wilayah, gunakan isServiceSupported metode di wilayah yang ingin Anda gunakan.

Region.getRegion(Regions.US_WEST_2) .isServiceSupported(AmazonDynamoDB.ENDPOINT_PREFIX);

Lihat dokumentasi kelas Regions untuk wilayah yang dapat Anda tentukan, dan gunakan awalan titik akhir layanan untuk melakukan kueri. Awalan endpoint setiap layanan didefinisikan dalam antarmuka layanan. Misalnya, awalan DynamoDB endpoint didefinisikan dalam AmazonDynamo DB.

Memilih Wilayah

Dimulai dengan versi 1.4 AWS SDK for Java, Anda dapat menentukan nama wilayah dan SDK akan secara otomatis memilih titik akhir yang sesuai untuk Anda. Untuk memilih endpoint sendiri, lihat Memilih Endpoint Spesifik.

Untuk menetapkan wilayah secara eksplisit, sebaiknya gunakan enum Regions. Ini adalah enumerasi dari semua wilayah yang tersedia untuk umum. Untuk membuat klien dengan wilayah dari enum, gunakan kode berikut.

AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();

Jika wilayah yang Anda coba gunakan tidak ada di Regions enum, Anda dapat mengatur wilayah menggunakan string yang mewakili nama wilayah.

AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withRegion("{region_api_default}") .build();
catatan

Setelah Anda membangun klien dengan pembangun, itu tidak dapat diubah dan wilayah tidak dapat diubah. Jika Anda bekerja dengan beberapa Wilayah AWS untuk layanan yang sama, Anda harus membuat beberapa klien—satu per wilayah.

Memilih Endpoint Tertentu

Setiap AWS klien dapat dikonfigurasi untuk menggunakan titik akhir tertentu dalam suatu wilayah dengan memanggil withEndpointConfiguration metode saat membuat klien.

Misalnya, untuk mengkonfigurasi Amazon S3 klien untuk menggunakan Wilayah Eropa (Irlandia), gunakan kode berikut.

AmazonS3 s3 = AmazonS3ClientBuilder.standard() .withEndpointConfiguration(new EndpointConfiguration( "https://s3.eu-west-1.amazonaws.com", "eu-west-1")) .withCredentials(CREDENTIALS_PROVIDER) .build();

Lihat Wilayah dan Titik Akhir untuk daftar wilayah saat ini dan titik akhir yang sesuai untuk semua AWS layanan.

Secara Otomatis Menentukan Wilayah dari Lingkungan

penting

Bagian ini hanya berlaku ketika menggunakan pembuat klien untuk mengakses AWS layanan. AWS klien yang dibuat dengan menggunakan konstruktor klien tidak akan secara otomatis menentukan wilayah dari lingkungan dan akan, sebaliknya, menggunakan wilayah SDK default (useAST1).

Saat menjalankan on Amazon EC2 atau Lambda, Anda mungkin ingin mengonfigurasi klien untuk menggunakan wilayah yang sama dengan tempat kode Anda berjalan. Ini memisahkan kode Anda dari lingkungan tempat ia berjalan dan membuatnya lebih mudah untuk menerapkan aplikasi Anda ke beberapa wilayah untuk latensi atau redundansi yang lebih rendah.

Anda harus menggunakan pembuat klien agar SDK secara otomatis mendeteksi wilayah tempat kode Anda berjalan.

Untuk menggunakan rantai penyedia kredensial/wilayah default untuk menentukan wilayah dari lingkungan, gunakan metode pembuat klien. defaultClient

AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();

Ini sama dengan menggunakan standard diikuti olehbuild.

AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .build();

Jika Anda tidak secara eksplisit menyetel wilayah menggunakan withRegion metode, SDK akan berkonsultasi dengan rantai penyedia wilayah default untuk mencoba dan menentukan wilayah yang akan digunakan.

Rantai Penyedia Wilayah Default

Berikut ini adalah proses pencarian wilayah:

  1. Wilayah eksplisit apa pun yang disetel dengan menggunakan withRegion atau setRegion pada pembangun itu sendiri lebih diutamakan daripada yang lain.

  2. Variabel AWS_REGION lingkungan diperiksa. Jika disetel, wilayah itu digunakan untuk mengkonfigurasi klien.

    catatan

    Variabel lingkungan ini diatur oleh Lambda wadah.

  3. SDK memeriksa file konfigurasi AWS bersama (biasanya terletak di~/.aws/config). Jika properti region ada, SDK menggunakannya.

    • Variabel AWS_CONFIG_FILE lingkungan dapat digunakan untuk menyesuaikan lokasi file konfigurasi bersama.

    • Variabel AWS_PROFILE lingkungan atau properti aws.profile sistem dapat digunakan untuk menyesuaikan profil yang dimuat oleh SDK.

  4. SDK mencoba menggunakan layanan metadata Amazon EC2 instance untuk menentukan wilayah instance yang sedang berjalan. Amazon EC2

  5. Jika SDK masih belum menemukan wilayah pada saat ini, pembuatan klien gagal dengan pengecualian.

Saat mengembangkan AWS aplikasi, pendekatan umum adalah dengan menggunakan file konfigurasi bersama (dijelaskan dalam Menggunakan Rantai Penyedia Kredenal Default) untuk mengatur wilayah untuk pengembangan lokal, dan mengandalkan rantai penyedia wilayah default untuk menentukan wilayah saat berjalan pada AWS infrastruktur. Ini sangat menyederhanakan pembuatan klien dan membuat aplikasi Anda tetap portabel.