Menyediakan organisasi berbayar dengan peering VPC

Menyediakan organisasi berbayar dengan 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 dengan peering VPC. Langkah-langkah ini berlaku untuk model penetapan 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: 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 dengan menjalankan services enable berikut 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 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: 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 yaitu /22 dan /28. Bidang runtime Apigee diberi alamat IP dari dalam rentang CIDR ini. Akibatnya, itu penting bahwa rentang tersebut dicadangkan untuk Apigee dan tidak digunakan oleh aplikasi lain di jaringan VPC Anda. Untuk informasi lebih lanjut dan pertimbangan penting, lihat Memahami rentang peering.

Perlu diperhatikan bahwa Anda membuat rentang IP jaringan yang memadai untuk satu instance Apigee. Jika Anda berencana untuk membuat instance Apigee tambahan, Anda harus mengulangi langkah ini untuk setiap instance. Rentang sel 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 bisa memberi nama rentang ini 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, jadi 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

    Tempat --addresses memungkinkan Anda secara opsional menentukan rentang alamat IP. 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 Anda tidak memberikan parameter --addresses, gcloud memilih rentang alamat 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 IP tersebut dikaitkan dengan proyek 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 wajib diisi 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

    Tempat --addresses memungkinkan Anda secara opsional menentukan rentang alamat IP. 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 Anda tidak memberikan parameter --addresses, gcloud memilih rentang alamat 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 dapat memerlukan waktu beberapa menit hingga selesai. Jika berhasil, gcloud merespons dengan hal berikut, dengan OPERATION_ID adalah UUID 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 proyek 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

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"'",
        "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. 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.
      • authorizedNetwork: Mengidentifikasi jaringan peering yang Anda yang ditentukan dalam Mengonfigurasi jaringan layanan.
      • 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"'",
        "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. 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.
    • authorizedNetwork: Mengidentifikasi jaringan peering yang Anda yang ditentukan dalam Mengonfigurasi jaringan layanan.
    • 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 Apigee berhasil membuat organisasi baru, Anda akan menerima respons yang mirip dengan contoh berikut ini:

    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.