Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Aktifkan akses internet untuk fungsi Lambda yang terhubung dengan VPC

Mode fokus
Aktifkan akses internet untuk fungsi Lambda yang terhubung dengan VPC - AWS Lambda

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

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

Secara default, fungsi Lambda berjalan di VPC yang dikelola Lambda yang memiliki akses internet. Untuk mengakses sumber daya dalam VPC di akun Anda, Anda dapat menambahkan konfigurasi VPC ke suatu fungsi. Ini membatasi fungsi untuk sumber daya dalam VPC itu, kecuali VPC memiliki akses internet. Halaman ini menjelaskan cara menyediakan akses internet ke fungsi Lambda yang terhubung dengan VPC.

Buat VPC

Alur kerja Buat VPC menciptakan semua sumber daya VPC yang diperlukan untuk fungsi Lambda untuk mengakses internet publik dari subnet pribadi, termasuk subnet, gateway NAT, gateway internet, dan entri tabel rute.

Untuk membuat VPC
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di dasbor, pilih Buat VPC.

  3. Agar Sumber Daya dapat dibuat, pilih VPC dan lainnya.

  4. Konfigurasikan VPC

    1. Untuk Pembuatan otomatis tanda nama, masukkan nama untuk VPC.

    2. Untuk blok IPv4 CIDR, Anda dapat menyimpan saran default, atau sebagai alternatif Anda dapat memasukkan blok CIDR yang diperlukan oleh aplikasi atau jaringan Anda.

    3. Jika aplikasi Anda berkomunikasi dengan menggunakan IPv6 alamat, pilih blok CIDR, blok IPv6 CIDR yang disediakan Amazon IPv6 .

  5. Konfigurasikan subnet

    1. Untuk Jumlah Availability Zone, pilih 2. Kami merekomendasikan setidaknya dua AZs untuk ketersediaan tinggi.

    2. Untuk Jumlah subnet publik, pilih 2.

    3. Untuk Jumlah subnet pribadi, pilih 2.

    4. Anda dapat menyimpan blok CIDR default untuk subnet publik, atau sebagai alternatif Anda dapat memperluas Kustomisasi blok CIDR subnet dan memasukkan blok CIDR. Untuk informasi selengkapnya, lihat Blok CIDR Subnet.

  6. Untuk gateway NAT, pilih 1 per AZ untuk meningkatkan ketahanan.

  7. Untuk gateway internet Egress saja, pilih Ya jika Anda memilih untuk menyertakan blok CIDR. IPv6

  8. Untuk titik akhir VPC, pertahankan default (S3 Gateway). Tidak ada biaya untuk opsi ini. Untuk informasi selengkapnya, lihat Jenis titik akhir VPC untuk Amazon S3.

  9. Untuk opsi DNS, pertahankan pengaturan default.

  10. Pilih Buat VPC.

Konfigurasikan fungsi Lambda

Untuk mengonfigurasi VPC saat Anda membuat fungsi
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih Buat fungsi.

  3. Di bawah Informasi Dasar, untuk Nama fungsi, masukkan nama untuk fungsi Anda.

  4. Perluas Pengaturan lanjutan.

  5. Pilih Aktifkan VPC, lalu pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Buat fungsi.

Lambda secara otomatis membuat peran eksekusi dengan kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola. Izin dalam kebijakan ini hanya diperlukan untuk membuat antarmuka jaringan elastis untuk konfigurasi VPC, bukan untuk menjalankan fungsi Anda. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat fungsi dan konfigurasi VPC. Untuk informasi selengkapnya, lihat Izin IAM yang diperlukan.

Untuk mengonfigurasi VPC untuk fungsi yang ada

Untuk menambahkan konfigurasi VPC ke fungsi yang ada, peran eksekusi fungsi harus memiliki izin untuk membuat dan mengelola antarmuka jaringan elastis. Kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola mencakup izin yang diperlukan. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat konfigurasi VPC.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih tab Konfigurasi, lalu pilih VPC.

  4. Di bagian VPC, pilih Edit.

  5. Pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Simpan.

