Menyediakan organisasi berbayar dengan peering VPC

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

Baca dokumentasi Apigee Edge.

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

Ringkasan langkah-langkah

Langkah-langkah penyediaannya adalah sebagai berikut:

Langkah 1: Tentukan variabel lingkungan

Siapkan gcloud dan tentukan variabel lingkungan untuk digunakan di 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 Melakukan inisialisasi gcloud CLI, atau pastikan bahwa project Google Cloud yang Anda buat dalam Prasyarat adalah project default untuk gcloud.
  4. Tentukan variabel lingkungan berikut di terminal perintah Anda. Pilih tab yang sesuai dengan jenis organisasi yang Anda perlukan: 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 Apigee API. Perlu diperhatikan bahwa masa berlaku token telah berakhir setelah jangka waktu tertentu dan jika token sudah habis masa berlakunya, Anda cukup membuatnya kembali menggunakan perintah yang sama. Untuk mengetahui 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 dari Prasyarat.
    • RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang akan Anda buat nanti berada. Untuk daftar lokasi runtime yang tersedia, lihat Lokasi Apigee.

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

      RUNTIME_LOCATION dan ANALYTICS_REGION dapat 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 Apigee API. Perlu diperhatikan bahwa masa berlaku token telah berakhir setelah jangka waktu tertentu dan jika token sudah habis masa berlakunya, Anda cukup membuatnya kembali menggunakan perintah yang sama. Untuk mengetahui 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 dari Prasyarat.
    • RUNTIME_LOCATION adalah lokasi fisik tempat instance Apigee yang akan Anda buat nanti berada. Untuk 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 mengetahui 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 menjalankan nilai yang baru saja Anda tetapkan. Perhatikan bahwa jika Anda ingin 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: Mengaktifkan API

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

    gcloud services enable apigee.googleapis.com \
        servicenetworking.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 diaktifkan:

    gcloud services list

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

Langkah 3: Buat identitas layanan Apigee

  1. Buat identitas layanan Apigee:

    gcloud beta services identity create --service=apigee.googleapis.com \
      --project=$PROJECT_ID
  2. Verifikasi bahwa agen berhasil dibuat. Respons akan 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: Konfigurasi jaringan layanan

Pada langkah ini, Anda mengalokasikan sepasang Rentang Alamat IP (rentang CIDR /22 dan /28) ke Apigee dan melakukan peering VPC antara jaringan Anda dan jaringan Apigee. Setiap instance Apigee memerlukan rentang CIDR yang tidak tumpang-tindih antara /22 dan /28. Bidang runtime Apigee diberi alamat IP dari dalam rentang CIDR ini. Oleh karena itu, rentang ini harus dicadangkan untuk Apigee dan tidak digunakan oleh aplikasi lain di jaringan VPC Anda. Untuk informasi selengkapnya dan pertimbangan penting, lihat Memahami rentang peering.

