Menyediakan organisasi berbayar tanpa peering VPC

Menyediakan organisasi berbayar tanpa peering VPC

Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

Dokumen ini menjelaskan cara menginstal dan mengonfigurasi Apigee dari command line tanpa Peering VPC. Langkah-langkah ini berlaku untuk model penetapan harga Langganan dan Bayar sesuai penggunaan untuk organisasi berbayar dengan atau tanpa mengaktifkan residensi data.

Lihat juga Opsi penyediaan.

Batasan

Opsi penginstalan peering non-VPC yang dijelaskan dalam dokumen ini memiliki beberapa batasan:

Untuk mengetahui daftar lengkap fitur dan pendekatan jaringan yang didukung dan tidak didukung untuk peering non-VPC, lihat Cara memilih opsi jaringan.

Ringkasan langkah-langkah

Langkah-langkah penyediaannya adalah sebagai berikut:

Langkah 1: Menentukan variabel lingkungan

Siapkan gcloud dan tentukan variabel lingkungan untuk digunakan dalam langkah-langkah berikutnya:

  1. Pastikan Anda telah menyelesaikan persyaratan penyiapan yang tercantum di Sebelum memulai.
  2. Anda harus menginstal Cloud SDK. Jika Anda perlu menginstalnya, lihat Menginstal Cloud SDK.
  3. Lakukan inisialisasi Cloud SDK seperti yang dijelaskan dalam Menginisialisasi gcloud CLI, atau pastikan bahwa project Google Cloud yang Anda buat di Prasyarat adalah project default untuk gcloud.
  4. Tentukan variabel lingkungan berikut di terminal perintah Anda. Pilih tab yang sesuai dengan jenis organisasi yang Anda butuhkan: Tidak ada residensi data atau dengan Residensi data:

    Tidak ada residensi data

    AUTH="$(gcloud auth print-access-token)"
    PROJECT_ID="YOUR_PROJECT_ID"
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
    RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
    ANALYTICS_REGION="YOUR_ANALYTICS_REGION"
    BILLING_TYPE="YOUR_BILLING_TYPE"

    Dengan keterangan:

    • AUTH menentukan header Authentication dengan token pemilik. Anda akan menggunakan header ini saat memanggil API Apigee. Perhatikan bahwa masa berlaku token telah habis setelah jangka waktu tertentu dan ketika hal itu terjadi, Anda cukup membuatnya kembali menggunakan perintah yang sama. Untuk informasi selengkapnya, lihat halaman referensi untuk perintah print-access-token.
    • PROJECT_ID adalah project ID Cloud yang Anda buat sebagai bagian dari Prasyarat.
    • PROJECT_NUMBER adalah nomor project Cloud yang Anda buat sebagai bagian Prasyarat.
    • RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang Anda buat nanti terletak. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat Lokasi Apigee.

    • ANALYTICS_REGION adalah lokasi fisik tempat Apigee data analisis akan disimpan. Untuk melihat daftar Analisis API Apigee yang tersedia region, lihat Lokasi Apigee.

      RUNTIME_LOCATION dan ANALYTICS_REGION bisa berada di region yang sama, tetapi tidak harus sama.

    • BILLING_TYPE adalah jenis penagihan untuk organisasi yang Anda buat. Nilai yang valid adalah:

    Residensi Data

    AUTH="$(gcloud auth print-access-token)"
    PROJECT_ID="YOUR_PROJECT_ID"
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
    RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
    CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
    CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
    BILLING_TYPE="YOUR_BILLING_TYPE"

    Dengan keterangan:

    • AUTH menentukan header Authentication dengan token pemilik. Anda akan menggunakan header ini saat memanggil API Apigee. Perhatikan bahwa masa berlaku token telah habis setelah jangka waktu tertentu dan ketika hal itu terjadi, Anda cukup membuatnya kembali menggunakan perintah yang sama. Untuk informasi selengkapnya, lihat halaman referensi untuk perintah print-access-token.
    • PROJECT_ID adalah project ID Cloud yang Anda buat sebagai bagian dari Prasyarat.
    • PROJECT_NUMBER adalah nomor project Cloud yang Anda buat sebagai bagian Prasyarat.
    • RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang Anda buat nanti terletak. Untuk mengetahui daftar lokasi runtime yang tersedia, lihat Lokasi Apigee.

      Lokasi runtime harus berada dalam lokasi bidang kontrol.
    • CONTROL_PLANE_LOCATION adalah lokasi fisik tempat data bidang kontrol Apigee akan disimpan. Untuk daftar lokasi bidang kontrol yang tersedia, lihat Lokasi Apigee.
    • CONSUMER_DATA_REGION adalah sub-region dari region bidang kontrol. Anda harus menentukan CONTROL_PLANE_LOCATION dan CONSUMER_DATA_REGION. Untuk mengetahui daftar region data konsumen yang tersedia, lihat Lokasi Apigee.
    • BILLING_TYPE adalah jenis penagihan untuk organisasi yang Anda buat. Nilai yang valid adalah:

  5. (Opsional) Periksa pekerjaan Anda dengan mencerminkan nilai yang baru saja Anda tetapkan. Perhatikan bahwa bila Anda ingin untuk menggunakan variabel dalam perintah Anda, awali nama variabel dengan tanda dolar ($).

    Tidak ada residensi data

    echo $AUTH
    echo $PROJECT_ID
    echo $PROJECT_NUMBER
    echo $RUNTIME_LOCATION
    echo $ANALYTICS_REGION
    echo $BILLING_TYPE
    

    Respons terhadap perintah echo Anda akan terlihat seperti berikut:

    YOUR_TOKEN
    my-cloud-project
    1234567890
    us-west1
    us-west1
    SUBSCRIPTION
    

    Residensi Data

    echo $AUTH
    echo $PROJECT_ID
    echo $PROJECT_NUMBER
    echo $RUNTIME_LOCATION
    echo $CONTROL_PLANE_LOCATION
    echo $CONSUMER_DATA_REGION
    echo $BILLING_TYPE
    

    Respons terhadap perintah echo Anda akan terlihat seperti berikut:

    YOUR_TOKEN
    my-cloud-project
    1234567890
    us-west1
    us
    us-west1
    SUBSCRIPTION
    

Langkah 2: Aktifkan API

  1. Apigee mengharuskan Anda mengaktifkan beberapa API Google Cloud. Aktifkan keduanya dengan menjalankan services enable berikut berikut:

    gcloud services enable apigee.googleapis.com \
        compute.googleapis.com \
        cloudkms.googleapis.com --project=$PROJECT_ID
  2. (Opsional) Untuk memeriksa pekerjaan Anda, gunakan perintah services list untuk menampilkan semua API yang telah diaktifkan:

    gcloud services list

    Responsnya menampilkan semua layanan yang diaktifkan, termasuk API yang baru saja Anda aktifkan.

Langkah 3: Buat identitas layanan Apigee

  1. Membuat Apigee identitas layanan:

    gcloud beta services identity create --service=apigee.googleapis.com \
      --project=$PROJECT_ID
  2. Pastikan agen berhasil dibuat. Respons harus menampilkan nama agen dalam format berikut: service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com. misalnya:

    Service identity created: service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com

Langkah 4: Buat organisasi

