

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)
<a name="set-up-api-with-vpclink-cli"></a>

**catatan**  
Implementasi integrasi pribadi berikut menggunakan tautan VPC V1. Tautan VPC V1 adalah sumber daya lama. Kami menyarankan Anda menggunakan [tautan VPC V2 untuk](apigateway-vpc-links-v2.md) 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)](set-up-nlb-for-vpclink-using-console.md). 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 membuat `VpcLink` di API Anda. Anda tidak memerlukan izin untuk menggunakan file. `VpcLink` Untuk informasi selengkapnya, lihat [Berikan izin untuk API Gateway untuk membuat tautan VPC (lama)](grant-permissions-to-create-vpclink.md).

**Untuk menyiapkan API dengan integrasi pribadi menggunakan AWS CLI**

1. Gunakan [create-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-vpc-link.html)perintah 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 yang `VpcLink` 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` adalah`AVAILABLE`. Anda dapat memverifikasi ini dengan menggunakan [get-vpc-link](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-vpc-link.html)perintah berikut:

   ```
   aws apigateway get-vpc-link --vpc-link-id gim7c3
   ```

   Jika operasi gagal, Anda mendapatkan `FAILED` status, dengan `statusMessage` berisi pesan kesalahan. Misalnya, jika Anda mencoba membuat `VpcLink` 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 dibuat`VpcLink`. Dalam contoh output ini, itu`gim7c3`. Anda membutuhkannya untuk mengatur integrasi pribadi.

1. Gunakan [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html)perintah berikut untuk membuat [https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_RestApi.html)resource API Gateway:

   ```
   aws apigateway create-rest-api --name 'My VPC Link Test'
   ```

   Perhatikan nilai dan `id` `rootResourceId` nilai `RestApi` `RestApi`'s dalam hasil yang dikembalikan. Anda memerlukan nilai ini untuk melakukan operasi lebih lanjut pada API. 

   Selanjutnya, Anda membuat API dengan hanya `GET` metode pada sumber daya root (`/`) dan mengintegrasikan metode dengan`VpcLink`.

1. Gunakan perintah [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) berikut untuk membuat metode: `GET /`

   ```
   aws apigateway put-method \
          --rest-api-id  abcdef123 \
          --resource-id skpp60rab7 \
          --http-method GET \
          --authorization-type "NONE"
   ```

   Jika Anda tidak menggunakan integrasi proxy dengan`VpcLink`, Anda juga harus menyiapkan setidaknya respons metode kode `200` status. Anda menggunakan integrasi proxy di sini.

1. Setelah Anda membuat `GET /` metode, Anda mengatur integrasi. Untuk integrasi pribadi, Anda menggunakan `connection-id` parameter untuk memberikan `VpcLink` ID. Anda dapat menggunakan variabel tahap atau langsung memasukkan `VpcLink` ID. `uri`Parameter ini tidak digunakan untuk merutekan permintaan ke titik akhir Anda, tetapi digunakan untuk mengatur `Host` header dan untuk validasi sertifikat. 

------
#### [ Use the VPC link ID ]

   Gunakan perintah [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) berikut untuk menggunakan `VpcLink` ID secara langsung dalam integrasi:

   ```
   aws apigateway put-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --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-id gim7c3
   ```

------
#### [ Use a stage variable ]

   Gunakan perintah [put-integration](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-integration.html) berikut untuk menggunakan variabel stage untuk mereferensikan ID tautan VPC. Saat menerapkan API ke suatu panggung, Anda menyetel ID tautan VPC.

   ```
   aws apigateway put-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --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-id "\${stageVariables.vpcLinkId}"
   ```

   Pastikan untuk mengutip dua kali ekspresi variabel tahap (`${stageVariables.vpcLinkId}`) dan melarikan diri dari `$` karakter.

------

   Kapan pun, Anda juga dapat memperbarui integrasi untuk mengubah`connection-id`. Gunakan perintah [update-integration berikut untuk memperbarui integrasi](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-integration.html) Anda:

   ```
    aws apigateway update-integration \
       --rest-api-id abcdef123 \
       --resource-id skpp60rab7 \
       --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.

1. Jika Anda menggunakan variabel stage untuk menentukan`connection-id`, Anda perlu menerapkan API untuk mengujinya. Gunakan perintah [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) 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`asf9d7`, gunakan perintah [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) berikut:

   ```
   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 dengan `VpcLink` ID literal, Anda tidak perlu menerapkan API untuk mengujinya. Gunakan [test-invoke-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html)perintah untuk menguji API Anda sebelum diterapkan. 

1. Gunakan perintah berikut untuk menjalankan API Anda:

   ```
   curl -X GET https://abcdef123.execute-api.us-east-2.amazonaws.com/test
   ```

   Atau, Anda dapat memasukkan URL Invoke-API Anda di browser web untuk melihat hasilnya.