Uji fungsi

Gunakan kode contoh berikut untuk mengonfirmasi bahwa fungsi Anda yang terhubung dengan VPC dapat menjangkau internet publik. Jika berhasil, kode mengembalikan kode 200 status. Jika tidak berhasil, fungsi akan habis.

Node.js
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file lambda_function.py. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }

Buat VPC

Alur kerja Buat VPC menciptakan semua sumber daya VPC yang diperlukan untuk fungsi Lambda untuk mengakses internet publik dari subnet pribadi, termasuk subnet, gateway NAT, gateway internet, dan entri tabel rute.

Untuk membuat VPC
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di dasbor, pilih Buat VPC.

  3. Agar Sumber Daya dapat dibuat, pilih VPC dan lainnya.

  4. Konfigurasikan VPC

    1. Untuk Pembuatan otomatis tanda nama, masukkan nama untuk VPC.

    2. Untuk blok IPv4 CIDR, Anda dapat menyimpan saran default, atau sebagai alternatif Anda dapat memasukkan blok CIDR yang diperlukan oleh aplikasi atau jaringan Anda.

    3. Jika aplikasi Anda berkomunikasi dengan menggunakan IPv6 alamat, pilih blok CIDR, blok IPv6 CIDR yang disediakan Amazon IPv6 .

  5. Konfigurasikan subnet

    1. Untuk Jumlah Availability Zone, pilih 2. Kami merekomendasikan setidaknya dua AZs untuk ketersediaan tinggi.

    2. Untuk Jumlah subnet publik, pilih 2.

    3. Untuk Jumlah subnet pribadi, pilih 2.

    4. Anda dapat menyimpan blok CIDR default untuk subnet publik, atau sebagai alternatif Anda dapat memperluas Kustomisasi blok CIDR subnet dan memasukkan blok CIDR. Untuk informasi selengkapnya, lihat Blok CIDR Subnet.

  6. Untuk gateway NAT, pilih 1 per AZ untuk meningkatkan ketahanan.

  7. Untuk gateway internet Egress saja, pilih Ya jika Anda memilih untuk menyertakan blok CIDR. IPv6

  8. Untuk titik akhir VPC, pertahankan default (S3 Gateway). Tidak ada biaya untuk opsi ini. Untuk informasi selengkapnya, lihat Jenis titik akhir VPC untuk Amazon S3.

  9. Untuk opsi DNS, pertahankan pengaturan default.

  10. Pilih Buat VPC.

Konfigurasikan fungsi Lambda

Untuk mengonfigurasi VPC saat Anda membuat fungsi
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih Buat fungsi.

  3. Di bawah Informasi Dasar, untuk Nama fungsi, masukkan nama untuk fungsi Anda.

  4. Perluas Pengaturan lanjutan.

  5. Pilih Aktifkan VPC, lalu pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Buat fungsi.

Lambda secara otomatis membuat peran eksekusi dengan kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola. Izin dalam kebijakan ini hanya diperlukan untuk membuat antarmuka jaringan elastis untuk konfigurasi VPC, bukan untuk menjalankan fungsi Anda. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat fungsi dan konfigurasi VPC. Untuk informasi selengkapnya, lihat Izin IAM yang diperlukan.

Untuk mengonfigurasi VPC untuk fungsi yang ada

Untuk menambahkan konfigurasi VPC ke fungsi yang ada, peran eksekusi fungsi harus memiliki izin untuk membuat dan mengelola antarmuka jaringan elastis. Kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola mencakup izin yang diperlukan. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat konfigurasi VPC.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih tab Konfigurasi, lalu pilih VPC.

  4. Di bagian VPC, pilih Edit.

  5. Pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Simpan.

Uji fungsi

Gunakan kode contoh berikut untuk mengonfirmasi bahwa fungsi Anda yang terhubung dengan VPC dapat menjangkau internet publik. Jika berhasil, kode mengembalikan kode 200 status. Jika tidak berhasil, fungsi akan habis.