Sebelum dapat membuat organisasi, Anda harus membuat database runtime key ring dan kunci enkripsi (lihat langkah 1) dan, jika Anda menggunakan residensi data, key ring dan kunci enkripsi bidang kontrol (lihat langkah 2). Ini Kunci Cloud KMS mengenkripsi data yang disimpan dan direplikasi dari berbagai lokasi bidang kontrol dan runtime. Apigee menggunakan entity ini untuk mengenkripsi data aplikasi seperti KVM, cache, dan rahasia klien, yang kemudian disimpan dalam {i>database<i}. Untuk informasi selengkapnya, lihat Tentang kunci enkripsi Apigee.

  1. Membuat key ring dan kunci enkripsi database runtime.

    1. Menentukan variabel lingkungan untuk lokasi database runtime Anda cincin dan kunci enkripsi. Hal ini membantu memastikan konsistensi ketika Anda membuatnya dan memudahkan Anda untuk mengikuti dokumentasi.

      Nilainya adalah lokasi fisik tempat key ring enkripsi database runtime Anda dan kunci disimpan.

      Satu region

      Konfigurasi region tunggal (di mana Anda hanya memiliki satu instance in satu region): Pilih dari KMS yang didukung lokasi regional.

      Contoh:

      RUNTIMEDBKEY_LOCATION="us-west1"

      Nilainya bisa sama dengan $RUNTIME_LOCATION (juga region), tetapi tidak harus demikian. Namun demikian, ada manfaat kinerja yang diperoleh jika hal yang sama.

      Multi-region

      Konfigurasi multi-region: Pilih dari opsi yang didukung lokasi multi-regional (seperti us atau europe) atau lokasi regional ganda.

      Contoh:

      RUNTIMEDBKEY_LOCATION="us"

      Sebaiknya jika Anda memiliki konfigurasi multi-region di AS, gunakan us untuk lokasi Anda jika memungkinkan. Jika tidak, gunakan nam4.

    2. Menentukan variabel lingkungan untuk key ring dan nama kunci database.

      Nama key ring harus unik untuk organisasi Anda. Jika Anda membuat region kedua atau berikutnya, namanya tidak boleh sama dengan key ring lainnya. nama.

      RUNTIMEDB_KEY_RING_NAME=YOUR_DB_KEY_RING_NAME
      RUNTIMEDB_KEY_NAME=YOUR_DB_KEY_NAME
    3. (Opsional) Periksa pekerjaan Anda dengan mencerminkan nilai yang baru saja Anda tetapkan. Ingatlah bahwa ketika Anda ingin untuk menggunakan variabel dalam perintah Anda, awali nama variabel dengan tanda dolar ($).
      echo $RUNTIMEDBKEY_LOCATION
      echo $RUNTIMEDB_KEY_RING_NAME
      echo $RUNTIMEDB_KEY_NAME
    4. Membuat key ring baru:
      gcloud kms keyrings create $RUNTIMEDB_KEY_RING_NAME \
        --location $RUNTIMEDBKEY_LOCATION --project $PROJECT_ID

      Lokasi kunci enkripsi database runtime Apigee mendukung semua Cloud KMS lokasi yang mendukung Cloud HSM dan Cloud EKM.

    5. Buat kunci:

      gcloud kms keys create $RUNTIMEDB_KEY_NAME \
        --keyring $RUNTIMEDB_KEY_RING_NAME \
        --location $RUNTIMEDBKEY_LOCATION \
        --purpose "encryption" \
        --project $PROJECT_ID

      Perintah ini membuat kunci dan menambahkannya ke key ring.

      Dapatkan ID kunci:

      gcloud kms keys list \
        --location=$RUNTIMEDBKEY_LOCATION \
        --keyring=$RUNTIMEDB_KEY_RING_NAME \
        --project=$PROJECT_ID

      ID kunci memiliki sintaksis berikut (mirip dengan jalur file):

      projects/PROJECT_ID/locations/RUNTIMEDBKEY_LOCATION/keyRings/RUNTIMEDB_KEY_RING_NAME/cryptoKeys/RUNTIMEDB_KEY_NAME
    6. Masukkan ID kunci dalam variabel lingkungan. Anda akan menggunakan variabel ini di perintah berikutnya:

      RUNTIMEDB_KEY_ID=YOUR_RUNTIMEDB_KEY_ID
    7. Berikan akses agar Agen Layanan Apigee dapat menggunakan kunci baru:

      gcloud kms keys add-iam-policy-binding $RUNTIMEDB_KEY_NAME \
        --location $RUNTIMEDBKEY_LOCATION \
        --keyring $RUNTIMEDB_KEY_RING_NAME \
        --member serviceAccount:service-$PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project $PROJECT_ID

      Perintah ini mengikat kunci ke Agen Layanan Apigee.

      Setelah berhasil menyelesaikan permintaan ini, gcloud merespons dengan sesuatu yang mirip dengan berikut ini:

      Updated IAM policy for key [runtime].
      bindings:
      - members:
        - serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
        role: roles/cloudkms.cryptoKeyEncrypterDecrypter
      etag: BwWqgEuCuwk=
      version: 1

      Jika Anda mendapatkan pesan error seperti berikut:

      INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.

      Pastikan Anda menggunakan nomor project dan bukan nama project di bagian alamat email akun layanan Anda.

  2. Jika Anda menggunakan residensi data, membuat key ring enkripsi bidang kontrol, tombol. Jika Anda tidak menggunakan residensi data, lanjutkan ke langkah 3.
  3. Lakukan langkah-langkah berikut untuk membuat enkripsi bidang kontrol key ring dan key.

    1. Tentukan variabel lingkungan untuk lokasi cincin dan kunci enkripsi database bidang kontrol Anda:
      CONTROL_PLANE_LOCATION=YOUR_CONTROL_PLANE_LOCATION
      CONSUMER_DATA_REGION=YOUR_CONSUMER_DATA_REGION

      Dengan keterangan:

      • CONTROL_PLANE_LOCATION adalah lokasi fisik tempat data bidang kontrol Apigee akan disimpan. Untuk daftar lokasi bidang kontrol yang tersedia, lihat Lokasi Apigee.
      • CONSUMER_DATA_REGION adalah sub-region dari region bidang kontrol. Anda harus menentukan CONTROL_PLANE_LOCATION dan CONSUMER_DATA_REGION. Untuk mengetahui daftar region data konsumen yang tersedia, lihat Lokasi Apigee.
    2. Menentukan variabel lingkungan untuk key ring dan nama kunci database bidang kontrol.

      Nama key ring harus unik untuk organisasi Anda.

      CONTROL_PLANE_KEY_RING_NAME=YOUR_CONTROL_PLANE_KEY_RING_NAME
      CONTROL_PLANE_KEY_NAME=YOUR_CONTROL_PLANE_KEY_NAME
      CONSUMER_DATA_KEY_RING_NAME=YOUR_CONSUMER_DATA_KEY_RING_NAME
      CONSUMER_DATA_KEY_NAME=YOUR_CONSUMER_DATA_REGION_KEY_NAME

      Dengan keterangan:

      • CONTROL_PLANE_KEY_RING_NAME adalah nama key ring yang akan Anda gunakan untuk mengidentifikasi key ring enkripsi bidang kontrol.
      • CONTROL_PLANE_KEY_NAME adalah nama kunci yang akan Anda gunakan untuk mengidentifikasi kunci enkripsi bidang kontrol.
      • CONSUMER_DATA_KEY_RING_NAME adalah nama key ring yang akan Anda gunakan untuk mengidentifikasi key ring enkripsi region data konsumen.
      • CONSUMER_DATA_KEY_NAME adalah nama kunci yang akan Anda gunakan untuk mengidentifikasi kunci enkripsi region data konsumen.
    3. Membuat key ring baru:
      gcloud kms keyrings create $CONTROL_PLANE_KEY_RING_NAME \
        --location $CONTROL_PLANE_LOCATION \
        --project $PROJECT_ID
      gcloud kms keyrings create $CONSUMER_DATA_KEY_RING_NAME \
        --location $CONSUMER_DATA_REGION \
        --project $PROJECT_ID
    4. Buat kunci:
      gcloud kms keys create $CONTROL_PLANE_KEY_NAME \
        --keyring $CONTROL_PLANE_KEY_RING_NAME \
        --location $CONTROL_PLANE_LOCATION \
        --purpose "encryption" \
        --project $PROJECT_ID
      gcloud kms keys create $CONSUMER_DATA_KEY_NAME \
        --keyring $CONSUMER_DATA_KEY_RING_NAME \
        --location $CONSUMER_DATA_REGION \
        --purpose "encryption" \
        --project $PROJECT_ID

      Perintah ini membuat kunci dan menambahkannya ke key ring.

      Dapatkan ID kunci:

      gcloud kms keys list \
      --location=$CONTROL_PLANE_LOCATION \
      --keyring=$CONTROL_PLANE_KEY_RING_NAME \
      --project=$PROJECT_ID
      gcloud kms keys list \
      --location=$CONSUMER_DATA_REGION \
      --keyring=$CONSUMER_DATA_KEY_RING_NAME \
      --project=$PROJECT_ID

      ID kunci memiliki sintaksis berikut (mirip dengan jalur file):

      projects/PROJECT_ID/locations/CONTROL_PLANE_LOCATION/keyRings/CONTROL_PLANE_KEY_RING_NAME/cryptoKeys/CONTROL_PLANE_KEY_NAME
      projects/PROJECT_ID/locations/CONSUMER_DATA_REGION/keyRings/CONSUMER_DATA_KEY_RING_NAME/cryptoKeys/CONSUMER_DATA_KEY_NAME
    5. Masukkan ID kunci dalam variabel lingkungan. Anda akan menggunakan variabel ini di perintah berikutnya:
      CONTROL_PLANE_KEY_ID=YOUR_CONTROL_PLANE_KEY_ID
      
      CONSUMER_DATA_KEY_ID=YOUR_CONSUMER_DATA_KEY_ID
    6. Berikan akses agar Agen Layanan Apigee dapat menggunakan kunci baru:
      gcloud kms keys add-iam-policy-binding $CONTROL_PLANE_KEY_NAME \
        --location $CONTROL_PLANE_LOCATION \
        --keyring $CONTROL_PLANE_KEY_RING_NAME \
        --member "serviceAccount:service-$PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com" \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project $PROJECT_ID
      
      gcloud kms keys add-iam-policy-binding $CONSUMER_DATA_KEY_NAME \
       --location $CONSUMER_DATA_REGION \
       --keyring $CONSUMER_DATA_KEY_RING_NAME \
       --member "serviceAccount:service-$PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com" \
       --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
       --project $PROJECT_ID
      

      Perintah ini mengikat kunci ke Agen Layanan Apigee. Setelah berhasil diselesaikan permintaan ini, gcloud merespons dengan sesuatu yang mirip dengan berikut ini:

      Updated IAM policy for key [runtime].
      bindings:
      - members:
        - serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
        role: roles/cloudkms.cryptoKeyEncrypterDecrypter
      etag: BwWqgEuCuwk=
      version: 1
      

      Jika Anda mendapatkan pesan error seperti berikut:

      INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
      

      Pastikan Anda menggunakan nomor project, bukan nama project di layanan alamat email Anda.

    Lihat juga: Pemecahan masalah CMEK

  4. Buat organisasi dengan mengirimkan permintaan berikut ke organizations API Apigee:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"  \
      -H "Authorization: Bearer $AUTH" \
      -X POST \
      -H "Content-Type:application/json" \
      -d '{
        "name":"'"$PROJECT_ID"'",
        "analyticsRegion":"'"$ANALYTICS_REGION"'",
        "runtimeType":"CLOUD",
        "billingType":"'"$BILLING_TYPE"'",
        "disableVpcPeering":"true",
        "runtimeDatabaseEncryptionKeyName":"'"$RUNTIMEDB_KEY_ID"'"
      }'

    Dengan keterangan:

    • -d menentukan payload data untuk permintaan. Payload ini harus mencakup hal berikut:
      • name: Mengidentifikasi organisasi baru Anda. Harus sama sebagai project ID.

      • analyticsRegion: Menentukan lokasi fisik tempat analisis Anda data akan disimpan.

      • runtimeType: Setel nilai ini ke CLOUD.
      • billingType: Menentukan jenis penagihan organisasi yang dibuat.
      • disableVpcPeering: Setel ke true jika Anda tidak ingin melakukannya menggunakan peering VPC. Default: false
      • runtimeDatabaseEncryptionKeyName: ID aplikasi kunci enkripsi yang Anda buat di langkah sebelumnya. Ingat bahwa ID terstruktur seperti jalur file. Contoh:
        projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key

    Residensi Data

    Buat organisasi menggunakan API:

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"  \
      -H "Authorization: Bearer $AUTH" \
      -X POST \
      -H "Content-Type:application/json" \
      -d '{
        "name":"'"$PROJECT_ID"'",
        "runtimeType":"CLOUD",
        "billingType":"'"$BILLING_TYPE"'",
        "controlPlaneEncryptionKeyName":"'"$CONTROL_PLANE_KEY_ID"'",
        "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'",
        "apiConsumerDataEncryptionKeyName":"'"$CONSUMER_DATA_KEY_ID"'",
        "disableVpcPeering":"true",
        "runtimeDatabaseEncryptionKeyName":"'"$RUNTIMEDB_KEY_ID"'"
      }'

    Dengan keterangan:

    -d menentukan payload data untuk permintaan. Payload ini harus mencakup hal berikut:

    • name: Mengidentifikasi organisasi baru Anda. Harus sama sebagai project ID.
    • runtimeType: Setel nilai ini ke CLOUD.
    • billingType: Menentukan jenis penagihan organisasi yang dibuat.
    • controlPlaneEncryptionKeyName: Merupakan ID kunci bidang kontrol Anda.
    • apiConsumerDataLocation: Anda juga harus menentukan subwilayah untuk digunakan oleh resource internal. Lihat Wilayah residensi data untuk nilai yang didukung.
    • apiConsumerDataEncryptionKeyName: Adalah ID kunci region data konsumen Anda.
    • disableVpcPeering: Setel ke true jika Anda tidak ingin melakukannya menggunakan peering VPC. Default: false
    • runtimeDatabaseEncryptionKeyName: ID aplikasi kunci enkripsi yang Anda buat di langkah sebelumnya. Ingat bahwa ID adalah tersusun seperti jalur file. Contoh:
      projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key

    Setelah Anda menjalankan perintah ini, Apigee memulai operasi yang berjalan lama, yang dapat memerlukan waktu beberapa menit.

    Jika terjadi error, periksa penggunaan tanda kutip Anda di sekitar nilai variabel dalam {i>payload<i} data. Pastikan Anda memiliki tanda kutip ganda-tunggal-ganda di sekitar variabel $PROJECT_ID, seperti yang ditunjukkan dalam contoh berikut:

    "'"$PROJECT_ID"'"

    Jika Anda menggunakan string biasa (bukan variabel lingkungan) untuk nilai permintaan, Anda bisa menggabungkannya dalam tanda kutip ganda di dalam string payload yang dikutip tunggal, seperti yang ditampilkan dalam contoh berikut:

    '{ "name":"my-gcp-project", ... }'
  5. Tunggu beberapa menit.
  6. Untuk memeriksa status permintaan pembuatan, Anda dapat mengirim permintaan GET ke Apigee Cantumkan API organisasi, seperti yang ditampilkan dalam contoh berikut:

    Tidak ada residensi data

    curl -H "Authorization: Bearer $AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Residensi Data

    curl -H "Authorization: Bearer $AUTH" "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Jika Anda melihat respons ini, artinya pembuatan organisasi belum selesai:

    {
      "error": {
        "code": 403,
        "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)",
        "status": "PERMISSION_DENIED"
      }
    }

    Jika berhasil, objek respons akan menunjukkan "state": "ACTIVE", dan Anda dapat melanjutkan ke langkah selanjutnya.

    Jika Apigee menampilkan respons error HTTP, lihat Membuat organisasi Apigee.

