View a markdown version of this page

Kasus penggunaan gateway NAT - Amazon Virtual Private Cloud

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

Kasus penggunaan gateway NAT

Berikut ini adalah contoh kasus penggunaan untuk gateway NAT publik dan privat.

Mengakses internet dari subnet privat

Anda dapat menggunakan gateway NAT publik untuk mengaktifkan instance di subnet pribadi untuk mengirim lalu lintas keluar ke internet, sambil mencegah internet membuat koneksi ke instans.

Gambaran umum

Diagram berikut menggambarkan kasus penggunaan ini. Ada dua Zona Ketersediaan, dengan dua subnet di setiap Zona Ketersediaan. Tabel rute untuk setiap subnet menentukan bagaimana lalu lintas dirutekan. Di Availability Zone A, instance di subnet publik dapat mencapai internet melalui rute ke gateway internet, sedangkan instance di subnet pribadi tidak memiliki rute ke internet. Di Availability Zone B, subnet publik berisi gateway NAT, dan instance di subnet pribadi dapat mencapai internet melalui rute ke gateway NAT di subnet publik.

Gerbang NAT pribadi dan publik memetakan alamat IPv4 pribadi sumber dari instance ke alamat IPv4 pribadi dari gateway NAT pribadi, tetapi dalam kasus gateway NAT publik, gateway internet kemudian memetakan alamat IPv4 pribadi dari gateway NAT publik ke alamat IP Elastic yang terkait dengan gateway NAT. Saat mengirim lalu lintas respons ke instance, apakah itu gateway NAT publik atau pribadi, gateway NAT menerjemahkan alamat kembali ke alamat IP sumber asli.

VPC dengan subnet publik dan pribadi, gateway NAT, dan gateway internet.

Perhatikan bahwa jika instance di subnet pribadi di Availability Zone A juga perlu menjangkau internet, Anda dapat membuat rute dari subnet ini ke gateway NAT di Availability Zone B. Atau, Anda dapat meningkatkan ketahanan dengan membuat gateway NAT di setiap Availability Zone yang berisi sumber daya yang memerlukan akses internet. Untuk contoh diagram, lihatContoh: VPC dengan server di subnet pribadi dan NAT.

Perutean

Berikut ini adalah tabel rute yang terkait dengan subnet publik di Availability Zone A. Entri pertama adalah rute lokal; ini memungkinkan instans di subnet untuk berkomunikasi dengan instans lain di VPC menggunakan alamat IP pribadi. Entri kedua mengirimkan semua lalu lintas subnet lainnya ke gateway internet, yang memungkinkan instans di subnet untuk mengakses internet.

Tujuan Target
VPC CIDR lokal
0.0.0. 0/0 internet-gateway-id

Berikut ini adalah tabel rute yang terkait dengan subnet pribadi di Availability Zone A. Entri adalah rute lokal, yang memungkinkan instans di subnet berkomunikasi dengan instans lain di VPC menggunakan alamat IP pribadi. Instans di subnet ini tidak memiliki akses ke internet.

Tujuan Target
VPC CIDR lokal

Berikut ini adalah tabel rute yang terkait dengan subnet publik di Availability Zone B. Entri pertama adalah rute lokal, yang memungkinkan instans di subnet berkomunikasi dengan instans lain di VPC menggunakan alamat IP pribadi. Entri kedua mengirimkan semua lalu lintas subnet lainnya ke gateway internet, yang memungkinkan gateway NAT di subnet untuk mengakses internet.

Tujuan Target
VPC CIDR lokal
0.0.0. 0/0 internet-gateway-id

Berikut ini adalah tabel rute yang terkait dengan subnet pribadi di Availability Zone B. Entri pertama adalah rute lokal; ini memungkinkan instance di subnet untuk berkomunikasi dengan instance lain di VPC menggunakan alamat IP pribadi. Entri kedua mengirimkan semua lalu lintas subnet lainnya ke gateway NAT.

Tujuan Target
VPC CIDR lokal
0.0.0. 0/0 nat-gateway-id

Untuk informasi selengkapnya, lihat Kelola tabel rute subnet.

Uji gateway NAT publik

Setelah Anda membuat gateway NAT dan memperbarui tabel rute, Anda dapat mengirimkan ping alamat jarak jauh di internet dari sebuah instans di subnet privat untuk menguji apakah perangkat tersebut dapat tersambung ke internet. Untuk contoh cara melakukannya, lihat Menguji koneksi internet.