Node.js
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file lambda_function.py. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }

Jika Anda sudah memiliki VPC tetapi Anda perlu mengonfigurasi akses internet publik untuk fungsi Lambda, ikuti langkah-langkah ini. Prosedur ini mengasumsikan bahwa VPC Anda memiliki setidaknya dua subnet. Jika Anda tidak memiliki dua subnet, lihat Membuat subnet di Panduan Pengguna Amazon VPC.

Verifikasi konfigurasi tabel rute

  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Pilih ID VPC.

    Daftar konsol VPC dari. VPCs
  3. Gulir ke bawah ke bagian Peta sumber daya. Perhatikan pemetaan tabel rute. Buka setiap tabel rute yang dipetakan ke subnet.

    Bagian peta sumber daya konsol VPC
  4. Gulir ke bawah ke tab Rute. Tinjau rute untuk menentukan apakah salah satu dari berikut ini benar. Masing-masing persyaratan ini harus dipenuhi oleh tabel rute terpisah.

    • Lalu lintas internet (0.0.0.0/0untuk IPv4, ::/0 untuk IPv6) dirutekan ke gateway internet (). igw-xxxxxxxxxx Ini berarti bahwa subnet yang terkait dengan tabel rute adalah subnet publik.

      catatan

      Jika subnet Anda tidak memiliki blok IPv6 CIDR, Anda hanya akan melihat IPv4 route ()0.0.0.0/0.

      contoh tabel rute subnet publik
      Tabel rute subnet publik dengan rute ke gateway internet
    • Lalu lintas internet untuk IPv4 (0.0.0.0/0) dirutekan ke gateway NAT (nat-xxxxxxxxxx) yang terkait dengan subnet publik. Ini berarti bahwa subnet adalah subnet pribadi yang dapat mengakses internet melalui gateway NAT.

      catatan

      Jika subnet Anda memiliki blok IPv6 CIDR, tabel rute juga harus merutekan IPv6 lalu lintas terikat internet (::/0) ke gateway internet khusus egres (). eigw-xxxxxxxxxx Jika subnet Anda tidak memiliki blok IPv6 CIDR, Anda hanya akan melihat IPv4 route ()0.0.0.0/0.

      contoh tabel rute subnet pribadi
      Tabel rute subnet pribadi dengan rute ke gateway NAT
  5. Ulangi langkah sebelumnya hingga Anda meninjau setiap tabel rute yang terkait dengan subnet di VPC Anda dan mengonfirmasi bahwa Anda memiliki tabel rute dengan gateway internet dan tabel rute dengan gateway NAT.

    Jika Anda tidak memiliki dua tabel rute, satu dengan rute ke gateway internet dan satu dengan rute ke gateway NAT, ikuti langkah-langkah ini untuk membuat sumber daya dan entri tabel rute yang hilang.

Ikuti langkah-langkah ini untuk membuat tabel rute dan mengaitkannya dengan subnet.

Untuk membuat tabel rute khusus menggunakan konsol Amazon VPC
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih Tabel rute.

  3. Pilih Buat tabel rute.

  4. (Opsional) Untuk Nama, masukkan nama untuk tabel rute Anda.

  5. Untuk VPC, pilih VPC Anda.

  6. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai tag.

  7. Pilih Buat tabel rute.

  8. Pada tab Pengaitan subnet, pilih Sunting pengaitan subnet.

    Lampirkan gateway internet ke VPC
  9. Pilih kotak centang untuk subnet untuk dikaitkan dengan tabel rute.

  10. Pilih Simpan pengaitan.

Ikuti langkah-langkah ini untuk membuat gateway internet, melampirkannya ke VPC Anda, dan menambahkannya ke tabel rute subnet publik Anda.