Langkah 5: Membuat instance runtime

Instance runtime adalah tempat project Apigee Anda dan layanan terkait disimpan; ini menyediakan endpoint yang dilihat pengguna untuk layanan Anda. Untuk membuat instance runtime baru:

  1. Pastikan Apigee telah menyelesaikan pembuatan organisasi Anda. Anda mengirimkan permintaan kepada Buat organisasi baru di Membuat organisasi Apigee, tetapi Anda perlu memastikan itu sudah dilakukan sebelum melanjutkan.

    Untuk melakukannya, kirim permintaan berikut ke organizations API:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID"

    Jika organisasi tersebut ada (dan Anda memiliki izin yang sesuai untuk melihatnya), Apigee akan menanggapinya dengan memberikan detail tentang hal itu. Jika Apigee merespons dengan error, tunggu beberapa menit, lalu mengirim permintaan lagi.

  2. Mirip dengan tugas sebelumnya di mana Anda membuat kunci enkripsi untuk {i>database<i}, sekarang Anda perlu membuat Kunci Cloud KMS yang digunakan untuk mengenkripsi data di sisi server. Untuk memulai, tentukan variabel lingkungan berikut:
    INSTANCE_NAME=YOUR_INSTANCE_NAME
    RUNTIME_LOCATION=YOUR_RUNTIME_LOCATION
    DISK_KEY_RING_NAME=YOUR_DISK_KEY_RING_NAME
    DISK_KEY_NAME=YOUR_DISK_KEY_NAME
  3. Dengan keterangan:

    • INSTANCE_NAME: Nama instance baru Anda. Misalnya, my-runtime-instance. Nama harus diawali dengan huruf kecil, dapat hingga 32 karakter, dan hanya dapat berisi huruf kecil, angka, tanda hubung. ID ini tidak boleh dimulai atau diakhiri dengan tanda hubung dan minimal harus dua karakter panjang.
    • RUNTIME_LOCATION adalah tempat fisik tempat cluster Anda dihosting. Nilai yang valid adalah lokasi mana pun yang diizinkan oleh Compute Engine. (Lihat Region dan zona yang tersedia.) Contoh ini menggunakan us-west1.
    • DISK_KEY_RING_NAME adalah nama key ring enkripsi disk.
    • DISK_KEY_NAME adalah nama kunci enkripsi disk.
  4. Buat kunci enkripsi disk:
    1. Buat disk key ring baru:
      gcloud kms keyrings create $DISK_KEY_RING_NAME \
        --location $RUNTIME_LOCATION \
        --project $PROJECT_ID

      Key ring disk Anda harus disetel ke lokasi yang sama dengan instance. Setiap instance dan key ring harus memiliki lokasinya sendiri.

    2. Buat kunci disk baru:
      gcloud kms keys create $DISK_KEY_NAME \
        --keyring $DISK_KEY_RING_NAME \
        --location $RUNTIME_LOCATION \
        --purpose "encryption" \
        --project $PROJECT_ID

      Kunci dapat direferensikan oleh jalur kunci-nya. Anda bisa mendapatkan jalur kunci dengan perintah berikut:

      gcloud kms keys list \
        --location=$RUNTIME_LOCATION \
        --keyring=$DISK_KEY_RING_NAME \
        --project=$PROJECT_ID

      Jalur kunci terlihat seperti berikut:

      projects/PROJECT_ID/locations/RUNTIME_LOCATION/keyRings/my-disk-key-ring/cryptoKeys/my-disk-key
    3. Masukkan jalur kunci dalam variabel lingkungan. Anda akan menggunakan variabel ini dalam perintah nanti:

      DISK_KEY_ID=YOUR_DISK_KEY_ID

      Contoh: DISK_KEY_ID=projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key

    4. Berikan akses agar Agen Layanan Apigee dapat menggunakan kunci baru:

      gcloud kms keys add-iam-policy-binding $DISK_KEY_NAME \
        --location $RUNTIME_LOCATION \
        --keyring $DISK_KEY_RING_NAME \
        --member serviceAccount:service-$PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project $PROJECT_ID

      Perintah ini mengikat kunci ke Agen Layanan Apigee.

    Untuk informasi selengkapnya, lihat Tentang enkripsi Apigee .

  5. Membuat instance runtime baru untuk project Anda dengan mengirimkan POST ke Instances API Apigee:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances" \
      -X POST -H "Authorization: Bearer $AUTH" \
      -H "Content-Type:application/json" \
      -d '{
        "name":"'"$INSTANCE_NAME"'",
        "location":"'"$RUNTIME_LOCATION"'",
        "diskEncryptionKeyName":"'"$DISK_KEY_ID"'",
        "consumerAcceptList":["'"$PROJECT_ID"'"]
      }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances" \
      -X POST -H "Authorization: Bearer $AUTH" \
      -H "Content-Type:application/json" \
      -d '{
        "name":"'"$INSTANCE_NAME"'",
        "location":"'"$RUNTIME_LOCATION"'",
        "diskEncryptionKeyName":"'"$DISK_KEY_ID"'",
        "consumerAcceptList":["'"$PROJECT_ID"'"]
      }'

    Dengan keterangan:

    • consumerAcceptList (Opsional) Menentukan daftar ID project Google Cloud yang dapat terhubung secara pribadi ke VPC Apigee lampiran layanan. Lampiran layanan adalah entity yang digunakan dengan Google Cloud Private Service Connect untuk mengizinkan produsen layanan (dalam hal ini, Apigee) untuk mengekspos layanan kepada konsumen (dalam hal ini, satu atau beberapa project Cloud yang Anda miliki). Secara default, kami menggunakan project Cloud yang sudah dikaitkan dengan Apigee Anda organisasi/pengaturan. Contoh: "consumerAcceptList": ["project1", "project2", "project3"]

      Perhatikan bahwa Anda juga dapat menetapkan dan mengubah daftar status project di UI Instance. Untuk mengetahui detailnya, lihat Mengelola instance.

    Penyelesaian permintaan ini dapat memerlukan waktu hingga 20 menit karena Apigee harus membuat dan meluncurkan cluster Kubernetes baru, menginstal resource Apigee pada cluster tersebut, dan menyiapkan gunakan load balancer HTTP(S) Global.

    Jika Apigee menampilkan error, lihat Membuat instance baru.

  6. Untuk memeriksa status permintaan pembuatan instance runtime, jalankan perintah berikut perintah. Jika statusnya AKTIF, Anda dapat berlanjut ke langkah berikutnya.

    Tidak ada residensi data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"

    Residensi Data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"

