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
Tutorial berikut menunjukkan cara menggunakan AWS CLI untuk membuat VPC link dan integrasi pribadi. Prasyarat berikut diperlukan:
-
Anda memerlukan Network Load Balancer yang dibuat dan dikonfigurasi dengan VPC sumber Anda sebagai target. Untuk informasi selengkapnya, lihat Menyiapkan Network Load Balancer untuk integrasi pribadi API Gateway. Ini harus Akun AWS sama dengan AndaAPI. Anda memerlukan Network Load Balancer ARN untuk membuat tautan AndaVPC.
-
Untuk membuat dan mengelola
VpcLink
, Anda memerlukan izin untuk membuatVpcLink
di AndaAPI. Anda tidak memerlukan izin untuk menggunakan file.VpcLink
Untuk informasi selengkapnya, lihat Berikan izin kepada API Gateway untuk membuat tautan VPC.
Untuk mengatur API dengan integrasi pribadi menggunakan AWS CLI
-
create-vpc-linkPerintah berikut membuat
VpcLink
penargetan 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/1234567890abcdef
Output dari perintah ini mengakui penerimaan permintaan dan menunjukkan
PENDING
status untuk yangVpcLink
sedang 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,status
adalahAVAILABLE
. Anda dapat memverifikasi ini dengan memanggil get-vpc-linkperintah berikut:aws apigateway get-vpc-link --vpc-link-id
gim7c3
Jika operasi gagal, Anda mendapatkan
FAILED
status, denganstatusMessage
berisi pesan kesalahan. Misalnya, jika Anda mencoba membuatVpcLink
dengan Network Load Balancer yang sudah dikaitkan dengan VPC titik akhir, Anda mendapatkan yang berikut di properti:statusMessage
"NLB is already associated with another VPC Endpoint Service"
Setelah berhasil
VpcLink
dibuat, Anda dapat membuat API dan mengintegrasikannya dengan VPC sumber daya melaluiVpcLink
.Perhatikan
id
nilai yang baru dibuatVpcLink
. Dalam contoh output ini, itugim7c3
. Anda membutuhkannya untuk mengatur integrasi pribadi. -
create-rest-apiPerintah berikut membuat sumber
RestApi
daya API Gateway:aws apigateway create-rest-api --name 'My VPC Link Test'
Perhatikan nilai dan
id
rootResourceId
nilaiRestApi
RestApi
's dalam hasil yang dikembalikan. Anda memerlukan nilai ini untuk melakukan operasi lebih lanjut padaAPI.Untuk tujuan ilustrasi, kita akan membuat
GET
metode API dengan hanya pada sumber daya root (/
) dan mengintegrasikan metode dengan.VpcLink
-
Siapkan
GET /
metode. Gunakan perintah put-method berikut dan masukkanId
asrest-api-id
danrootResourceId
as:resource-id
aws apigateway put-method \ --rest-api-id
abcdef123
\ --resource-idskpp60rab7
\ --http-method GET \ --authorization-type "NONE"Jika Anda tidak menggunakan integrasi proxy dengan
VpcLink
, Anda juga harus menyiapkan setidaknya respons metode kode200
status. Kami akan menggunakan integrasi proxy di sini. -
Setelah Anda membuat
GET /
metode, Anda mengatur integrasi. Untuk integrasi pribadi, Anda menggunakanconnection-id
parameter untuk memberikanVpcLink
ID. Anda dapat menggunakan variabel tahap atau langsung memasukkanVpcLink
ID.uri
Parameter ini tidak digunakan untuk merutekan permintaan ke titik akhir Anda, tetapi digunakan untuk mengaturHost
header dan untuk validasi sertifikat.Kapan pun, Anda juga dapat memperbarui integrasi untuk mengubah
connection-id
. Perintah update-integration berikut menunjukkan cara memperbarui integrasi Anda:aws apigateway update-integration \ --rest-api-id
abcdef123
\ --resource-idskpp60rab7
\ --http-method GET \ --patch-operations '[{"op":"replace","path":"/connectionId","value":"${stageVariables.vpcLinkId}"}]'Pastikan untuk menggunakan JSON daftar stringified sebagai nilai parameter.
patch-operations
Karena kami menggunakan integrasi proxy pribadi, Anda sekarang API siap untuk penerapan dan untuk uji coba. Dengan integrasi non-proxy, Anda juga harus mengatur respons metode dan respons integrasi, seperti yang Anda lakukan saat menyiapkan integrasi API dengan HTTP kustom.
-
Jika Anda menggunakan variabel tahap untuk menentukan
connection-id
, Anda perlu menerapkan untuk API mengujinya. Perintah create-deployment berikut menunjukkan cara menerapkan variabel stage AndaAPI:aws apigateway create-deployment \ --rest-api-id
abcdef123
\ --stage-name test \ --variables vpcLinkId=gim7c3
Untuk memperbarui variabel stage dengan
VpcLink
ID yang berbeda, seperti
, panggil perintah update-stage:asf9d7
aws apigateway update-stage \ --rest-api-id
abcdef123
\ --stage-name test \ --patch-operations op=replace,path='/variables/vpcLinkId',value='asf9d7
'Ketika Anda hardcode
connection-id
properti denganVpcLink
ID literal, Anda tidak perlu menyebarkan Anda API untuk mengujinya. Gunakan test-invoke-methodperintah untuk menguji Anda API sebelum diterapkan. -
Gunakan perintah berikut untuk memanggil: API
curl -X GET https://
abcdef123
.execute-api.us-east-2.amazonaws.com/testAtau, Anda dapat memasukkan API pemanggilan Anda URL di browser web untuk melihat hasilnya.