Untuk membuat gateway internet
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih gateway Internet.

  3. Pilih Buat gateway internet.

  4. (Opsional) Masukkan nama untuk gateway internet Anda.

  5. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai.

  6. Pilih Buat gateway internet.

  7. Pilih Lampirkan ke VPC dari spanduk di bagian atas layar, pilih VPC yang tersedia, lalu pilih Lampirkan gateway internet.

    Lampirkan gateway internet ke VPC
  8. Pilih ID VPC.

    Halaman detail gateway internet
  9. Pilih ID VPC lagi untuk membuka halaman detail VPC.

    Daftar VPC yang difilter di Konsol VPC Amazon
  10. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet. Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  11. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  12. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  13. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  14. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  15. Untuk Target, pilih Internet gateway, lalu pilih gateway internet yang Anda buat sebelumnya. Jika subnet Anda memiliki blok IPv6 CIDR, Anda juga harus menambahkan rute ::/0 ke gateway internet yang sama.

    Tambahkan target untuk rute baru
  16. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway NAT, mengaitkannya dengan subnet publik, dan kemudian menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway NAT dan mengaitkannya dengan subnet publik
  1. Di panel navigasi, pilih gateway NAT.

  2. Pilih Buat gateway NAT.

  3. (Opsional) Masukkan nama untuk gateway NAT Anda.

  4. Untuk Subnet, pilih subnet publik di VPC Anda. (Subnet publik adalah subnet yang memiliki rute langsung ke gateway internet dalam tabel rutenya.)

    catatan

    Gateway NAT dikaitkan dengan subnet publik, tetapi entri tabel rute ada di subnet pribadi.

  5. Untuk ID alokasi IP elastis, pilih alamat IP elastis atau pilih Alokasikan IP Elastis.

  6. Pilih Buat gateway NAT.

Untuk menambahkan rute ke gateway NAT di tabel rute subnet pribadi
  1. Di panel navigasi, pilih Pengguna.

  2. Pilih subnet pribadi di VPC Anda. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.)

  3. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  4. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  5. Gulir ke bawah dan pilih tab Rute, lalu pilih Edit rute

    Rute tab pada halaman rincian tabel rute
  6. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  7. Untuk Target, pilih gateway NAT, lalu pilih gateway NAT yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  8. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway internet khusus egres dan menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway internet egress-only
  1. Di panel navigasi, pilih gateway internet khusus Egress.

  2. Pilih Buat gateway internet hanya jalan keluar.

  3. (Opsional) Masukkan nama.

  4. Pilih VPC tempat untuk membuat gateway internet egress-only.

  5. Pilih Buat gateway internet hanya jalan keluar.

  6. Pilih tautan di bawah ID VPC Terlampir.

    Halaman detail gateway internet khusus Egress
  7. Pilih tautan di bawah ID VPC untuk membuka halaman detail VPC.

  8. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet pribadi. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.) Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  9. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  10. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  11. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  12. Pilih Tambah rute, lalu masukkan ::/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  13. Untuk Target, pilih Egress Only Internet Gateway, lalu pilih gateway yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  14. Pilih Simpan perubahan.

Konfigurasikan fungsi Lambda

Untuk mengonfigurasi VPC saat Anda membuat fungsi
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih Buat fungsi.

  3. Di bawah Informasi Dasar, untuk Nama fungsi, masukkan nama untuk fungsi Anda.

  4. Perluas Pengaturan lanjutan.

  5. Pilih Aktifkan VPC, lalu pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Buat fungsi.

Lambda secara otomatis membuat peran eksekusi dengan kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola. Izin dalam kebijakan ini hanya diperlukan untuk membuat antarmuka jaringan elastis untuk konfigurasi VPC, bukan untuk menjalankan fungsi Anda. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat fungsi dan konfigurasi VPC. Untuk informasi selengkapnya, lihat Izin IAM yang diperlukan.

Untuk mengonfigurasi VPC untuk fungsi yang ada