Langkah 6: Buat lingkungan

Untuk membuat lingkungan dan menambahkannya ke runtime pada perintah baris:

  1. Tentukan variabel lingkungan yang akan digunakan di bagian ini. Variabel lingkungan spesifik yang Anda buat akan bergantung pada apakah Anda membuat lingkungan untuk langganan atau Bayar sesuai penggunaan org.

    Langganan

    Untuk lingkungan langganan, buat variabel berikut:

    ENVIRONMENT_NAME="YOUR_ENV_NAME"
    ENV_GROUP_NAME="YOUR_ENV_GROUP_NAME"
    ENV_GROUP_HOSTNAME="YOUR_ENV_GROUP_HOSTNAME"

    Dengan keterangan:

    • ENVIRONMENT_NAME adalah nama string. Contoh: test
    • ENV_GROUP_NAME adalah nama string. Contoh: test-group
    • ENV_GROUP_HOSTNAME adalah nama host domain yang valid. Contoh: foo.example.com

    Bayar sesuai penggunaan

    Untuk lingkungan Bayar sesuai penggunaan, buat variabel berikut:

    ENVIRONMENT_NAME="YOUR_ENV_NAME"
    ENVIRONMENT_TYPE="YOUR_ENV_TYPE"
    ENV_GROUP_NAME="YOUR_ENV_GROUP_NAME"
    ENV_GROUP_HOSTNAME="YOUR_ENV_GROUP_HOSTNAME"

    Dengan keterangan:

    • ENVIRONMENT_NAME adalah nama string. Contoh: test
    • ENVIRONMENT_TYPE adalah jenis lingkungan untuk lingkungan ini dan hanya berlaku untuk pengguna Pay-as-you-go, yang harus tentukan salah satu nilai berikut: BASE, INTERMEDIATE, atau COMPREHENSIVE. Pengguna lain harus menghapus jenis lingkungan.
    • ENV_GROUP_NAME adalah nama string. Contoh: test-group
    • ENV_GROUP_HOSTNAME adalah nama host domain yang valid. Contoh: foo.example.com
  2. Buat lingkungan baru dengan Environments API. Perintah spesifik yang Anda gunakan akan bergantung pada apakah Anda membuat lingkungan untuk langganan atau Bayar sesuai penggunaan org.

    Langganan

    Untuk lingkungan langganan baru, gunakan perintah berikut:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name":"'"$ENVIRONMENT_NAME"'"
      }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name":"'"$ENVIRONMENT_NAME"'"
      }'

    Apigee menciptakan lingkungan baru.

    Bayar sesuai penggunaan

    Untuk lingkungan Bayar sesuai penggunaan baru, gunakan perintah berikut:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name":"'"$ENVIRONMENT_NAME"'",
          "type":"'"$ENVIRONMENT_TYPE"'"
      }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name":"'"$ENVIRONMENT_NAME"'",
          "type":"'"$ENVIRONMENT_TYPE"'"
      }'

    Apigee menciptakan lingkungan baru.

  3. Sebelum melanjutkan, periksa apakah Apigee telah selesai membuat lingkungan baru dengan memanggil Environments API:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments"

    Apigee merespons dengan daftar lingkungan yang tersedia; misalnya, jika lingkungan Anda bernama test, Apigee merespons dengan hal berikut:

    [
      "test"
    ]
  4. Lampirkan lingkungan baru ke instance runtime:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME/attachments" \
        -X POST -H "Authorization: Bearer $AUTH" \
        -H "content-type:application/json" \
        -d '{
          "environment":"'"$ENVIRONMENT_NAME"'"
        }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME/attachments" \
        -X POST -H "Authorization: Bearer $AUTH" \
        -H "content-type:application/json" \
        -d '{
          "environment":"'"$ENVIRONMENT_NAME"'"
        }'

    Operasi ini dapat memerlukan waktu beberapa menit hingga selesai. Untuk memeriksa apakah lampiran selesai, jalankan perintah ini:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
      "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME/attachments"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME/attachments"

    Jika melihat output seperti berikut, Anda dapat melanjutkan ke langkah berikutnya:

    {
      "attachments": [
        {
          "name": "ed628782-c893-4095-b71c-f4731805290a",
          "environment": "test",
          "createdAt": "1641604447542"
        }
      ]
    }

  5. Buat grup lingkungan baru menggunakan perintah berikut. Untuk informasi selengkapnya, lihat Tentang lingkungan dan grup lingkungan:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name": "'"$ENV_GROUP_NAME"'",
          "hostnames":["'"$ENV_GROUP_HOSTNAME"'"]
      }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups" \
        -H "Authorization: Bearer $AUTH" \
        -X POST \
        -H "Content-Type:application/json" \
        -d '{
          "name": "'"$ENV_GROUP_NAME"'",
          "hostnames":["'"$ENV_GROUP_HOSTNAME"'"]
      }'
  6. Tunggu hingga operasi selesai. Anda dapat memeriksa status grup baru menggunakan seperti berikut ini:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME"
  7. Lampirkan lingkungan baru ke grup lingkungan baru dengan perintah berikut:

    Tidak ada residensi data

    curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME/attachments" \
        -X POST \
        -H "Authorization: Bearer $AUTH" \
        -H "content-type:application/json" \
        -d '{
          "environment":"'"$ENVIRONMENT_NAME"'"
      }'

    Residensi Data

    curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME/attachments" \
        -X POST \
        -H "Authorization: Bearer $AUTH" \
        -H "content-type:application/json" \
        -d '{
          "environment":"'"$ENVIRONMENT_NAME"'"
      }'
  8. Untuk memeriksa status operasi, panggil API ini:

    Tidak ada residensi data

    curl -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME/attachments"

    Residensi Data

    curl -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/$ENV_GROUP_NAME/attachments"

