Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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. 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 membuatVpcLink
di API Anda. Anda tidak memerlukan izin untuk menggunakan file.VpcLink
Untuk informasi selengkapnya, lihat Berikan izin untuk API Gateway untuk membuat tautan VPC.
Untuk menyiapkan API dengan integrasi pribadi menggunakan AWS CLI
-
Gunakan create-vpc-linkperintah berikut untuk 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 menggunakan 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 titik akhir VPC, Anda mendapatkan hal berikut di properti:statusMessage
"NLB is already associated with another VPC Endpoint Service"
Setelah berhasil
VpcLink
dibuat, Anda dapat membuat API dan mengintegrasikannya dengan sumber daya VPC melalui file.VpcLink
Perhatikan
id
nilai yang baru dibuatVpcLink
. Dalam contoh output ini, itugim7c3
. Anda membutuhkannya untuk mengatur integrasi pribadi. -
Gunakan create-rest-apiperintah berikut untuk membuat
RestApi
resource 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 pada API.Selanjutnya, Anda membuat API hanya dengan
GET
metode pada sumber daya root (/
) dan mengintegrasikan metode tersebut denganVpcLink
. -
Gunakan perintah put-method berikut untuk membuat metode:
GET /
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 dari kode200
status. Anda 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.Gunakan perintah put-integration berikut untuk menggunakan
VpcLink
ID secara langsung dalam integrasi:aws apigateway put-integration \ --rest-api-id
abcdef123
\ --resource-idskpp60rab7
\ --uri 'http://my-vpclink-test-nlb-1234567890abcdef
.us-east-2.amazonaws.com' \ --http-method GET \ --type HTTP_PROXY \ --integration-http-method GET \ --connection-type VPC_LINK \ --connection-idgim7c3
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-id
abcdef123
\ --resource-idskpp60rab7
\ --http-method GET \ --patch-operations '[{"op":"replace","path":"/connectionId","value":"${stageVariables.vpcLinkId}"}]'Pastikan untuk menggunakan daftar JSON stringified sebagai nilai parameter.
patch-operations
Karena 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-id
abcdef123
\ --stage-name test \ --variables vpcLinkId=gim7c3
Untuk memperbarui variabel stage dengan
VpcLink
ID yang berbeda, seperti
, gunakan perintah update-stage berikut:asf9d7
aws apigateway update-stage \ --rest-api-id
abcdef123
\ --stage-name test \ --patch-operations op=replace,path='/variables/vpcLinkId',value='asf9d7
'Saat Anda membuat hardcode
connection-id
properti denganVpcLink
ID 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.