Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sebelum membuat API pribadi, Anda terlebih dahulu membuat titik akhir VPC untuk API Gateway. Selanjutnya Anda membuat API pribadi Anda dan melampirkan kebijakan sumber daya ke dalamnya. Secara opsional, Anda dapat mengaitkan titik akhir VPC Anda dengan API pribadi untuk menyederhanakan cara Anda menjalankan API. Terakhir, Anda menerapkan API Anda.
Prosedur berikut menjelaskan bagaimana mencapai hal ini. Anda dapat membuat REST API pribadi menggunakan AWS Management Console, AWS CLI atau AWS SDK.
Prasyarat
Untuk mengikuti langkah-langkah ini, Anda harus memiliki VPC yang sepenuhnya dikonfigurasi. Untuk mempelajari cara membuat VPC, lihat Membuat VPC hanya di Panduan Pengguna Amazon VPC. Untuk mengikuti semua langkah rekomendasi saat Anda membuat VPC, aktifkan DNS pribadi. Dengan cara ini Anda dapat menjalankan API Anda dalam VPC tanpa harus melewati Host x-apigw-api-id
atau header.
Untuk mengaktifkan DNS pribadi, enableDnsHostnames
atribut enableDnsSupport
dan VPC Anda harus disetel ke. true
Untuk informasi selengkapnya, lihat Dukungan DNS di VPC Anda dan Memperbarui Dukungan DNS untuk VPC Anda.
Langkah 1: Buat titik akhir VPC untuk API Gateway di VPC Anda
Prosedur berikut menunjukkan cara membuat titik akhir VPC untuk API Gateway. Untuk membuat titik akhir VPC untuk API Gateway, Anda menentukan execute-api
domain Wilayah AWS tempat Anda membuat API pribadi. execute-api
Domain adalah layanan komponen API Gateway untuk eksekusi API.
Saat membuat titik akhir VPC untuk API Gateway, Anda menentukan setelan DNS. Jika Anda mematikan DNS pribadi, Anda hanya dapat mengakses API menggunakan DNS publik. Untuk informasi selengkapnya, lihat Masalah: Saya tidak dapat terhubung ke API publik saya dari titik akhir VPC API Gateway.
Untuk membuat antarmuka VPC endpoint untuk API Gateway
-
Masuk ke AWS Management Console dan buka konsol VPC Amazon di. https://console.aws.amazon.com/vpc/
-
Di panel navigasi, di bawah Virtual Private Cloud, pilih Endpoints.
-
Pilih Buat Titik Akhir.
-
(Opsional) Untuk tag Nama, masukkan nama untuk membantu mengidentifikasi titik akhir VPC Anda.
-
Untuk kategori Layanan, pilih AWS layanan.
-
Di bawah Layanan, di bilah pencarian, masukkan
execute-api
. Kemudian, pilih titik akhir layanan API Gateway di Wilayah AWS tempat Anda akan membuat API Anda. Nama layanan akan terlihat seperticom.amazonaws.us-east-1.execute-api
dan Type harus Interface. -
Untuk VPC, pilih VPC tempat Anda ingin membuat endpoint.
-
(Opsional) Untuk mematikan Aktifkan Nama DNS Pribadi, pilih Pengaturan tambahan dan kemudian hapus Aktifkan Nama DNS Pribadi.
-
Untuk Subnet, pilih Availability Zones tempat Anda membuat antarmuka jaringan endpoint. Untuk meningkatkan ketersediaan API Anda, pilih beberapa subnet.
-
Untuk grup Keamanan, pilih grup keamanan untuk diasosiasikan dengan antarmuka jaringan titik akhir VPC.
Grup keamanan yang Anda pilih harus diatur untuk mengizinkan lalu lintas HTTPS masuk TCP Port 443 dari rentang IP di VPC Anda atau grup keamanan lain di VPC Anda.
-
Untuk Kebijakan, lakukan salah satu hal berikut:
Jika Anda belum membuat API pribadi atau tidak ingin mengonfigurasi kebijakan titik akhir VPC kustom, pilih Akses penuh.
-
Jika Anda telah membuat API pribadi dan ingin mengonfigurasi kebijakan titik akhir VPC kustom, Anda dapat memasukkan kebijakan titik akhir VPC kustom. Untuk informasi selengkapnya, lihat Menggunakan kebijakan titik akhir VPC secara pribadi APIs di API Gateway.
Anda dapat memperbarui kebijakan titik akhir VPC setelah membuat titik akhir VPC. Untuk informasi selengkapnya, lihat Memperbarui kebijakan titik akhir VPC.
-
Pilih Buat Titik Akhir.
Salin ID titik akhir VPC yang dihasilkan, karena Anda mungkin menggunakannya di langkah-langkah masa depan.
Langkah 2: Buat API pribadi
Setelah membuat titik akhir VPC, Anda membuat REST API pribadi. Prosedur berikut menunjukkan cara membuat API pribadi.
Untuk membuat API pribadi
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih Buat API.
-
Di bawah REST API, pilih Build.
-
Untuk Nama, masukkan nama.
(Opsional) Untuk Deskripsi, masukkan deskripsi.
-
Untuk jenis endpoint API, pilih Private.
-
(Opsional) Untuk titik akhir VPC IDs, masukkan ID titik akhir VPC.
Jika Anda mengaitkan ID titik akhir VPC dengan API pribadi, Anda dapat menjalankan API dari dalam VPC tanpa mengganti
Host
header atau meneruskan Untuk informasi selengkapnya, lihat.x-apigw-api-id header
(Opsional) Kaitkan atau lepaskan titik akhir VPC dengan API pribadi -
Pilih Buat API.
Setelah menyelesaikan langkah-langkah sebelumnya, Anda dapat mengikuti petunjuk Memulai dengan REST API konsol untuk menyiapkan metode dan integrasi untuk API ini, tetapi Anda tidak dapat menerapkan API Anda. Untuk menerapkan API Anda, ikuti langkah 3 dan lampirkan kebijakan sumber daya ke API Anda.
Langkah 3: Siapkan kebijakan sumber daya untuk API pribadi
API pribadi Anda saat ini tidak dapat diakses oleh semua VPCs orang. Gunakan kebijakan sumber daya untuk memberikan akses titik akhir Anda VPCs dan VPC ke pribadi Anda. APIs Anda dapat memberikan akses ke titik akhir VPC di akun apa pun. AWS
Kebijakan sumber daya Anda harus berisi aws:SourceVpc
atau aws:SourceVpce
ketentuan untuk membatasi akses. Kami menyarankan Anda mengidentifikasi titik akhir spesifik VPCs dan VPC dan tidak membuat kebijakan sumber daya yang memungkinkan akses untuk semua dan titik akhir VPCs VPC.
Prosedur berikut menunjukkan cara melampirkan kebijakan sumber daya ke API Anda.
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. Pilih REST API.
-
Di panel navigasi utama, pilih Kebijakan sumber daya.
-
Pilih Buat kebijakan.
-
Pilih Pilih template dan kemudian pilih Sumber VPC.
-
Ganti
{{vpcID}}
(termasuk kurung kurawal) dengan ID VPC Anda. -
Pilih Simpan perubahan.
Anda mungkin juga ingin mengontrol sumber daya mana yang memiliki akses ke titik akhir VPC Anda. Untuk mengontrol sumber daya mana yang memiliki akses ke titik akhir VPC Anda, lampirkan kebijakan titik akhir ke titik akhir VPC Anda. Untuk informasi selengkapnya, lihat Menggunakan kebijakan titik akhir VPC secara pribadi APIs di API Gateway.
(Opsional) Kaitkan atau lepaskan titik akhir VPC dengan API pribadi
Saat Anda mengaitkan titik akhir VPC dengan API pribadi Anda, API Gateway menghasilkan catatan DNS alias Route 53 baru. Anda dapat menggunakan catatan ini untuk memanggil pribadi Anda APIs seperti yang Anda lakukan publik Anda APIs tanpa mengganti Host
header atau meneruskan header. x-apigw-api-id
URL dasar yang dihasilkan dalam format berikut:
https://
{rest-api-id}
-{vpce-id}
.execute-api.{region}
.amazonaws.com/{stage}
Anda dapat mengaitkan titik akhir VPC dengan API pribadi saat membuatnya, atau setelah dibuat. Prosedur berikut menunjukkan cara mengaitkan titik akhir VPC dengan API yang dibuat sebelumnya.
Untuk mengaitkan titik akhir VPC dengan API pribadi
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API pribadi Anda.
-
Di panel navigasi utama, pilih Kebijakan sumber daya.
-
Edit kebijakan sumber daya Anda untuk mengizinkan panggilan dari titik akhir VPC tambahan Anda.
-
Di panel navigasi utama, pilih pengaturan API.
-
Di bagian detail API, pilih Edit.
-
Untuk titik akhir VPC IDs, pilih titik akhir VPC tambahan. IDs
-
Pilih Simpan.
-
Menerapkan ulang API Anda agar perubahan diterapkan.
Langkah 4: Menerapkan API pribadi
Untuk menerapkan API, Anda membuat penerapan API dan mengaitkannya dengan sebuah panggung. Prosedur berikut menunjukkan cara menerapkan API pribadi Anda.
Untuk menerapkan API pribadi
Pilih API Anda.
Pilih Deploy API.
Untuk Stage, pilih New stage.
Untuk nama Panggung, masukkan nama panggung.
(Opsional) Untuk Deskripsi, masukkan deskripsi.
Pilih Deploy.
Memecahkan masalah API pribadi Anda
Berikut ini memberikan saran pemecahan masalah untuk kesalahan dan masalah yang mungkin Anda temui saat membuat API pribadi.
Masalah: Saya tidak dapat terhubung ke API publik saya dari titik akhir VPC API Gateway
Saat Anda membuat VPC, Anda dapat mengonfigurasi pengaturan DNS. Kami menyarankan Anda mengaktifkan DNS pribadi untuk VPC Anda. Jika Anda memilih mematikan DNS pribadi, Anda hanya dapat mengakses API Anda melalui DNS publik.
Jika Anda mengaktifkan DNS pribadi, Anda tidak dapat mengakses titik akhir default API Gateway API publik dari titik akhir VPC Anda. Anda dapat mengakses API dengan nama domain khusus.
Jika Anda membuat nama domain kustom Regional, gunakan catatan alias tipe A, jika Anda membuat nama domain kustom yang dioptimalkan tepi, tidak ada batasan untuk jenis rekaman Anda. Anda dapat mengakses publik ini APIs dengan DNS pribadi diaktifkan. Untuk informasi selengkapnya, lihat Masalah: Saya terhubung ke API publik saya dari titik akhir VPC API Gateway
Masalah: API saya kembali {"Message":"User:
anonymous is not authorized to perform: execute-api:Invoke on resource:
arn:aws:execute-api:us-east-1:********/****/****/"}
Dalam kebijakan sumber daya Anda, jika Anda menetapkan Principal ke AWS prinsipal, seperti berikut ini:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", ""Principal": { "AWS": [ "arn:aws:iam::account-id:role/developer", "arn:aws:iam::account-id:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, ... }
Anda harus menggunakan AWS_IAM
otorisasi untuk setiap metode di API Anda, atau API Anda mengembalikan pesan kesalahan sebelumnya. Untuk petunjuk selengkapnya tentang cara mengaktifkan AWS_IAM
otorisasi untuk suatu metode, lihatMetode untuk REST APIs di API Gateway.
Masalah: Saya tidak tahu apakah titik akhir VPC saya dikaitkan dengan API saya
Jika Anda mengaitkan atau memisahkan titik akhir VPC dengan API pribadi, Anda perlu menerapkan ulang API Anda. Operasi pembaruan mungkin memakan waktu beberapa menit untuk diselesaikan karena propagasi DNS. Selama waktu ini, API Anda tersedia, tetapi propagasi DNS untuk DNS yang baru dibuat URLs mungkin masih dalam proses. Jika setelah beberapa menit, yang baru URLs Anda tidak diselesaikan di DNS, kami sarankan Anda menerapkan ulang API Anda.