Untuk menambahkan konfigurasi VPC ke fungsi yang ada, peran eksekusi fungsi harus memiliki izin untuk membuat dan mengelola antarmuka jaringan elastis. Kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola mencakup izin yang diperlukan. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat konfigurasi VPC.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih tab Konfigurasi, lalu pilih VPC.

  4. Di bagian VPC, pilih Edit.

  5. Pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Simpan.

Uji fungsi

Gunakan kode contoh berikut untuk mengonfirmasi bahwa fungsi Anda yang terhubung dengan VPC dapat menjangkau internet publik. Jika berhasil, kode mengembalikan kode 200 status. Jika tidak berhasil, fungsi akan habis.

Node.js
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file lambda_function.py. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }

Jika Anda sudah memiliki VPC tetapi Anda perlu mengonfigurasi akses internet publik untuk fungsi Lambda, ikuti langkah-langkah ini. Prosedur ini mengasumsikan bahwa VPC Anda memiliki setidaknya dua subnet. Jika Anda tidak memiliki dua subnet, lihat Membuat subnet di Panduan Pengguna Amazon VPC.

Verifikasi konfigurasi tabel rute

  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Pilih ID VPC.

    Daftar konsol VPC dari. VPCs
  3. Gulir ke bawah ke bagian Peta sumber daya. Perhatikan pemetaan tabel rute. Buka setiap tabel rute yang dipetakan ke subnet.

    Bagian peta sumber daya konsol VPC
  4. Gulir ke bawah ke tab Rute. Tinjau rute untuk menentukan apakah salah satu dari berikut ini benar. Masing-masing persyaratan ini harus dipenuhi oleh tabel rute terpisah.

    • Lalu lintas internet (0.0.0.0/0untuk IPv4, ::/0 untuk IPv6) dirutekan ke gateway internet (). igw-xxxxxxxxxx Ini berarti bahwa subnet yang terkait dengan tabel rute adalah subnet publik.

      catatan

      Jika subnet Anda tidak memiliki blok IPv6 CIDR, Anda hanya akan melihat IPv4 route ()0.0.0.0/0.

      contoh tabel rute subnet publik
      Tabel rute subnet publik dengan rute ke gateway internet
    • Lalu lintas internet untuk IPv4 (0.0.0.0/0) dirutekan ke gateway NAT (nat-xxxxxxxxxx) yang terkait dengan subnet publik. Ini berarti bahwa subnet adalah subnet pribadi yang dapat mengakses internet melalui gateway NAT.

      catatan

      Jika subnet Anda memiliki blok IPv6 CIDR, tabel rute juga harus merutekan IPv6 lalu lintas terikat internet (::/0) ke gateway internet khusus egres (). eigw-xxxxxxxxxx Jika subnet Anda tidak memiliki blok IPv6 CIDR, Anda hanya akan melihat IPv4 route ()0.0.0.0/0.

      contoh tabel rute subnet pribadi
      Tabel rute subnet pribadi dengan rute ke gateway NAT
  5. Ulangi langkah sebelumnya hingga Anda meninjau setiap tabel rute yang terkait dengan subnet di VPC Anda dan mengonfirmasi bahwa Anda memiliki tabel rute dengan gateway internet dan tabel rute dengan gateway NAT.

    Jika Anda tidak memiliki dua tabel rute, satu dengan rute ke gateway internet dan satu dengan rute ke gateway NAT, ikuti langkah-langkah ini untuk membuat sumber daya dan entri tabel rute yang hilang.

Ikuti langkah-langkah ini untuk membuat tabel rute dan mengaitkannya dengan subnet.

Untuk membuat tabel rute khusus menggunakan konsol Amazon VPC
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih Tabel rute.

  3. Pilih Buat tabel rute.

  4. (Opsional) Untuk Nama, masukkan nama untuk tabel rute Anda.

  5. Untuk VPC, pilih VPC Anda.

  6. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai tag.

  7. Pilih Buat tabel rute.

  8. Pada tab Pengaitan subnet, pilih Sunting pengaitan subnet.

    Lampirkan gateway internet ke VPC
  9. Pilih kotak centang untuk subnet untuk dikaitkan dengan tabel rute.

  10. Pilih Simpan pengaitan.

