Mengonfigurasi Sinkronisasi

Bagian ini menjelaskan Sinkronisasi.

Ringkasan sinkronisasi

Dalam Apigee Hybrid, tugas utama Sinkronisasir adalah melakukan polling dan mendownload kontrak runtime yang disediakan oleh bidang pengelolaan. Informasi yang disampaikan melalui kontrak mencakup proxy API, produk API, cache, dan host virtual. Sinkronkanr secara default menyimpan data konfigurasi lingkungan dalam database Cassandra.

Instance sinkronisasi yang berjalan di bidang runtime diharapkan melakukan polling pada bidang pengelolaan secara rutin, mendownload kontrak, dan menyediakannya untuk instance runtime lokal.

Satu Sinkronkan dapat mendukung banyak Pemroses Pesan yang di-deploy di pod yang sama.

Aktifkan akses Sinkronisasi

Anda harus memberikan izin Synchronizer untuk menghapus artefak Apigee, seperti paket proxy dan resource dari bidang pengelolaan. Anda harus memanggil Apigee API untuk mengizinkan Synchronizer mengambil artefak dari bidang pengelolaan ke bidang runtime.

  1. Pastikan Anda telah mengaktifkan Apigee API seperti yang dijelaskan dalam langkah-langkah penyiapan Google Cloud. Untuk mengetahui detailnya, lihat Mengaktifkan API.
  2. Cari kunci akun layanan Google Cloud yang mendukung penulisan (file JSON) yang Anda download sebagai bagian dari Membuat akun layanan dan kredensial. Akun layanan memiliki peran Apigee Org Admin dan bernama "apigee-org-admin". Jika belum pernah membuat akun layanan ini, Anda harus melakukannya sebelum melanjutkan.
  3. Gunakan kunci akun layanan Admin Org Apigee untuk membuat token akses OAuth 2.0. Token ini diperlukan untuk mengautentikasi Apigee API.

    Gunakan gcloud untuk mendapatkan token akses OAuth 2.0, dengan meneruskan file JSON kredensial akun layanan yang Anda download menggunakan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
    gcloud auth application-default print-access-token

    Token OAuth2.0 ditampilkan.

    Untuk mengetahui informasi lebih lanjut, lihat gcloud beta auth application-default print-access-token.

  4. Salin token OAuth 2.0 yang ditampilkan dan simpan dalam variabel, seperti TOKEN. Contoh:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. Panggil setSyncAuthorization API untuk mengaktifkan izin yang diperlukan untuk Synchronizer:

    Tidak ada residensi data

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/YOUR_ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME"]}'
    

    Dengan keterangan:

    • YOUR_ORG_NAME: Nama organisasi campuran.
    • SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME: Nama akun layanan dengan peran Apigee Synchronizer Manager. Nama dibentuk seperti alamat email. Contoh: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Contoh:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Residensi Data

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/YOUR_ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME"]}'
    

    Dengan keterangan:

    • YOUR_ORG_NAME: Nama organisasi campuran.
    • CONTROL_PLANE_LOCATION: Lokasi untuk data bidang kontrol jika penginstalan hybrid menggunakan residensi data. Di sini, konten inti pelanggan seperti paket proxy disimpan. Untuk mengetahui daftarnya, lihat Region bidang kontrol Apigee API yang tersedia.
    • SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME: Nama akun layanan dengan peran Apigee Synchronizer Manager. Nama dibentuk seperti alamat email. Contoh: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Contoh:

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://us-apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Untuk informasi selengkapnya tentang API ini, lihat setSyncAuthorization API.

  6. Untuk memverifikasi bahwa akun layanan telah ditetapkan, panggil API berikut untuk mendapatkan daftar akun layanan:

    Tidak ada residensi data

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    Residensi Data

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    Outputnya terlihat mirip dengan yang berikut ini:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }