Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan API Gateway API dengan integrasi pribadi menggunakan AWS CLI (legacy)
catatan
Implementasi integrasi pribadi berikut menggunakan tautan VPC V1. Tautan VPC V1 adalah sumber daya lama. Kami menyarankan Anda menggunakan tautan VPC V2 untuk REST. APIs
Tutorial berikut menunjukkan cara menggunakan AWS CLI untuk membuat link VPC dan integrasi pribadi. Prasyarat berikut diperlukan:
-
Anda memerlukan Network Load Balancer yang dibuat dan dikonfigurasi dengan sumber VPC Anda sebagai target. Untuk informasi selengkapnya, lihat Menyiapkan Network Load Balancer untuk integrasi pribadi API Gateway (lama). Ini harus Akun AWS sama dengan API Anda. Anda memerlukan Network Load Balancer ARN untuk membuat tautan VPC Anda.
-
Untuk membuat dan mengelola
VpcLink, Anda memerlukan izin untuk membuatVpcLinkdi API Anda. Anda tidak memerlukan izin untuk menggunakan file.VpcLinkUntuk informasi selengkapnya, lihat Berikan izin untuk API Gateway untuk membuat tautan VPC (lama).
Untuk menyiapkan API dengan integrasi pribadi menggunakan AWS CLI
-
Gunakan create-vpc-linkperintah berikut untuk membuat
VpcLinkpenargetan Network Load Balancer yang ditentukan:aws apigateway create-vpc-link \ --name my-test-vpc-link \ --target-arns arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdefOutput dari perintah ini mengakui penerimaan permintaan dan menunjukkan
PENDINGstatus untuk yangVpcLinksedang dibuat.{ "status": "PENDING", "targetArns": [ "arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/net/my-vpclink-test-nlb/1234567890abcdef" ], "id": "gim7c3", "name": "my-test-vpc-link" }Dibutuhkan 2-4 menit bagi API Gateway untuk menyelesaikan pembuatan
VpcLink. Ketika operasi selesai dengan sukses,statusadalahAVAILABLE. Anda dapat memverifikasi ini dengan menggunakan get-vpc-linkperintah berikut:aws apigateway get-vpc-link --vpc-link-idgim7c3Jika operasi gagal, Anda mendapatkan
FAILEDstatus, denganstatusMessageberisi pesan kesalahan. Misalnya, jika Anda mencoba membuatVpcLinkdengan Network Load Balancer yang sudah dikaitkan dengan titik akhir VPC, Anda mendapatkan hal berikut di properti:statusMessage"NLB is already associated with another VPC Endpoint Service"Setelah berhasil
VpcLinkdibuat, Anda dapat membuat API dan mengintegrasikannya dengan sumber daya VPC melalui file.VpcLinkPerhatikan
idnilai yang baru dibuatVpcLink. Dalam contoh output ini, itugim7c3. Anda membutuhkannya untuk mengatur integrasi pribadi. -
Gunakan create-rest-apiperintah berikut untuk membuat
RestApiresource API Gateway:aws apigateway create-rest-api --name 'My VPC Link Test'Perhatikan nilai dan
idrootResourceIdnilaiRestApiRestApi's dalam hasil yang dikembalikan. Anda memerlukan nilai ini untuk melakukan operasi lebih lanjut pada API.Selanjutnya, Anda membuat API dengan hanya
GETmetode pada sumber daya root (/) dan mengintegrasikan metode denganVpcLink. -
Gunakan perintah put-method berikut untuk membuat metode:
GET /aws apigateway put-method \ --rest-api-idabcdef123\ --resource-idskpp60rab7\ --http-method GET \ --authorization-type "NONE"Jika Anda tidak menggunakan integrasi proxy dengan
VpcLink, Anda juga harus menyiapkan setidaknya respons metode kode200status. Anda menggunakan integrasi proxy di sini. -
Setelah Anda membuat
GET /metode, Anda mengatur integrasi. Untuk integrasi pribadi, Anda menggunakanconnection-idparameter untuk memberikanVpcLinkID. Anda dapat menggunakan variabel tahap atau langsung memasukkanVpcLinkID.uriParameter ini tidak digunakan untuk merutekan permintaan ke titik akhir Anda, tetapi digunakan untuk mengaturHostheader dan untuk validasi sertifikat.Kapan pun, Anda juga dapat memperbarui integrasi untuk mengubah
connection-id. Gunakan perintah update-integration berikut untuk memperbarui integrasi Anda:aws apigateway update-integration \ --rest-api-idabcdef123\ --resource-idskpp60rab7\ --http-method GET \ --patch-operations '[{"op":"replace","path":"/connectionId","value":"${stageVariables.vpcLinkId}"}]'Pastikan untuk menggunakan daftar JSON stringified sebagai nilai parameter.
patch-operationsKarena Anda menggunakan integrasi proxy pribadi, API Anda sekarang siap untuk penerapan dan untuk uji coba.
-
Jika Anda menggunakan variabel stage untuk menentukan
connection-id, Anda perlu menerapkan API untuk mengujinya. Gunakan perintah create-deployment berikut untuk menerapkan API Anda dengan variabel stage:aws apigateway create-deployment \ --rest-api-idabcdef123\ --stage-name test \ --variables vpcLinkId=gim7c3Untuk memperbarui variabel stage dengan
VpcLinkID yang berbeda, seperti, gunakan perintah update-stage berikut:asf9d7aws apigateway update-stage \ --rest-api-idabcdef123\ --stage-name test \ --patch-operations op=replace,path='/variables/vpcLinkId',value='asf9d7'Saat Anda membuat hardcode
connection-idproperti denganVpcLinkID literal, Anda tidak perlu menerapkan API untuk mengujinya. Gunakan test-invoke-methodperintah untuk menguji API Anda sebelum diterapkan. -
Gunakan perintah berikut untuk menjalankan API Anda:
curl -X GET https://abcdef123.execute-api.us-east-2.amazonaws.com/testAtau, Anda dapat memasukkan URL Invoke-API Anda di browser web untuk melihat hasilnya.