Ikuti langkah-langkah ini untuk membuat tabel rute dan mengaitkannya dengan subnet.

Untuk membuat tabel rute khusus menggunakan konsol Amazon VPC
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih Tabel rute.

  3. Pilih Buat tabel rute.

  4. (Opsional) Untuk Nama, masukkan nama untuk tabel rute Anda.

  5. Untuk VPC, pilih VPC Anda.

  6. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai tag.

  7. Pilih Buat tabel rute.

  8. Pada tab Pengaitan subnet, pilih Sunting pengaitan subnet.

    Lampirkan gateway internet ke VPC
  9. Pilih kotak centang untuk subnet untuk dikaitkan dengan tabel rute.

  10. Pilih Simpan pengaitan.

Ikuti langkah-langkah ini untuk membuat gateway internet, melampirkannya ke VPC Anda, dan menambahkannya ke tabel rute subnet publik Anda.

Untuk membuat gateway internet
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih gateway Internet.

  3. Pilih Buat gateway internet.

  4. (Opsional) Masukkan nama untuk gateway internet Anda.

  5. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai.

  6. Pilih Buat gateway internet.

  7. Pilih Lampirkan ke VPC dari spanduk di bagian atas layar, pilih VPC yang tersedia, lalu pilih Lampirkan gateway internet.

    Lampirkan gateway internet ke VPC
  8. Pilih ID VPC.

    Halaman detail gateway internet
  9. Pilih ID VPC lagi untuk membuka halaman detail VPC.

    Daftar VPC yang difilter di Konsol VPC Amazon
  10. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet. Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  11. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  12. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  13. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  14. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  15. Untuk Target, pilih Internet gateway, lalu pilih gateway internet yang Anda buat sebelumnya. Jika subnet Anda memiliki blok IPv6 CIDR, Anda juga harus menambahkan rute ::/0 ke gateway internet yang sama.

    Tambahkan target untuk rute baru
  16. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway internet, melampirkannya ke VPC Anda, dan menambahkannya ke tabel rute subnet publik Anda.

Untuk membuat gateway internet
  1. Buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/

  2. Di panel navigasi, pilih gateway Internet.

  3. Pilih Buat gateway internet.

  4. (Opsional) Masukkan nama untuk gateway internet Anda.

  5. (Opsional) Untuk menambahkan tag, pilih Tambahkan tag baru dan masukkan kunci tag dan nilai.

  6. Pilih Buat gateway internet.

  7. Pilih Lampirkan ke VPC dari spanduk di bagian atas layar, pilih VPC yang tersedia, lalu pilih Lampirkan gateway internet.

    Lampirkan gateway internet ke VPC
  8. Pilih ID VPC.

    Halaman detail gateway internet
  9. Pilih ID VPC lagi untuk membuka halaman detail VPC.

    Daftar VPC yang difilter di Konsol VPC Amazon
  10. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet. Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  11. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  12. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  13. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  14. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  15. Untuk Target, pilih Internet gateway, lalu pilih gateway internet yang Anda buat sebelumnya. Jika subnet Anda memiliki blok IPv6 CIDR, Anda juga harus menambahkan rute ::/0 ke gateway internet yang sama.

    Tambahkan target untuk rute baru
  16. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway NAT, mengaitkannya dengan subnet publik, dan kemudian menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway NAT dan mengaitkannya dengan subnet publik
  1. Di panel navigasi, pilih gateway NAT.

  2. Pilih Buat gateway NAT.

  3. (Opsional) Masukkan nama untuk gateway NAT Anda.

  4. Untuk Subnet, pilih subnet publik di VPC Anda. (Subnet publik adalah subnet yang memiliki rute langsung ke gateway internet dalam tabel rutenya.)

    catatan

    Gateway NAT dikaitkan dengan subnet publik, tetapi entri tabel rute ada di subnet pribadi.

  5. Untuk ID alokasi IP elastis, pilih alamat IP elastis atau pilih Alokasikan IP Elastis.

  6. Pilih Buat gateway NAT.