Perlu diperhatikan bahwa Anda membuat rentang IP jaringan yang memadai untuk satu instance Apigee. Jika Anda berencana membuat instance Apigee tambahan, Anda harus mengulangi langkah ini untuk setiap instance. Rentang tidak dapat dibagikan antar-instance. Lihat juga Memperluas Apigee ke beberapa region.

  1. Buat variabel lingkungan berikut:
    RANGE_NAME=YOUR_RANGE_NAME
    NETWORK_NAME=YOUR_NETWORK_NAME
    

    Dengan keterangan:

    • RANGE_NAME adalah nama rentang alamat IP yang Anda buat. Anda dapat memberi nama rentang apa pun sesuai keinginan. Contoh: google-svcs
    • NETWORK_NAME adalah nama resource jaringan tempat alamat harus dicadangkan.

      Google membuat jaringan default (bernama default) untuk setiap project baru sehingga Anda dapat menggunakannya. Namun, Google tidak merekomendasikan penggunaan jaringan default untuk hal apa pun selain pengujian.

  2. Buat rentang IP jaringan dengan panjang CIDR /22:
    gcloud compute addresses create $RANGE_NAME \
      --global \
      --prefix-length=22 \
      --description="Peering range for Apigee services" \
      --network=$NETWORK_NAME \
      --purpose=VPC_PEERING \
      --addresses=OPTIONAL_ADDRESSES \
      --project=$PROJECT_ID

    --addresses memungkinkan Anda menentukan rentang alamat secara opsional. Misalnya, untuk mengalokasikan blok CIDR 192.168.0.0/22, tentukan 192.168.0.0 untuk alamat dan 22 untuk panjang awalan. Lihat juga Membuat alokasi IP.

    Jika parameter --addresses tidak diberikan, gcloud akan memilih rentang alamat IP yang tersedia untuk Anda.

    Jika berhasil, gcloud akan merespons dengan hal berikut:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].

    Setelah Anda membuat rentang alamat IP, alamat tersebut akan dikaitkan dengan project sampai Anda melepaskannya.

  3. Pastikan rentang IP jaringan telah dibuat dengan panjang CIDR /22:
    gcloud compute addresses list --global --project=$PROJECT_ID
    gcloud compute addresses describe $RANGE_NAME --global --project=$PROJECT_ID
  4. Buat rentang IP jaringan dengan panjang CIDR /28. Rentang ini diperlukan dan digunakan oleh Apigee untuk tujuan pemecahan masalah dan tidak dapat disesuaikan atau diubah.
    gcloud compute addresses create google-managed-services-support-1 \
      --global \
      --prefix-length=28 \
      --description="Peering range for supporting Apigee services" \
      --network=$NETWORK_NAME \
      --purpose=VPC_PEERING \
      --addresses=OPTIONAL_ADDRESSES \
      --project=$PROJECT_ID

    --addresses memungkinkan Anda menentukan rentang alamat secara opsional. Misalnya, untuk mengalokasikan blok CIDR 192.168.0.0/28, tentukan 192.168.0.0 untuk alamat dan 28 untuk panjang awalan. Lihat juga Membuat alokasi IP.

    Jika parameter --addresses tidak diberikan, gcloud akan memilih rentang alamat IP yang tersedia untuk Anda.

  5. Pastikan rentang IP jaringan telah dibuat dengan panjang CIDR /28:
    gcloud compute addresses list --global --project=$PROJECT_ID
    gcloud compute addresses describe google-managed-services-support-1 --global \
      --project=$PROJECT_ID
  6. Hubungkan layanan Anda ke jaringan menggunakan perintah berikut:
    gcloud services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=$NETWORK_NAME \
      --ranges=$RANGE_NAME,google-managed-services-support-1 \
      --project=$PROJECT_ID

    Operasi ini bisa memakan waktu beberapa menit sampai selesai. Jika berhasil, gcloud akan merespons dengan kode berikut, dengan OPERATION_ID adalah UUID dari LRO.

    Operation "operations/OPERATION_ID" finished successfully.
  7. Apigee membuat koneksi antara jaringan Anda dan layanan Google; secara khusus, Apigee menghubungkan project Anda ke Service Networking API melalui peering VPC. Apigee juga mengaitkan alamat IP dengan project Anda.

  8. Setelah beberapa menit, verifikasi apakah peering VPC berhasil:
    gcloud services vpc-peerings list \
      --network=$NETWORK_NAME \
      --service=servicenetworking.googleapis.com \
      --project=$PROJECT_ID

Langkah 5: Buat organisasi

