S3: endpoint gateway atau endpoint antarmuka untuk akses dari jaringan lokal
Endpoint gateway adalah integrasi tabel rute, bukan tujuan privat. Putuskan per klien, lalu verifikasi perutean, sumber DNS, dan izin secara terpisah.
Dua jenis endpoint S3 tampak dapat dipertukarkan dalam tinjauan desain dan berperilaku sangat berbeda begitu klien berada di luar lokasi. Endpoint gateway adalah integrasi tabel rute di dalam VPC, sehingga permintaan dari VPN lokasi tidak pernah sampai ke sana sebagai tujuan privat. Endpoint antarmuka menempatkan alamat privat pada antarmuka jaringan, yang benar-benar dapat dijangkau jalur hibrida. Semua yang berikut bergantung pada mana dari keduanya yang Anda pilih.
Putuskan berdasarkan pintu masuk jaringan, bukan nama layanan
Mulailah dari tempat lalu lintas berasal, karena itulah pertanyaan yang dijawab jenis endpoint. Beban kerja dalam konteks VPC yang didukung dapat menggunakan endpoint gateway dan tidak pernah memerlukan alamat privat sendiri. Beban kerja di lokasi memerlukan alamat privat yang dapat dirutekan, dan itulah yang disediakan endpoint antarmuka. Jika desain mencampur keduanya, kedua jenis endpoint dapat hidup berdampingan dalam satu VPC, dan itu susunan normal, bukan duplikasi.
Mencampurnya bukan masalah. Masalahnya adalah menganggap satu jenis mencakup yang lain.
Klasifikasikan klien sebelum memilih apa pun. Ruang kerja di dalam VPC, kontainer di belakang gateway NAT, dan aplikasi di kantor cabang adalah tiga sumber berbeda, dan hanya yang terakhir memaksa pintu masuk hibrida. Tuliskan klasifikasi itu di samping inventaris endpoint agar peninjau berikutnya melihat mengapa setiap endpoint ada.
Apa yang dibutuhkan jalur antarmuka dari ujung ke ujung
Endpoint antarmuka memberikan keterjangkauan ke alamat privat, dan keterjangkauan hanyalah satu dari empat persyaratan. Jaringan lokal memerlukan rute ke alamat tersebut, sisi VPC memerlukan jalur balik, grup keamanan endpoint harus mengizinkan rentang sumber, dan perangkat inspeksi apa pun di antaranya harus mengizinkan aliran. Rute ke salah satu instans di VPC tidak membuktikan satu pun dari keempatnya.
Bekerjalah dari ujung terjauh ke belakang. Pastikan antarmuka jaringan endpoint ada di subnet yang Anda harapkan, lalu pastikan grup keamanannya mengizinkan rentang lokal sebenarnya, bukan pengganti. Setelah itu periksa apakah terowongan atau sirkuit membawa jalur balik ke arah yang sama. Inspeksi adalah langkah yang dilewati orang, karena perangkat tengah yang mengizinkan koneksi tetap dapat menjatuhkan badan respons yang lebih besar, dan itu tampak seperti masalah throughput, bukan masalah kebijakan.
Uji dengan operasi berizin terkecil yang tersedia, bukan unduhan besar. Kegagalan muncul lebih cepat dan dengan lebih sedikit lalu lintas yang harus dijelaskan.
DNS mengikuti sumber kueri, bukan VPC
Endpoint yang ada tidak mengalihkan apa pun dengan sendirinya. Aplikasi menerima nama apa pun yang dikembalikan resolver-nya, dan resolver menjawab sesuai tampilan yang diizinkan dilihatnya. Instans di dalam VPC dan laptop di kantor mengajukan dua pertanyaan berbeda dan keduanya bisa mendapatkan jawaban yang benar tetapi berbeda. Memverifikasi satu dan menyimpulkan yang lain adalah cara uji yang lulus menjadi penerapan yang gagal.
Bacalah pengaturan DNS privat endpoint sebagai bagian dari desain, bukan sebagai kotak centang yang diaktifkan setelah peluncuran.
Jika resolver kantor harus melihat tampilan VPC, jalur itu harus dibangun dengan sengaja, biasanya melalui endpoint masuk resolver. Kueri dari konteks aplikasi itu sendiri dan catat resolver mana yang menjawab. Hasil yang dikumpulkan di host bastion di dalam VPC hanya menggambarkan tampilan bastion, tidak yang lain.
Izin terpisah dari keterjangkauan
Endpoint yang terjangkau mengembalikan kesalahan untuk permintaan yang tidak diizinkan dilakukan principal, dan kesalahan itu berarti sistem bekerja sesuai rancangan. Kebijakan identitas, kebijakan bucket, dan kebijakan endpoint apa pun dievaluasi di lapisannya masing-masing. Akses jaringan tidak pernah memberikan izin.
Terimalah desain berdasarkan dua hasil: panggilan berizin yang tidak berbahaya dan berhasil, serta penolakan yang diharapkan untuk identitas atau bucket yang dikecualikan.
aws ec2 describe-vpc-endpoints --filters Name=vpc-id,Values=vpc-0123456789abcdef0
dig +short s3.us-west-2.amazonaws.com @10.0.0.2Catat nama endpoint, tujuan yang diselesaikan, dan konteks kebijakan di samping setiap hasil, karena satu perubahan DNS di kemudian hari dapat membatalkan seluruh kesimpulan. Bandingkan biaya saat ini dan beban operasional kedua jenis endpoint sebelum menyediakan apa pun. Endpoint antarmuka membeli pintu masuk privat hibrida, itu bukan persyaratan universal, dan jalur gateway sering tetap menjadi jawaban yang lebih baik untuk beban kerja di dalam VPC. Pilihan dibuat per klien dan tetap dapat ditinjau.