Untuk menambahkan rute ke gateway NAT di tabel rute subnet pribadi
  1. Di panel navigasi, pilih Pengguna.

  2. Pilih subnet pribadi di VPC Anda. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.)

  3. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  4. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  5. Gulir ke bawah dan pilih tab Rute, lalu pilih Edit rute

    Rute tab pada halaman rincian tabel rute
  6. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  7. Untuk Target, pilih gateway NAT, lalu pilih gateway NAT yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  8. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway NAT, mengaitkannya dengan subnet publik, dan kemudian menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway NAT dan mengaitkannya dengan subnet publik
  1. Di panel navigasi, pilih gateway NAT.

  2. Pilih Buat gateway NAT.

  3. (Opsional) Masukkan nama untuk gateway NAT Anda.

  4. Untuk Subnet, pilih subnet publik di VPC Anda. (Subnet publik adalah subnet yang memiliki rute langsung ke gateway internet dalam tabel rutenya.)

    catatan

    Gateway NAT dikaitkan dengan subnet publik, tetapi entri tabel rute ada di subnet pribadi.

  5. Untuk ID alokasi IP elastis, pilih alamat IP elastis atau pilih Alokasikan IP Elastis.

  6. Pilih Buat gateway NAT.

Untuk menambahkan rute ke gateway NAT di tabel rute subnet pribadi
  1. Di panel navigasi, pilih Pengguna.

  2. Pilih subnet pribadi di VPC Anda. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.)

  3. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  4. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  5. Gulir ke bawah dan pilih tab Rute, lalu pilih Edit rute

    Rute tab pada halaman rincian tabel rute
  6. Pilih Tambah rute, lalu masukkan 0.0.0.0/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  7. Untuk Target, pilih gateway NAT, lalu pilih gateway NAT yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  8. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway internet khusus egres dan menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway internet egress-only
  1. Di panel navigasi, pilih gateway internet khusus Egress.

  2. Pilih Buat gateway internet hanya jalan keluar.

  3. (Opsional) Masukkan nama.

  4. Pilih VPC tempat untuk membuat gateway internet egress-only.

  5. Pilih Buat gateway internet hanya jalan keluar.

  6. Pilih tautan di bawah ID VPC Terlampir.

    Halaman detail gateway internet khusus Egress
  7. Pilih tautan di bawah ID VPC untuk membuka halaman detail VPC.

  8. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet pribadi. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.) Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  9. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  10. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  11. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  12. Pilih Tambah rute, lalu masukkan ::/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  13. Untuk Target, pilih Egress Only Internet Gateway, lalu pilih gateway yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  14. Pilih Simpan perubahan.

Ikuti langkah-langkah ini untuk membuat gateway internet khusus egres dan menambahkannya ke tabel rute subnet pribadi Anda.

Untuk membuat gateway internet egress-only
  1. Di panel navigasi, pilih gateway internet khusus Egress.

  2. Pilih Buat gateway internet hanya jalan keluar.

  3. (Opsional) Masukkan nama.

  4. Pilih VPC tempat untuk membuat gateway internet egress-only.

  5. Pilih Buat gateway internet hanya jalan keluar.

  6. Pilih tautan di bawah ID VPC Terlampir.

    Halaman detail gateway internet khusus Egress
  7. Pilih tautan di bawah ID VPC untuk membuka halaman detail VPC.

  8. Gulir ke bawah ke bagian Peta sumber daya dan kemudian pilih subnet pribadi. (Subnet pribadi adalah subnet yang tidak memiliki rute ke gateway internet di tabel rutenya.) Detail subnet ditampilkan di tab baru.

    Peta sumber daya konsol VPC dengan daftar subnet.
  9. Pilih tautan di bawah Tabel rute.

    Tautan ke tabel rute di halaman detail subnet
  10. Pilih ID tabel Route untuk membuka halaman detail tabel rute.

    Daftar tabel rute yang difilter
  11. Di bawah Rute, pilih Edit rute.

    Daftar rute dengan tombol Edit rute
  12. Pilih Tambah rute, lalu masukkan ::/0 di kotak Tujuan.

    Tambahkan tujuan untuk rute baru
  13. Untuk Target, pilih Egress Only Internet Gateway, lalu pilih gateway yang Anda buat sebelumnya.

    Tambahkan target untuk rute baru
  14. Pilih Simpan perubahan.