Jika Anda dapat terhubung ke internet, Anda juga dapat menguji apakah lalu lintas internet dirutekan melalui gateway NAT:

  • Melacak rute lalu lintas dari sebuah instans di subnet privat Anda. Untuk melakukannya, jalankan perintah traceroute dari instans Linux di subnet privat Anda. Dalam output, Anda harus melihat alamat IP privat gateway NAT di salah satu hop (biasanya hop pertama).

  • Gunakan situs web atau alat pihak ke tiga yang menampilkan alamat IP sumber saat Anda tersambung dari instans di subnet privat Anda. Alamat IP sumber harus alamat IP elastis dari gateway NAT.

Jika percobaan ini gagal, lihat Memecahkan masalah gateway NAT.

Menguji koneksi internet

Contoh berikut menunjukkan cara untuk menguji apakah sebuah instans di subnet privat dapat terhubung ke internet.

  1. Luncurkan sebuah instans di subnet publik Anda (gunakan ini sebagai host bastion). Pada lauch wizard, pastikan bahwa Anda memilih Amazon Linux AMI, dan menetapkan alamat IP publik untuk instans Anda.

    Pastikan aturan grup keamanan Anda mengizinkan lalu lintas SSH masuk dari kisaran alamat IP untuk jaringan lokal Anda, dan lalu lintas SSH keluar ke rentang alamat IP subnet pribadi Anda. Anda juga dapat menggunakan 0.0.0.0/0 untuk lalu lintas SSH masuk dan keluar untuk pengujian ini.

  2. Luncurkan sebuah instans di subnet privat Anda. Dalam launch wizard, pastikan bahwa Anda memilih Amazon Linux AMI. Jangan menetapkan alamat IP publik ke instans Anda. Pastikan bahwa aturan grup keamanan Anda mengizinkan lalu lintas SSH masuk dari alamat IP privat instans Anda yang diluncurkan di subnet publik, dan semua lalu lintas ICMP keluar. Anda harus memilih pasangan kunci yang sama yang Anda gunakan untuk meluncurkan instans Anda di subnet publik.

  3. Mengkonfigurasi SSH agent forwarding pada komputer lokal Anda, dan terhubung ke host bastion Anda di subnet publik. Untuk informasi selengkapnya, lihat Untuk mengkonfigurasi SSH agent forwarding untuk Linux atau macOS atau Untuk mengkonfigurasi penerusan agen SSH untuk Windows.

  4. Dari host bastion Anda, terhubung ke instans Anda di subnet privat, dan kemudian menguji koneksi internet dari instans Anda di subnet privat. Untuk informasi selengkapnya, lihat Untuk menguji koneksi internet.

Untuk mengkonfigurasi SSH agent forwarding untuk Linux atau macOS
  1. Dari mesin lokal Anda, tambahkan kunci privat Anda ke agen autentikasi.

    Untuk Linux, gunakan perintah berikut.

    ssh-add -c mykeypair.pem

    Untuk macOS, gunakan perintah berikut.

    ssh-add -K mykeypair.pem
  2. Connect ke instans Anda di subnet publik menggunakan pilihan -A untuk mengaktifkan SSH agent forwarding, dan menggunakan alamat publik instans, seperti yang ditunjukkan dalam contoh berikut.

    ssh -A ec2-user@54.0.0.123
Untuk mengkonfigurasi penerusan agen SSH untuk Windows

Anda dapat menggunakan klien OpenSSH yang tersedia di Windows, atau menginstal klien SSH pilihan Anda (misalnya, PuTTY).

OpenSSH

Instal OpenSSH untuk Windows seperti yang dijelaskan dalam artikel ini: Mem ulai dengan OpenSSH untuk Windows. Kemudian tambahkan kunci Anda ke agen otentikasi. Untuk informasi selengkapnya, lihat Key-based otentikasi di OpenSSH untuk Windows.

PuTTY
  1. Unduh dan instal Pageant dari halaman pengunduhan PuTTY, jika belum diinstal.

  2. Ubah kunci privat Anda ke format .ppk. Untuk informasi selengkapnya, lihat Mengonversi kunci pribadi Anda menggunakan PuttyGen di Panduan Pengguna Amazon EC2.

  3. Mulai Pageant, buka menu konteks untuk ikon Kontes di bilah tugas (mungkin tersembunyi), dan pilih Tam bah Kunci. Pilih file .ppk yang Anda buat, masukkan frasa sandi jika perlu, dan pilih Buka.

  4. Mulai sesi PuTTY dan hubungkan ke instans Anda di subnet publik menggunakan alamat IP publiknya. Untuk informasi selengkapnya, lihat Menghubungkan ke instance Linux menggunakan PuTTY. Di Kategori Autentikasi, pastikan bahwa Anda memilih pilihan Izinkan agent forwarding, dan biarkan kotak File kunci privat untuk autentikasi tetap kosong.

Untuk menguji koneksi internet
  1. Dari instans Anda di subnet publik, hubungkan ke instans Anda di subnet privat Anda dengan menggunakan alamat IP privat seperti yang ditunjukkan dalam instans berikut.

    ssh ec2-user@10.0.1.123
  2. Dari instans pribadi Anda, uji bahwa Anda dapat terhubung ke internet dengan menjalankan perintah ping untuk situs web yang memiliki ICMP diaktifkan.

    ping ietf.org
    PING ietf.org (4.31.198.44) 56(84) bytes of data. 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=47 time=86.0 ms 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=47 time=75.6 ms ...

    Tekan Ctrl+C pada keyboard Anda untuk membatalkan perintah ping. Jika perintah ping gagal, lihat Instans tidak dapat mengakses internet.

  3. (Opsioonal) Jika Anda tidak lagi memerlukan instans Anda, hentikan. Untuk informasi selengkapnya, lihat Menghentikan instans Anda di Panduan Pengguna Amazon EC2.

Akses jaringan Anda menggunakan alamat IP yang terdaftar diizinkan

Anda dapat menggunakan gateway NAT pribadi untuk mengaktifkan komunikasi dari VPC ke jaringan lokal menggunakan kumpulan alamat yang terdaftar diizinkan.

Alih-alih menetapkan setiap instans alamat IP terpisah dari rentang yang terdaftar diizinkan, Anda dapat merutekan lalu lintas dari subnet melalui gateway NAT pribadi dengan alamat IP dari rentang yang terdaftar diizinkan.

Gambaran umum

Diagram berikut menunjukkan bagaimana instance dapat mengakses sumber daya lokal melalui Site-to-Site VPN. Lalu lintas dari instans dialihkan ke gateway pribadi virtual, melalui koneksi VPN, ke gateway pelanggan, dan kemudian ke tujuan di jaringan lokal. Namun, misalkan tujuan mengizinkan lalu lintas hanya dari rentang alamat IP tertentu, seperti 100.64.1. 0/28. Ini akan mencegah lalu lintas dari instans ini mencapai jaringan lokal.

Akses ke jaringan lokal menggunakan Site-to-Site VPN koneksi.

Diagram berikut menunjukkan komponen kunci konfigurasi untuk skenario ini. VPC memiliki rentang alamat IP asli ditambah rentang alamat IP yang diizinkan. VPC memiliki subnet dari rentang alamat IP yang diizinkan dengan gateway NAT pribadi. Lalu lintas dari instans yang ditujukan untuk jaringan lokal dikirim ke gateway NAT sebelum dialihkan ke koneksi VPN. Jaringan lokal menerima lalu lintas dari instance dengan alamat IP sumber gateway NAT, yang berasal dari rentang alamat IP yang diizinkan.

Lalu lintas subnet VPC dialihkan melalui gateway NAT pribadi.

Sumber daya

Buat atau perbarui sumber daya sebagai berikut:

  • Kaitkan rentang alamat IP yang diizinkan dengan VPC.

  • Buat subnet di VPC dari rentang alamat IP yang diizinkan.

  • Buat gateway NAT pribadi di subnet baru.

  • Perbarui tabel rute untuk subnet dengan instans untuk mengirim lalu lintas yang ditujukan untuk jaringan lokal ke gateway NAT. Tambahkan rute ke tabel rute untuk subnet dengan gateway NAT pribadi yang mengirimkan lalu lintas yang ditujukan untuk jaringan lokal ke gateway pribadi virtual.

Perutean

Berikut ini adalah tabel rute yang terkait dengan subnet pertama. Ada rute lokal untuk setiap VPC CIDR. Rute lokal memungkinkan sumber daya di subnet untuk berkomunikasi dengan sumber daya lain di VPC menggunakan alamat IP pribadi. Entri ketiga mengirimkan lalu lintas yang ditujukan untuk jaringan lokal ke gateway NAT pribadi.

Tujuan Target
10.0.0.0/16 lokal
100.64.1.0/24 lokal
192.168.0.0/16 nat-gateway-id

Berikut ini adalah tabel rute yang terkait dengan subnet kedua. Ada rute lokal untuk setiap VPC CIDR. Rute lokal memungkinkan sumber daya di subnet untuk berkomunikasi dengan sumber daya lain di VPC menggunakan alamat IP pribadi. Entri ketiga mengirimkan lalu lintas yang ditujukan untuk jaringan lokal ke gateway pribadi virtual.

Tujuan Target
10.0.0.0/16 lokal
100.64.1.0/24 lokal
192.168.0.0/16 vgw-id

Aktifkan komunikasi antara jaringan yang tumpang tindih

Anda dapat menggunakan gateway NAT pribadi untuk mengaktifkan komunikasi antar jaringan meskipun mereka memiliki rentang CIDR yang tumpang tindih. Misalnya, contoh di VPC A perlu mengakses layanan yang disediakan oleh instance di VPC B.

Dua VPC dengan rentang CIDR yang tumpang tindih.

Gambaran umum

Diagram berikut menunjukkan komponen kunci konfigurasi untuk skenario ini. Pertama, tim manajemen IP Anda menentukan rentang alamat mana yang dapat tumpang tindih (rentang alamat yang tidak dapat dialihkan) dan mana yang tidak dapat (rentang alamat yang dapat dirutekan). Tim manajemen IP mengalokasikan rentang alamat dari kumpulan rentang alamat yang dapat dirutekan ke proyek berdasarkan permintaan.

Setiap VPC memiliki rentang alamat IP aslinya, yang tidak dapat dirutekan, ditambah rentang alamat IP yang dapat dirutekan oleh tim manajemen IP. VPC A memiliki subnet dari jangkauan yang dapat dirutekan dengan gateway NAT pribadi. Gerbang NAT pribadi mendapatkan alamat IP dari subnetnya. VPC B memiliki subnet dari jangkauan yang dapat dirutekan dengan Application Load Balancer. Application Load Balancer mendapatkan alamat IP dari subnetnya.

Lalu lintas dari instance di subnet non-routable VPC A yang ditujukan untuk instans di subnet non-routable VPC B dikirim melalui gateway NAT pribadi. Kemudian diarahkan ke gateway transit.

Gateway transit mengirimkan lalu lintas ke Application Load Balancer, yang merutekan lalu lintas ke salah satu instance target di subnet non-routable VPC B. Lalu lintas dari gateway transit ke Application Load Balancer memiliki alamat IP sumber dari gateway NAT pribadi. Oleh karena itu, lalu lintas respons dari load balancer menggunakan alamat gateway NAT pribadi sebagai tujuannya. Lalu lintas respons dikirim ke gateway transit dan kemudian dialihkan ke gateway NAT pribadi, yang menerjemahkan tujuan ke instance di subnet non-routable VPC A.

VPC dengan gateway NAT pribadi dan gateway transit untuk komunikasi antar-VPC dengan CIDR yang tumpang tindih.

Sumber daya

Buat atau perbarui sumber daya sebagai berikut:

  • Kaitkan rentang alamat IP yang dapat dirutekan yang ditetapkan dengan VPC masing-masing.

  • Buat subnet di VPC A dari rentang alamat IP yang dapat dirutekan, dan buat gateway NAT pribadi di subnet baru ini.

  • Buat subnet di VPC B dari rentang alamat IP yang dapat dirutekan, dan buat Application Load Balancer di subnet baru ini. Daftarkan instance di subnet yang tidak dapat dirutekan dengan grup target untuk penyeimbang beban.

  • Buat gateway transit untuk menghubungkan VPC. Pastikan untuk menonaktifkan propagasi rute. Saat Anda melampirkan setiap VPC ke gateway transit, gunakan rentang alamat yang dapat dirutekan dari VPC.

  • Perbarui tabel rute subnet non-routable di VPC A untuk mengirim semua lalu lintas yang ditujukan untuk rentang alamat yang dapat dirutekan dari VPC B ke gateway NAT pribadi. Perbarui tabel rute subnet yang dapat dirutekan di VPC A untuk mengirim semua lalu lintas yang ditujukan untuk rentang alamat yang dapat dirutekan dari VPC B ke gateway transit.

  • Perbarui tabel rute subnet yang dapat dirutekan di VPC B untuk mengirim semua lalu lintas yang ditujukan untuk rentang alamat yang dapat dirutekan dari VPC A ke gateway transit.

Perutean

Berikut ini adalah tabel rute untuk subnet yang tidak dapat dirutekan di VPC A.

Tujuan Target
10.0.0.0/16 lokal
100.64.1.0/24 lokal
100.64.2.0/24 nat-gateway-id

Berikut ini adalah tabel rute untuk subnet yang dapat dirutekan di VPC A.

Tujuan Target
10.0.0.0/16 lokal
100.64.1.0/24 lokal
100.64.2.0/24 transit-gateway-id

Berikut ini adalah tabel rute untuk subnet yang tidak dapat dirutekan di VPC B.

Tujuan Target
10.0.0.0/16 lokal
100.64.2.0/24 lokal

Berikut ini adalah tabel rute untuk subnet yang dapat dirutekan di VPC B.

Tujuan Target
10.0.0.0/16 lokal
100.64.2.0/24 lokal
100.64.1.0/24 transit-gateway-id

Berikut ini adalah tabel rute gateway transit.

CIDR Lampiran Jenis rute
100.64.1.0/24 Attachment for VPC A Statis
100.64.2.0/24 Attachment for VPC B Statis