Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meminta perutean
Program yang membuat permintaan terhadap bucket yang dibuat menggunakan CreateBucket API yang menyertakan pengal CreateBucketConfiguration ihan harus mendukung. Selain itu, beberapa klien yang tidak menghormati DNS TTL dapat menghadapi masalah.
Bagian ini menjelaskan perutean dan masalah DNS untuk dipertimbangkan saat merancang layanan atau aplikasi Anda untuk digunakan dengan Amazon S3.
Meminta pengalihan dan API REST
Amazon S3 menggunakan Sistem Nama Domain (DNS) untuk merutekan permintaan ke fasilitas yang dapat memprosesnya. Sistem ini bekerja secara efektif, tetapi kesalahan perutean sementara dapat terjadi. Jika permintaan tiba di lokasi Amazon S3 yang salah, Amazon S3 menanggapi dengan pengalihan sementara yang memberi tahu pemohon untuk mengirim ulang permintaan ke titik akhir baru. Jika salah membentuk permintaan, Amazon S3 menggunakan pengalihan permanen untuk memberikan arahan tentang cara menjalankan permintaan dengan benar.
penting
Untuk menggunakan fitur ini, Anda harus memiliki aplikasi yang dapat menangani respons pengalihan Amazon S3. Satu-satunya pengecualian adalah untuk aplikasi yang bekerja secara eksklusif dengan bucket yang dibuat tanpa <CreateBucketConfiguration>. Untuk informasi selengkapnya tentang batasan lokasi, lihat Mengakses dan mencantumkan bucket Amazon S3.
Untuk semua Wilayah yang diluncurkan setelah 20 Maret 2019, jika permintaan tiba di lokasi Amazon S3 yang salah, Amazon S3 mengembalikan kesalahan HTTP 400 Bad Request.
Untuk informasi selengkapnya tentang mengaktifkan atau menonaktifkan Wilayah AWS, lihat Wilayah AWS dan Titik Akhir di Referensi Umum AWS.
Topik
Perutean DNS
Rute perutean DNS meminta fasilitas Amazon S3 yang sesuai. Gambar dan prosedur berikut menunjukkan contoh perutean DNS.
Langkah permintaan perutean DNS
-
Klien mengajukan permintaan DNS untuk mendapatkan objek yang disimpan di Amazon S3.
-
Klien menerima satu atau lebih alamat IP untuk fasilitas yang dapat memproses permintaan. Dalam contoh ini, alamat IP adalah untuk Fasilitas B.
-
Klien membuat permintaan ke Amazon S3 Facility B.
-
Fasilitas B mengembalikan salinan objek kepada klien.
Pengalihan permintaan sementara
Pengalihan sementara adalah jenis respons kesalahan yang memberi sinyal kepada pemohon bahwa mereka harus mengirim ulang permintaan ke titik akhir yang berbeda. Karena sifat Amazon S3, permintaan dapat dikirimkan sementara ke fasilitas yang salah. Ini kemungkinan besar terjadi segera setelah bucket dibuat atau dihapus.
Misalnya, jika Anda membuat bucket baru dan segera membuat permintaan ke bucket, Anda mungkin menerima pengalihan sementara, tergantung pada kendala lokasi bucket. Jika Anda membuat bucket di AS Timur (Virginia Utara) Wilayah AWS, Anda tidak akan melihat pengalihan karena ini juga merupakan titik akhir Amazon S3 default.
Namun, jika bucket dibuat di Wilayah lain, setiap permintaan untuk bucket akan masuk ke titik akhir default sementara entri DNS bucket dipropagasi. Titik akhir default mengarahkan kembali permintaan ke titik akhir yang benar dengan respons HTTP 302. Pengalihan sementara berisi URI ke fasilitas yang benar, yang dapat Anda gunakan untuk segera mengirim ulang permintaan.
penting
Jangan gunakan kembali titik akhir yang disediakan oleh respons pengalihan sebelumnya. Mungkin awalnya tampaknya berhasil (bahkan untuk jangka waktu yang lama), tetapi dapat memberikan hasil yang tidak dapat diprediksi dan pada akhirnya akan gagal tanpa pemberitahuan.
Gambar dan prosedur berikut menunjukkan contoh pengalihan sementara.
Langkah pengalihan permintaan sementara
-
Klien mengajukan permintaan DNS untuk mendapatkan objek yang disimpan di Amazon S3.
-
Klien menerima satu atau lebih alamat IP untuk fasilitas yang dapat memproses permintaan.
-
Klien membuat permintaan ke Amazon S3 Facility B.
-
Fasilitas B mengembalikan pengalihan yang menunjukkan objek tersedia dari Lokasi C.
-
Klien mengirim ulang permintaan ke Fasilitas C.
-
Fasilitas C mengembalikan salinan objek.
Pengalihan permintaan permanen
Pengalihan permanen menunjukkan bahwa permintaan Anda menangani sumber daya secara tidak tepat. Misalnya, pengalihan permanen terjadi jika Anda menggunakan permintaan gaya jalur untuk mengakses bucket yang dibuat menggunakan <CreateBucketConfiguration>. Untuk informasi selengkapnya, lihat Mengakses dan mencantumkan bucket Amazon S3.
Untuk membantu Anda menemukan kesalahan ini selama pengembangan, jenis pengalihan ini tidak berisi header HTTP Lokasi yang memungkinkan Anda secara otomatis mengikuti permintaan ke lokasi yang benar. Lihat dokumen kesalahan XML yang dihasilkan untuk bantuan menggunakan titik akhir Amazon S3.
Meminta contoh pengalihan
Berikut ini adalah contoh tanggapan pengalihan permintaan sementara.
API REST sementara mengalihkan respons
HTTP/1.1 307 Temporary Redirect Location: http://awsexamplebucket1.s3-gztb4pa9sq.amazonaws.com/photos/puppy.jpg?rk=e2c69a31 Content-Type: application/xml Transfer-Encoding: chunked Date: Fri, 12 Oct 2007 01:12:56 GMT Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>TemporaryRedirect</Code> <Message>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Message> <Endpoint>awsexamplebucket1.s3-gztb4pa9sq.amazonaws.com</Endpoint> </Error>
SOAP API sementara mengalihkan respons
catatan
SOAP API untuk Amazon S3 tidak tersedia untuk pelanggan baru, dan mendekati End of Life (EOL) pada 31 Agustus 2025. Kami menyarankan Anda menggunakan REST API atau AWS SDK.
<soapenv:Body> <soapenv:Fault> <Faultcode>soapenv:Client.TemporaryRedirect</Faultcode> <Faultstring>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Faultstring> <Detail> <Bucket>images</Bucket> <Endpoint>s3-gztb4pa9sq.amazonaws.com</Endpoint> </Detail> </soapenv:Fault> </soapenv:Body>
Pertimbangan DNS
Salah satu persyaratan desain Amazon S3 adalah ketersediaan yang sangat tinggi. Salah satu cara kami memenuhi persyaratan ini adalah dengan memperbarui alamat IP yang terkait dengan titik akhir Amazon S3 di DNS sesuai kebutuhan. Perubahan ini secara otomatis tercermin pada klien berumur pendek, tetapi tidak pada beberapa klien berumur panjang. Long-lived klien perlu mengambil tindakan khusus untuk menyelesaikan kembali titik akhir Amazon S3 secara berkala untuk mendapatkan manfaat dari perubahan ini. Untuk informasi selengkapnya tentang mesin virtual (VM), lihat yang berikut ini:
-
Untuk Java, JVM Sun menyimpan pencarian DNS selamanya secara default; buka bagian "InetAddressCaching” dari InetAddress dokumentasi
untuk informasi tentang cara mengubah perilaku ini. -
Untuk PHP, VM PHP persisten yang berjalan di konfigurasi deployment paling populer menyimpan cache pencarian DNS hingga VM dimulai ulang. Pergi ke dapatkan dokumen HostByName PHP.