Langkah 7: Konfigurasi pemilihan rute

Pada langkah ini, Anda akan mengonfigurasi cara aplikasi klien berkomunikasi dengan Apigee. Klien untuk Apigee lalu lintas juga disebut "arah utara" kemacetan. Opsi konfigurasi arah utara mencakup hal berikut. Buka opsi konfigurasi yang ingin Anda gunakan dan lakukan langkah-langkah untuk opsi tersebut:

Jenis akses Deskripsi proses konfigurasi dan deployment
Internal dengan PSC (Baru)

Hanya izinkan akses internal ke proxy API Anda dari project Google Cloud mana pun yang menggunakan Private Service Connect (PSC).

PSC memungkinkan koneksi pribadi antara produsen layanan (Apigee) dan konsumen layanan (project VPC yang di-peering dan/atau satu atau beberapa project Cloud lain yang Anda kontrol). Dengan metode ini, permintaan melewati endpoint layanan atau load balancer internal regional ke satu titik lampiran, yang disebut lampiran layanan. Konfigurasi ini memungkinkan klien internal Anda mengirim Permintaan proxy API Apigee dari mesin yang mendukung jaringan.

Eksternal dengan PSC (Baru)

Izinkan akses eksternal ke proxy API menggunakan Private Service Connect (PSC).

Gunakan Private Service Connect (PSC) untuk mengaktifkan koneksi pribadi antara produsen layanan (Apigee) dan konsumen layanan (project VPC yang di-peering dan/atau satu atau beberapa project Cloud lain yang Anda kontrol). Dengan metode ini, permintaan melewati load balancer eksternal global atau load balancer eksternal regional ke titik lampiran, yang disebut lampiran layanan. Konfigurasi ini memungkinkan Anda mengirim Permintaan proxy Apigee API dari komputer yang kompatibel dengan jaringan.

Masing-masing pendekatan perutean ini dijelaskan dalam petunjuk di bawah.

Perutean internal (PSC)

Bagian ini menjelaskan cara hanya mengizinkan akses internal ke proxy API dari Project Google Cloud yang menggunakan Private Service Connect (PSC).

