Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Buat pribadi REST API
Dalam tutorial ini, Anda membuat pribadi RESTAPI. Klien dapat mengakses API satu-satunya dari dalam Amazon AndaVPC. Terisolasi dari internet publik, yang merupakan persyaratan keamanan umum. API
Tutorial ini memakan waktu sekitar 30 menit untuk menyelesaikannya. Pertama, Anda menggunakan AWS CloudFormation template untuk membuat AmazonVPC, VPC titik akhir, AWS Lambda fungsi, dan meluncurkan EC2 instance Amazon yang akan Anda gunakan untuk menguji. API Selanjutnya, Anda menggunakan AWS Management Console untuk membuat kebijakan API privat dan melampirkan sumber daya yang memungkinkan akses hanya dari VPC titik akhir Anda. Terakhir, Anda API menguji.
Untuk menyelesaikan tutorial ini, Anda memerlukan AWS akun dan AWS Identity and Access Management pengguna dengan akses konsol. Untuk informasi selengkapnya, lihat Siapkan untuk menggunakan API Gateway.
Dalam tutorial ini, Anda menggunakan AWS Management Console. Untuk AWS CloudFormation template yang membuat ini API dan semua sumber daya terkait, lihat template.yaml.
Topik
- Langkah 1: Buat dependensi
- Langkah 2: Buat pribadi API
- Langkah 3: Buat metode dan integrasi
- Langkah 4: Lampirkan kebijakan sumber daya
- Langkah 5: Menyebarkan API
- Langkah 6: Verifikasi bahwa Anda API tidak dapat diakses publik
- Langkah 7: Connect ke sebuah instans di Anda VPC dan panggil API
- Langkah 8: Membersihkan
- Langkah selanjutnya: Otomatisasi dengan AWS CloudFormation
Langkah 1: Buat dependensi
Unduh dan unzip AWS CloudFormation template ini. Anda menggunakan template untuk membuat semua dependensi untuk pribadi AndaAPI, termasuk Amazon, VPC titik akhirVPC, dan fungsi Lambda yang berfungsi sebagai backend Anda. API Anda membuat pribadi API nanti.
Untuk membuat AWS CloudFormation tumpukan
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Pilih Buat tumpukan kemudian pilih Dengan sumber daya baru (standar).
-
Untuk Tentukan templat, pilih Unggah file templat.
-
Pilih template yang Anda unduh.
-
Pilih Selanjutnya.
-
Untuk nama Stack, masukkan
private-api-tutorial
dan kemudian pilih Berikutnya. -
Untuk opsi Konfigurasi tumpukan, pilih Berikutnya.
-
Untuk Kemampuan, akui bahwa AWS CloudFormation dapat membuat IAM sumber daya di akun Anda.
-
Pilih Kirim.
AWS CloudFormation menyediakan dependensi untuk AndaAPI, yang bisa memakan waktu beberapa menit. Ketika status AWS CloudFormation tumpukan Anda adalah CREATE_ COMPLETE, pilih Output. Catat ID VPC endpoint Anda. Anda membutuhkannya untuk langkah-langkah selanjutnya dalam tutorial ini.
Langkah 2: Buat pribadi API
Anda membuat pribadi API untuk memungkinkan hanya klien di dalam Anda VPC untuk mengaksesnya.
Untuk membuat pribadi API
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih Buat API, lalu pilih RESTAPIBuild.
-
Untuk APInama, masukkan
private-api-tutorial
. -
Untuk tipe API endpoint, pilih Private.
-
Untuk VPCendpoint IDs, masukkan ID VPC endpoint dari Output tumpukan Anda. AWS CloudFormation
-
Pilih Buat API.
Langkah 3: Buat metode dan integrasi
Anda membuat GET
metode dan integrasi Lambda untuk menangani GET
permintaan ke Anda. API Saat klien memanggil AndaAPI, API Gateway mengirimkan permintaan ke fungsi Lambda yang Anda buat di Langkah 1, lalu mengembalikan respons ke klien.
Untuk membuat metode dan integrasi
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API Anda.
-
Pilih metode Buat.
-
Untuk jenis Metode pilih
GET
. -
Untuk jenis Integrasi, pilih fungsi Lambda.
-
Aktifkan integrasi proxy Lambda. Dengan integrasi proxy Lambda, API Gateway mengirimkan acara ke Lambda dengan struktur yang ditentukan, dan mengubah respons dari fungsi Lambda Anda menjadi respons. HTTP
-
Untuk fungsi Lambda, pilih fungsi yang Anda buat dengan AWS CloudFormation template di Langkah 1. Nama fungsi dimulai dengan
private-api-tutorial
. -
Pilih metode Buat.
Langkah 4: Lampirkan kebijakan sumber daya
Anda melampirkan kebijakan sumber daya ke Anda API yang memungkinkan klien untuk memanggil Anda API hanya melalui titik VPC akhir Anda. Untuk lebih membatasi akses ke AndaAPI, Anda juga dapat mengonfigurasi kebijakan VPC titik akhir untuk VPC titik akhir Anda, tetapi itu tidak diperlukan untuk tutorial ini.
Untuk melampirkan kebijakan sumber daya
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API Anda.
-
Pilih Kebijakan sumber daya, lalu pilih Buat kebijakan.
-
Masukkan kebijakan berikut. Ganti
vpceID
dengan ID VPC endpoint Anda dari Output tumpukan Anda AWS CloudFormation .{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*", "Condition": { "StringNotEquals": { "aws:sourceVpce": "
vpceID
" } } }, { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*" } ] } -
Pilih Simpan perubahan.
Langkah 5: Menyebarkan API
Selanjutnya, Anda menyebarkan API untuk membuatnya tersedia bagi klien di Amazon VPC Anda.
Untuk menyebarkan API
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API Anda.
Pilih DeployAPI.
Untuk Stage, pilih New stage.
Untuk nama Panggung, masukkan
test
.(Opsional) Untuk Deskripsi, masukkan deskripsi.
Pilih Deploy.
Sekarang Anda siap untuk menguji AndaAPI.
Langkah 6: Verifikasi bahwa Anda API tidak dapat diakses publik
Gunakan curl
untuk memverifikasi bahwa Anda tidak dapat memanggil API dari luar Amazon VPC Anda.
Untuk menguji API
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API Anda.
-
Di panel navigasi utama, pilih Tahapan, lalu pilih tahap pengujian.
-
Di bawah Detail tahap, pilih ikon salin untuk menyalin API panggilan Anda. URL URLKelihatannya seperti
https://
. VPCTitik akhir yang Anda buat di Langkah 1 telah DNS diaktifkan secara pribadi, sehingga Anda dapat menggunakan yang disediakan URL untuk memanggil Anda. APIabcdef123
.execute-api.us-west-2
.amazonaws.com/test -
Gunakan curl untuk mencoba memanggil Anda API dari luar Anda. VPC
curl https://
abcdef123
.execute-api.us-west-2
.amazonaws.com/testCurl menunjukkan bahwa titik akhir Anda API tidak dapat diselesaikan. Jika Anda mendapatkan respons yang berbeda, kembali ke Langkah 2, dan pastikan Anda memilih Private untuk tipe endpoint AndaAPI.
curl: (6) Could not resolve host:
abcdef123
.execute-api.us-west-2
.amazonaws.com/test
Selanjutnya, Anda terhubung ke EC2 instans Amazon di Anda VPC untuk memanggil AndaAPI.
Langkah 7: Connect ke sebuah instans di Anda VPC dan panggil API
Selanjutnya, Anda menguji API dari dalam Amazon AndaVPC. Untuk mengakses pribadi AndaAPI, Anda terhubung ke EC2 instans Amazon di Anda VPC dan kemudian menggunakan curl untuk memanggil Anda. API Anda menggunakan Systems Manager Session Manager untuk menyambung ke instans Anda di browser.
Untuk menguji API
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pilih Instans.
-
Pilih contoh bernama private-api-tutorialyang Anda buat dengan AWS CloudFormation template di Langkah 1.
-
Pilih Connect dan kemudian pilih Session Manager.
-
Pilih Connect untuk meluncurkan sesi berbasis browser ke instans Anda.
-
Dalam sesi Manajer Sesi Anda, gunakan curl untuk memanggil Anda. API Anda dapat memanggil Anda API karena Anda menggunakan instance di Amazon VPC Anda.
curl https://
abcdef123
.execute-api.us-west-2
.amazonaws.com/testVerifikasi bahwa Anda mendapatkan respon
Hello from Lambda!
.
Anda berhasil membuat API yang hanya dapat diakses dari dalam Amazon Anda VPC dan kemudian memverifikasi bahwa itu berfungsi.
Langkah 8: Membersihkan
Untuk mencegah biaya yang tidak perlu, hapus sumber daya yang Anda buat sebagai bagian dari tutorial ini. Langkah-langkah berikut menghapus AWS CloudFormation tumpukan Anda REST API dan Anda.
Untuk menghapus REST API
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pada APIshalaman, pilih fileAPI. Pilih APItindakan, pilih Hapus API, lalu konfirmasikan pilihan Anda.
Untuk menghapus AWS CloudFormation tumpukan
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Pilih AWS CloudFormation tumpukan Anda.
-
Pilih Hapus dan kemudian konfirmasikan pilihan Anda.
Langkah selanjutnya: Otomatisasi dengan AWS CloudFormation
Anda dapat mengotomatiskan pembuatan dan pembersihan semua AWS sumber daya yang terlibat dalam tutorial ini. Untuk contoh AWS CloudFormation template lengkap, lihat template.yaml.