Konfigurasikan fungsi Lambda

Untuk mengonfigurasi VPC saat Anda membuat fungsi
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih Buat fungsi.

  3. Di bawah Informasi Dasar, untuk Nama fungsi, masukkan nama untuk fungsi Anda.

  4. Perluas Pengaturan lanjutan.

  5. Pilih Aktifkan VPC, lalu pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Buat fungsi.

Lambda secara otomatis membuat peran eksekusi dengan kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola. Izin dalam kebijakan ini hanya diperlukan untuk membuat antarmuka jaringan elastis untuk konfigurasi VPC, bukan untuk menjalankan fungsi Anda. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat fungsi dan konfigurasi VPC. Untuk informasi selengkapnya, lihat Izin IAM yang diperlukan.

Untuk mengonfigurasi VPC untuk fungsi yang ada

Untuk menambahkan konfigurasi VPC ke fungsi yang ada, peran eksekusi fungsi harus memiliki izin untuk membuat dan mengelola antarmuka jaringan elastis. Kebijakan AWSLambdaVPCAccessExecutionRole AWS terkelola mencakup izin yang diperlukan. Untuk menerapkan izin hak istimewa paling sedikit, Anda dapat menghapus AWSLambdaVPCAccessExecutionRolekebijakan dari peran eksekusi setelah membuat konfigurasi VPC.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih tab Konfigurasi, lalu pilih VPC.

  4. Di bagian VPC, pilih Edit.

  5. Pilih VPC.

  6. (Opsional) Untuk mengizinkan IPv6 lalu lintas keluar, pilih Izinkan lalu IPv6 lintas untuk subnet dual-stack.

  7. Untuk Subnet, pilih semua subnet pribadi. Subnet pribadi dapat mengakses internet melalui gateway NAT. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet.

    catatan

    Jika Anda memilih Izinkan IPv6 lalu lintas untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok CIDR dan blok IPv4 CIDR. IPv6

  8. Untuk grup Keamanan, pilih grup keamanan yang memungkinkan lalu lintas keluar.

  9. Pilih Simpan.

Uji fungsi

Gunakan kode contoh berikut untuk mengonfirmasi bahwa fungsi Anda yang terhubung dengan VPC dapat menjangkau internet publik. Jika berhasil, kode mengembalikan kode 200 status. Jika tidak berhasil, fungsi akan habis.

Node.js
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file lambda_function.py. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
  1. Di panel Sumber kode di konsol Lambda, tempel kode berikut ke dalam file index.mjs. Fungsi ini membuat permintaan HTTP GET ke titik akhir publik dan mengembalikan kode respons HTTP untuk menguji apakah fungsi tersebut memiliki akses ke internet publik.

    Editor kode konsol Lambda.
    contoh — Permintaan HTTP dengan async/await
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. Di bagian DEPLOY, pilih Deploy untuk memperbarui kode fungsi Anda:

    Tombol terapkan di editor kode konsol Lambda
  3. Pilih tab Uji.

    Tab Uji konsol Lambda.
  4. Pilih Uji.

  5. Fungsi mengembalikan kode 200 status. Ini berarti bahwa fungsi tersebut memiliki akses internet keluar.

    Tab Uji konsol Lambda.

    Jika fungsi tidak dapat menjangkau internet publik, Anda mendapatkan pesan kesalahan seperti ini:

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.