Anda memiliki dua opsi untuk mengonfigurasi akses internal dengan PSC:

  • Endpoint layanan: Permintaan melewati endpoint layanan ke satu titik lampiran, yang disebut lampiran layanan.
  • Load balancer regional internal: Permintaan diteruskan melalui load balancer HTTP(S) internal regional. Lihat juga Load balancing global vs regional.

Pilih tab di bawah untuk pilihan konfigurasi Anda dan ikuti langkah-langkahnya:

Endpoint layanan

Membuat endpoint layanan PSC untuk lampiran layanan

  1. Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:

    Tidak ada residensi data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
    "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Residensi Data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
    "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Dalam contoh output berikut, serviceAttachment nilai ditunjukkan dalam huruf tebal:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1"
        }
      ]
    }
  2. Buat PSC Service Endpoint yang mengarah ke lampiran layanan yang Anda dapatkan dari isi respons instance di langkah sebelumnya, seperti yang dijelaskan dalam Membuat endpoint Private Service Connect.
  3. Penyediaan Apigee selesai. Buka Deploy proxy contoh.

LB regional internal

Langkah 8a: Menyiapkan variabel lingkungan

Petunjuk di bagian ini menggunakan variabel lingkungan untuk merujuk pada penggunaan berulang {i>string<i}. Pastikan Anda telah menetapkan variabel di Menentukan variabel lingkungan.

Selain itu, tetapkan variabel lingkungan berikut:

NEG_NAME=YOUR_NEG_NAME"
TARGET_SERVICE=YOUR_TARGET_SERVICE"
NETWORK_NAME=YOUR_NETWORK_NAME"
SUBNET_NAME=YOUR_SUBNET_NAME"

Dengan keterangan:

  • NEG_NAME: nama untuk grup endpoint jaringan.
  • TARGET_SERVICE: lampiran layanan yang ingin Anda hubungkan. Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
  • NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghilangkan parameter ini, jaringan project default akan digunakan.
  • SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen. Ukuran subnet bisa jadi kecil: NEG PSC hanya memerlukan satu IP dari subnet. Untuk Apigee, hanya satu NEG PSC yang diperlukan per wilayah. Subnet dapat dibagikan dan digunakan oleh VM atau entitas lain. Jika subnet tidak ditentukan, endpoint jaringan dapat menjadi bagian dari subnetwork region tempat grup endpoint jaringan dibuat.

Langkah 8b: Buat subnet khusus proxy

gcloud compute networks subnets create testproxyonlysubnet \
--purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \
--range=100.0.0.0/24 --project=$PROJECT_ID

Langkah 8c: Buat grup endpoint jaringan (NEG)

  1. Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:

    Tidak ada residensi data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
    "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Residensi Data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
    "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Dalam contoh output berikut, nilai serviceAttachment ditunjukkan dalam huruf tebal:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "runtimeVersion": "1-7-0-20220228-190814",
          "consumerAcceptList": [
            "my-project"
          ],
          "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
        }
      ]
      }
  2. Buat NEG Private Service Connect yang mengarah ke layanan lampiran tambahan yang Anda peroleh dari isi respons instance pada langkah sebelumnya.

    gcloud compute network-endpoint-groups create $NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=$TARGET_SERVICE \
    --region=$RUNTIME_LOCATION \
    --project=$PROJECT_ID
    

    $PROJECT_ID dapat berupa project Cloud yang sudah yang terkait dengan organisasi Apigee Anda, atau project Cloud di consumerAcceptlist saat Instance runtime Apigee telah dibuat.

Langkah 8d: Konfigurasikan load balancer internal regional

  1. Mencadangkan alamat IPv4 internal untuk load balancer.
    gcloud compute addresses create ADDRESS_NAME \
    --ip-version=IPV4 --subnet=$SUBNET_NAME \
    --region=$RUNTIME_LOCATION --project=$PROJECT_ID

    Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.

    Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:

    gcloud compute addresses describe ADDRESS_NAME \
    --format="get(address)" --region=$RUNTIME_LOCATION --project=$PROJECT_ID
  2. Buat layanan backend untuk NEG.
    gcloud compute backend-services create BACKEND_SERVICE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=HTTPS \
    --region=$RUNTIME_REGION \
    --project=$PROJECT_ID
  3. Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.

  4. Tambahkan NEG ke layanan backend:
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
    --network-endpoint-group=$NEG_NAME \
    --region=$RUNTIME_LOCATION \
    --project=$PROJECT_ID

    Ganti kode berikut:

    • NEG_NAME: nama grup endpoint jaringan.
    • BACKEND_SERVICE_NAME dengan nama layanan backend.
  5. Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL untuk digunakan di Proxy target HTTPS.

    Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan sertifikat lokal . Jika Anda perlu membuat file tersebut, lihat langkah 1 cara menggunakan sertifikat SSL yang dikelola sendiri.

    gcloud compute ssl-certificates create CERTIFICATE \
    --certificate LB_CERT \
    --private-key LB_PRIVATE_KEY
    --region=$RUNTIME_LOCATION --project=$PROJECT_ID

    Ganti kode berikut:

    • CERTIFICATE: nama untuk sertifikat.
    • LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
    • LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.
  6. Buat peta URL untuk load balancer.

    Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang Anda baru saja dibuat sebagai {i>default<i}.

    gcloud compute url-maps create URL_MAP_NAME \
    --default-service=DEFAULT_BACKEND_SERVICE_NAME \
    --region=$RUNTIME_REGION \
    --project=$PROJECT_ID

    Ganti kode berikut:

    • URL_MAP_NAME: nama untuk peta URL.
    • DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Setelan default digunakan saat tidak ada aturan host yang cocok dengan nama host yang diminta.
  7. Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.

    gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP_NAME \
    --ssl-certificates=CERTIFICATE \
    --region=$RUNTIME_LOCATION --project=$PROJECT_ID

    Ganti kode berikut:

    • PROXY_NAME: nama untuk proxy HTTPS target.
    • URL_MAP_NAME: nama peta URL.
    • CERTIFICATE: nama resource sertifikat.
  8. Buat aturan penerusan.
    gcloud compute forwarding-rules create FWD_RULE \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --address=ADDRESS_NAME \
    --target-https-proxy=PROXY_NAME \
    --ports=443 \
    --target-https-proxy-region=$RUNTIME_REGION \
    --region=$RUNTIME_REGION \
    --project=$PROJECT_ID \
    --network=$NETWORK_NAME \
    --subnet=$SUBNET_NAME
    

    Ganti kode berikut:

    • FWD_RULE: nama untuk aturan penerusan.
    • ADDRESS_NAME: resource alamat IP yang Anda reservasi untuk digunakan bagi aturan penerusan.
    • PROXY_NAME: nama proxy HTTPS target.
    • NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghilangkan parameter ini, jaringan project default akan digunakan.
    • SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen.
  9. Penyediaan Apigee selesai. Buka Deploy a sample proxy.

Perutean eksternal (PSC)

Bagian ini menjelaskan cara mengonfigurasi perutean eksternal menggunakan Private Service Connect (PSC) ke memungkinkan komunikasi antara Apigee dan VPC yang Anda kontrol. Anda harus melakukannya sebelum Anda dapat mengirim permintaan dari klien eksternal ke instance runtime Apigee.

Langkah 8b: Buat NEG dan konfigurasikan load balancer

Anda dapat membuat load balancer global atau regional.

LB eksternal global

Mengonfigurasi global load balancer HTTP(S) eksternal (load balancing skema ditetapkan ke EXTERNAL_MANAGED).