Agar dapat membuat organisasi, Anda harus membuat key ring dan kunci enkripsi database runtime (lihat langkah 1) dan, jika Anda menggunakan residensi data, kunci dan key ring enkripsi bidang kontrol (lihat langkah 2). Kunci Cloud KMS ini mengenkripsi data yang disimpan dan direplikasi di seluruh lokasi runtime dan bidang kontrol. Apigee menggunakan entity ini untuk mengenkripsi data aplikasi seperti KVM, cache, dan rahasia klien, yang kemudian disimpan dalam database. Untuk mengetahui informasi selengkapnya, lihat Tentang kunci enkripsi Apigee.

  1. Membuat kunci dan key ring enkripsi database runtime.

    1. Tentukan variabel lingkungan untuk lokasi lingkaran dan kunci enkripsi database runtime Anda. Hal ini membantu memastikan konsistensi saat Anda membuatnya dan memudahkan Anda untuk mengikuti dokumentasi.

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

      Satu region

      Single region configuration (di mana Anda hanya memiliki satu instance dalam satu region): Pilih dari lokasi regional KMS yang didukung.

      Contoh:

      RUNTIMEDBKEY_LOCATION="us-west1"

      Nilainya bisa sama dengan $RUNTIME_LOCATION Anda (juga region), tetapi tidak harus demikian. Namun, mungkin ada manfaat performa jika keduanya sama.

      Multi-region

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

      Contoh:

      RUNTIMEDBKEY_LOCATION="us"

      Jika Anda memiliki konfigurasi multi-region di AS, sebaiknya 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, nama tersebut tidak boleh sama dengan nama key ring lainnya.

      RUNTIMEDB_KEY_RING_NAME=YOUR_DB_KEY_RING_NAME
      RUNTIMEDB_KEY_NAME=YOUR_DB_KEY_NAME
    3. (Opsional) Periksa pekerjaan Anda dengan menjalankan nilai yang baru saja Anda tetapkan. Ingat bahwa jika Anda ingin menggunakan variabel dalam perintah Anda, awali nama variabel dengan tanda dolar ($).
      echo $RUNTIMEDBKEY_LOCATION
      echo $RUNTIMEDB_KEY_RING_NAME
      echo $RUNTIMEDB_KEY_NAME
    4. Buat 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 lokasi Cloud KMS 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 (serupa 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 dalam perintah selanjutnya:

      RUNTIMEDB_KEY_ID=YOUR_RUNTIMEDB_KEY_ID
    7. Berikan akses kepada Agen Layanan Apigee agar 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 akan merespons dengan sesuatu yang mirip dengan berikut:

      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 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 alamat email akun layanan.

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

    1. Tentukan variabel lingkungan untuk lokasi lingkaran 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 mengetahui 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. Buat 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 (serupa 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 dalam perintah selanjutnya:
      CONTROL_PLANE_KEY_ID=YOUR_CONTROL_PLANE_KEY_ID
      
      CONSUMER_DATA_KEY_ID=YOUR_CONSUMER_DATA_KEY_ID
    6. Berikan akses kepada Agen Layanan Apigee untuk 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 menyelesaikan permintaan ini, gcloud akan 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 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 alamat email akun layanan.

    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"'",
        "authorizedNetwork":"'"$NETWORK_NAME"'",
        "runtimeDatabaseEncryptionKeyName":"'"$RUNTIMEDB_KEY_ID"'"
      }'

    Dengan keterangan:

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

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

      • runtimeType: Tetapkan nilai ini ke CLOUD.
      • billingType: Menentukan jenis penagihan organisasi yang dibuat.
      • authorizedNetwork: Mengidentifikasi jaringan peering yang Anda tentukan dalam Mengonfigurasi jaringan layanan.
      • runtimeDatabaseEncryptionKeyName: ID kunci enkripsi aplikasi yang Anda buat di langkah sebelumnya. Ingat kembali 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"'",
        "authorizedNetwork":"'"$NETWORK_NAME"'",
        "runtimeDatabaseEncryptionKeyName":"'"$RUNTIMEDB_KEY_ID"'"
      }'

    Dengan keterangan:

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

    • name: Mengidentifikasi organisasi baru Anda. Nama ini harus sama dengan nama project ID Anda.
    • runtimeType: Tetapkan nilai ini ke CLOUD.
    • billingType: Menentukan jenis penagihan organisasi yang dibuat.
    • controlPlaneEncryptionKeyName: Adalah ID kunci bidang kontrol Anda.
    • apiConsumerDataLocation: Anda juga harus menentukan sub-wilayah untuk digunakan oleh resource internal. Lihat Wilayah residensi data untuk nilai yang didukung.
    • apiConsumerDataEncryptionKeyName: Apakah ID kunci region data konsumen Anda.
    • authorizedNetwork: Mengidentifikasi jaringan peering yang Anda tentukan dalam Mengonfigurasi jaringan layanan.
    • runtimeDatabaseEncryptionKeyName: ID kunci enkripsi aplikasi yang Anda buat di langkah sebelumnya. Ingat kembali bahwa ID terstruktur seperti jalur file. Contoh:
      projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key

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

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

    "'"$PROJECT_ID"'"

    Jika menggunakan string biasa (bukan variabel lingkungan) untuk nilai permintaan, Anda dapat menggabungkannya dalam tanda kutip ganda dalam string payload dengan tanda kutip 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 List organizations API Apigee, seperti yang ditunjukkan 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 Apigee berhasil membuat organisasi baru, Anda akan menerima respons seperti berikut:

    Tidak ada residensi data

    {
      "name": "my-cloud-project",
      "createdAt": "1592586495539",
      "lastModifiedAt": "1592586495539",
      "environments": [],
      "properties": {
        "property": [
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          },
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-west1",
      "runtimeType": "CLOUD",
      "subscriptionType": "PAID",
      "caCertificate": "YOUR_CERTIFICATE",
      "authorizedNetwork": "my-network",
      "projectId": "my-cloud-project"
    }

    Residensi Data

      {
        "name": "my-cloud-project",
        "createdAt": "1681412783749",
        "lastModifiedAt": "1681412783749",
        "environments": [
          "test-env"
        ],
        "properties": {
          "property": [
            {
              "name": "features.mart.connect.enabled",
              "value": "true"
            },
            {
              "name": "features.hybrid.enabled",
              "value": "true"
            }
          ]
        },
        "authorizedNetwork": "default",
        "runtimeType": "CLOUD",
        "subscriptionType": "PAID",
        "caCertificate": "YOUR_CERTIFICATE",
        "runtimeDatabaseEncryptionKeyName": "projects/my-cloud-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key-name",
        "projectId": "my-cloud-project",
        "state": "ACTIVE",
        "billingType": "PAYG",
        "addonsConfig": {
          "advancedApiOpsConfig": {},
          "integrationConfig": {},
          "monetizationConfig": {},
          "connectorsPlatformConfig": {}
        },
        "apiConsumerDataEncryptionKeyName": "projects/my-cloud-project/locations/us-central1/keyRings/my-key-ring/cryptoKeys/my-key-name",
        "controlPlaneEncryptionKeyName": "projects/my-cloud-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key-name",
        "apiConsumerDataLocation": "us-central1",
        "apigeeProjectId": "i0c2a37e80f9850ab-tp"
      }
    
    

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