Meskipun NEG Private Service Connect bersifat regional, semua komponen load balancing lainnya dalam konfigurasi ini bersifat global.

  1. Pastikan Anda telah menetapkan variabel lingkungan di Menentukan variabel lingkungan.
  2. Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:

    Tidak ada residensi data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Residensi Data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Dalam contoh output berikut, nilai serviceAttachment ditunjukkan dalam huruf tebal:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "host": "10.82.192.2",
          "port": "443",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "peeringCidrRange": "SLASH_22",
          "runtimeVersion": "1-7-0-20220228-190814",
          "ipRange": "10.82.192.0/22,10.82.196.0/28",
          "consumerAcceptList": [
            "875609189304"
          ],
          "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
        }
      ]
    }
  3. Buat NEG Private Service Connect yang mengarah ke layanan lampiran tambahan yang Anda peroleh dari isi respons instance pada langkah sebelumnya.

      gcloud compute network-endpoint-groups create NEG_NAME \
        --network-endpoint-type=private-service-connect \
        --psc-target-service=TARGET_SERVICE \
        --region=$RUNTIME_LOCATION \
        --network=NETWORK_NAME \
        --subnet=SUBNET_NAME \
        --project=$PROJECT_ID
    

    Ganti kode berikut:

    • NEG_NAME: nama untuk grup endpoint jaringan.
    • TARGET_SERVICE: lampiran layanan yang ingin Anda hubungkan. Gunakan nilai lampiran layanan yang ditampilkan oleh perintah. Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
    • NETWORK_NAME: (Opsional) Nama jaringan tempat NEG dibuat. Jika Anda menghilangkan parameter ini, jaringan project default akan digunakan.
    • SUBNET_NAME: Nama subnet yang digunakan untuk konektivitas pribadi ke produsen. Ukuran subnet bisa jadi kecil: NEG PSC hanya memerlukan satu IP dari subnet. Untuk Apigee, hanya satu NEG PSC yang diperlukan per wilayah. Subnet dapat dibagikan dan digunakan oleh VM atau entitas lain. Jika subnet tidak ditentukan, endpoint jaringan dapat menjadi bagian dari subnetwork region tempat grup endpoint jaringan dibuat.
    • $PROJECT_ID Project Cloud yang sudah terkait dengan organisasi Apigee Anda, atau dengan project Cloud di consumerAcceptlist saat Instance runtime Apigee telah dibuat. Jika Anda belum melakukannya, membuat variabel lingkungan untuk menyimpan project ID, karena digunakan di sebagian besar perintah berikut.
  4. Cadangkan alamat IPv4 eksternal global untuk load balancer.
    gcloud compute addresses create ADDRESS_NAME \
        --ip-version=IPV4 --global --project=$PROJECT_ID

    Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.

    Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:

    gcloud compute addresses describe ADDRESS_NAME \
        --format="get(address)" --global --project=$PROJECT_ID
  5. Buat layanan backend untuk NEG.
    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --global --project=$PROJECT_ID
  6. Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.

  7. Tambahkan NEG ke layanan backend.
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=REGION \
        --global --project=$PROJECT_ID

    Ganti kode berikut:

    • BACKEND_SERVICE_NAME: nama layanan backend.
    • NEG_NAME: nama grup endpoint jaringan.
    • REGION: region grup endpoint jaringan.
  8. Buat peta URL untuk load balancer.

    Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang Anda baru saja dibuat sebagai {i>default<i}.

    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=DEFAULT_BACKEND_SERVICE_NAME \
        --global --project=$PROJECT_ID

    Ganti kode berikut:

    • URL_MAP_NAME: nama untuk peta URL.
    • DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Setelan default digunakan saat tidak ada aturan host yang cocok dengan nama host yang diminta.
  9. Buat proxy HTTPS target.

    Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL untuk digunakan di Proxy target HTTPS. Anda dapat membuat resource sertifikat SSL menggunakan sertifikat Sertifikat SSL atau sertifikat SSL yang dikelola sendiri. Menggunakan sertifikat yang dikelola Google direkomendasikan karena Google Cloud mendapatkan, mengelola, dan memperpanjang sertifikat ini secara otomatis.

    Untuk membuat sertifikat yang dikelola Google, Anda harus memiliki domain.

    Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola Google:

    gcloud compute ssl-certificates create CERTIFICATE \
        --domains DOMAIN --project=$PROJECT_ID

    Ganti kode berikut:

    • CERTIFICATE: nama untuk sertifikat.
    • DOMAIN: nama domain load balancer Anda.

    Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan sertifikat lokal . Jika Anda perlu membuat file tersebut, lihat langkah 1 cara menggunakan sertifikat SSL yang dikelola sendiri.

    gcloud compute ssl-certificates create CERTIFICATE \
        --certificate LB_CERT \
        --private-key LB_PRIVATE_KEY --project=$PROJECT_ID

    Ganti kode berikut:

    • CERTIFICATE: nama untuk sertifikat.
    • LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
    • LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.

    Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.

    gcloud compute target-https-proxies create PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

    Ganti kode berikut:

    • PROXY_NAME: nama untuk proxy HTTPS target.
    • URL_MAP_NAME: nama peta URL.
    • CERTIFICATE: nama resource sertifikat.
  10. Buat aturan penerusan.
    gcloud compute forwarding-rules create FWD_RULE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=ADDRESS_NAME \
        --target-https-proxy=PROXY_NAME \
        --ports=443 \
        --global --project=$PROJECT_ID

    Ganti kode berikut:

    • FWD_RULE: nama untuk aturan penerusan.
    • ADDRESS_NAME: resource alamat IP yang Anda reservasi untuk digunakan bagi aturan penerusan.
    • PROXY_NAME: nama proxy HTTPS target.

LB eksternal regional

Mengonfigurasi load balancer HTTP(S) eksternal regional. Lihat juga Ringkasan load balancer HTTP(S) eksternal.

  1. Pastikan Anda telah menetapkan variabel di Menentukan variabel lingkungan.
  2. Buat subnet khusus proxy:
    gcloud compute networks subnets create SUBNET_NAME \
          --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \
          --region=$RUNTIME_LOCATION --network=NETWORK_NAME \
          --range=100.0.0.0/24 --project=$PROJECT_ID

    Ganti kode berikut:

    • SUBNET_NAME: nama subnet.
    • (Opsional) NETWORK_NAME: Nama jaringan tempat subnet dibuat. Jika Anda menghilangkan parameter ini, jaringan project digunakan.
  3. Dapatkan lampiran layanan dari instance yang Anda buat sebelumnya:

    Tidak ada residensi data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Residensi Data

    curl -i -X GET -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"

    Dalam contoh output berikut, nilai serviceAttachment ditunjukkan dalam huruf tebal:

    {
      "instances": [
        {
          "name": "us-west1",
          "location": "us-west1",
          "host": "10.82.192.2",
          "port": "443",
          "createdAt": "1645731488019",
          "lastModifiedAt": "1646504754219",
          "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek",
          "state": "ACTIVE",
          "peeringCidrRange": "SLASH_22",
          "runtimeVersion": "1-7-0-20220228-190814",
          "ipRange": "10.82.192.0/22,10.82.196.0/28",
          "consumerAcceptList": [
            "875609189304"
          ],
          "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7"
        }
      ]
    }
  4. Buat grup endpoint jaringan.
    gcloud compute network-endpoint-groups create NEG_NAME \
        --network-endpoint-type=private-service-connect \
        --psc-target-service=TARGET_SERVICE \
        --region=$RUNTIME_LOCATION --project=$PROJECT_ID

    Ganti kode berikut:

    • NEG_NAME: nama grup endpoint jaringan.
    • TARGET_SERVICE: nama lampiran layanan yang ingin Anda hubungkan. Contoh: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
  5. Buat layanan backend untuk NEG.
    gcloud compute backend-services create BACKEND_SERVICE_NAME \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --protocol=HTTPS \
      --region=$RUNTIME_LOCATION  \
      --project=$PROJECT_ID
  6. Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.

  7. Tambahkan NEG ke layanan backend.
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
      --network-endpoint-group=NEG_NAME \
      --region=$RUNTIME_LOCATION  \
      --project=$PROJECT_ID

    Ganti kode berikut:

    • BACKEND_SERVICE_NAME: nama layanan backend.
    • NEG_NAME: nama grup endpoint jaringan.
  8. Buat peta URL untuk load balancer.

    Peta URL harus merujuk ke layanan backend default. Tetapkan layanan backend yang Anda baru saja dibuat sebagai {i>default<i}.

    gcloud compute url-maps create URL_MAP_NAME \
      --default-service=DEFAULT_BACKEND_SERVICE_NAME \
      --region=$RUNTIME_LOCATION  \
      --project=$PROJECT_ID

    Ganti kode berikut:

    • URL_MAP_NAME: nama untuk peta URL.
    • DEFAULT_BACKEND_SERVICE_NAME: nama layanan backend default load balancer. Setelan default digunakan saat tidak ada aturan host yang cocok dengan nama host yang diminta.
  9. Buat proxy HTTPS target.

    Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL untuk digunakan di Proxy target HTTPS.

    Gunakan perintah ini untuk membuat resource sertifikat SSL yang dikelola sendiri. Untuk membuat sertifikat SSL yang dikelola sendiri, Anda memerlukan file kunci pribadi lokal dan sertifikat lokal . Jika Anda perlu membuat file tersebut, lihat langkah 1 cara menggunakan sertifikat SSL yang dikelola sendiri.

    gcloud compute ssl-certificates create CERTIFICATE \
      --certificate LB_CERT \
      --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \
      --project=$PROJECT_ID

    Ganti kode berikut:

    • CERTIFICATE: nama untuk sertifikat.
    • LB_CERT: jalur ke file sertifikat berformat PEM untuk sertifikat yang dikelola sendiri.
    • LB_PRIVATE_KEY: jalur ke file kunci pribadi berformat PEM untuk sertifikat yang dikelola sendiri.

    Gunakan resource sertifikat SSL untuk membuat proxy HTTPS target.

    gcloud compute target-https-proxies create PROXY_NAME \
      --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \
      --ssl-certificates=CERTIFICATE --project=$PROJECT_ID

    Ganti kode berikut:

    • PROXY_NAME: nama untuk proxy HTTPS target.
    • URL_MAP_NAME: nama peta URL.
    • CERTIFICATE: nama resource sertifikat.
  10. Mencadangkan alamat eksternal regional untuk load balancer. Perhatikan bahwa tingkat jaringan harus ditetapkan ke STANDARD.
    gcloud compute addresses create ADDRESS_NAME \
          --region=$RUNTIME_LOCATION --network-tier=STANDARD \
          --project=$PROJECT_ID

    Ganti ADDRESS_NAME dengan nama untuk resource alamat IP.

    Jalankan perintah ini untuk melihat alamat IP yang dicadangkan:

    gcloud compute addresses describe ADDRESS_NAME \
          --format="get(address)" --region=$RUNTIME_LOCATION \
          --project=$PROJECT_ID
  11. Membuat aturan penerusan.
    gcloud compute forwarding-rules create FWD_RULE \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --network-tier=STANDARD \
      --address=ADDRESS_NAME \
      --target-https-proxy=PROXY_NAME \
      --ports=443  --region=$RUNTIME_LOCATION \
      --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID

    Ganti kode berikut:

    • FWD_RULE: nama untuk aturan penerusan.
    • ADDRESS_NAME: resource alamat IP yang Anda reservasi untuk digunakan bagi aturan penerusan.
    • PROXY_NAME: nama proxy HTTPS target.

Penyediaan Apigee selesai. Buka Deploy a sample proxy.

Langkah 8: Deploy proxy contoh

  1. Unduh contoh proxy dari GitHub. Target proxy adalah httpbin.org, yang merupakan layanan permintaan dan respons publik yang umum digunakan.
  2. Upload paket proxy API ke runtime menggunakan Apigee API apis:

    Tidak ada residensi data

    curl -i -X POST -H "Authorization: Bearer $AUTH" \
        -H "Content-Type:multipart/form-data" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/apis?name=httpbin&action=import" \
        -F 'file=@PATH_TO_ZIP_FILE/httpbin_rev1_2020_02_02.zip'

    Residensi Data

    curl -i -X POST -H "Authorization: Bearer $AUTH" \
        -H "Content-Type:multipart/form-data" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/apis?name=httpbin&action=import" \
        -F 'file=@PATH_TO_ZIP_FILE/httpbin_rev1_2020_02_02.zip'

    Dengan PATH_TO_ZIP_FILE adalah jalur ke direktori yang berisi file ZIP yang didownload.

  3. Deploy Proxy API ke lingkungan yang Anda buat sebelumnya:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" -X POST \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENVIRONMENT_NAME/apis/httpbin/revisions/1/deployments"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" -X POST \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENVIRONMENT_NAME/apis/httpbin/revisions/1/deployments"
  4. Konfirmasi bahwa deployment berhasil diselesaikan dengan panggilan API ini:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENVIRONMENT_NAME/apis/httpbin/revisions/1/deployments"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENVIRONMENT_NAME/apis/httpbin/revisions/1/deployments"
  5. Panggil proxy API:

    Kirim permintaan ke proxy API dari mesin yang mendukung jaringan dengan dengan menjalankan perintah berikut:

    curl -i -H "Host: ENV_GROUP_HOSTNAME" \
        "https://ENV_GROUP_HOSTNAME/httpbin/headers"

    Jika perlu, Anda dapat menggunakan API ini untuk mendapatkan ENV_GROUP_HOSTNAME nilai:

    Tidak ada residensi data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"

    Residensi Data

    curl -i -H "Authorization: Bearer $AUTH" \
        "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"

    Jika Anda mendapatkan pesan error seperti ini: CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, centang untuk pastikan bahwa sertifikat SSL yang Anda buat sebelumnya telah disediakan. Gunakan perintah ini untuk memeriksa status penyediaan. Saat sertifikat disediakan, statusnya adalah ACTIVE.

    gcloud compute ssl-certificates describe CERTIFICATE \
        --global \
        --format="get(name,managed.status, managed.Status)"

    Setelah berhasil, proxy API contoh akan menampilkan respons yang serupa dengan ini:

    {
        "headers": {
          "Accept": "*/*",
          "Grpc-Trace-Bin": "AAD/8WC/I4AUSrMEch0E9yj+AYck1x9afwckAgA",
          "Host": "httpbin.org",
          "Traceparent": "00-fff160bf2380144ab304721d04f728fe-8724d71f5a7f0724-00",
          "User-Agent": "curl/7.77.0",
          "X-Amzn-Trace-Id": "Root=1-61d785ef-7613aa8a7fde7a910441fab9",
          "X-B3-Sampled": "0",
          "X-B3-Spanid": "8724d71f5a7f0724",
          "X-B3-Traceid": "fff160bf2380144ab304721d04f728fe",
          "X-Cloud-Trace-Context": "fff160bf2380144ab304721d04f728fe/9738144823944087332;o=0",
          "X-Envoy-Attempt-Count": "1"
        }
    }

Untuk informasi selengkapnya tentang penerapan proxy, termasuk informasi pemecahan masalah, lihat Men-deploy proxy API.