Mengonfigurasi dan men-deploy lingkungan

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Lingkungan adalah konteks eksekusi runtime untuk proxy API dan alur bersama yang ingin Anda deploy. Anda harus men-deploy proxy API dan alur bersama ke satu atau beberapa lingkungan sebelum dapat diakses untuk pengujian. Untuk mengetahui informasi selengkapnya tentang lingkungan, lihat Tentang lingkungan dan grup lingkungan.

Konfigurasi dan deploy lingkungan seperti yang dijelaskan di bagian berikut. Lihat juga Mengelola folder dan file di ruang kerja Apigee.

Mengonfigurasi lingkungan

Sebelum men-deploy lingkungan, Anda harus mengonfigurasinya untuk mengidentifikasi proxy API dan alur bersama yang ingin di-deploy, serta mengonfigurasi hook alur atau server target bersama, sesuai kebutuhan.

Untuk mengonfigurasi lingkungan, buat lingkungan dan edit konfigurasi yang ditentukan dalam tabel berikut.

Konfigurasi Deskripsi
Debug mask (debugmasks.json) Tentukan konfigurasi mask untuk menyamarkan data tertentu dalam sesi rekaman aktivitas dan debug.
Deployment (deployments.json) Menentukan proxy API dan alur bersama dalam deployment Anda.
Hook flow (flowhooks.json) Pasang alur bersama ke flow hook sehingga keduanya berjalan di tempat yang sama untuk semua proxy API yang di-deploy ke lingkungan.
Server target (targetservers.json) Pisahkan endpoint konkret Anda dari endpoint target untuk mendukung load balancing dan failover di beberapa instance server backend.
Store utama (keystores.json) Tambahkan dukungan TLS ke endpoint target dan server target Anda.

Selain itu, jika menggunakan kebijakan yang memerlukan resource, Anda dapat mengelola resource di tingkat lingkungan sesuai kebutuhan.

Membuat lingkungan

Untuk membuat lingkungan di Apigee pada Cloud Code:

  1. Lakukan salah satu tindakan berikut:

    • Posisikan kursor di atas folder environments di bagian Apigee, lalu klik Buat ikon.

      + ditampilkan saat Anda memosisikan kursor di atas folder lingkungan

    • Pilih View > Command Palette untuk membuka palet Command, lalu pilih Cloud Code: Create Apigee environment.

    Wizard Buat lingkungan akan terbuka.

  2. Masukkan nama untuk lingkungan dan tekan Enter.

Lingkungan tersebut ditambahkan ke folder environments di bagian Apigee, seperti ditunjukkan dalam gambar berikut.

Folder lingkungan dengan file deployment.json, flowhooks.json, dan targetservers.json

Konfigurasikan lingkungan tersebut, seperti yang dijelaskan di bagian berikut.

Mengonfigurasi mask debug (debugmask.json)

Apigee memungkinkan Anda menentukan konfigurasi mask untuk menyamarkan data tertentu dalam sesi rekaman aktivitas dan debug. Jika disembunyikan, data akan diganti dengan tanda bintang di output rekaman aktivitas. Contoh:

<description>**********</description>

Untuk informasi selengkapnya, lihat Menyamarkan data sensitif.

Untuk mengonfigurasi mask debug, perbarui file debugmask.json dengan mengedit file secara langsung.

Berikut ini contoh struktur dasar konfigurasi mask dalam format JSON. Untuk mengetahui informasi selengkapnya tentang kolom konfigurasi mask yang ditampilkan dalam contoh, lihat DebugMask.

{
  "namespaces": {
    "myco": "https://example.com"
  },
  "requestXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "responseXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "faultXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "requestJSONPaths": [
    "$.store.book[].author"
  ],
  "responseJSONPaths": [
    "$.store.book[].author"
  ],
  "faultJSONPaths": [
    "$.store.book[*].author"
  ],
  "variables": [
    "request.header.user-agent",
    "request.formparam.password"
  ]
}

Mengonfigurasi deployment (deployments.json)

Konfigurasikan proxy API dan alur bersama yang ingin Anda sertakan dalam deployment.

Untuk mengonfigurasi deployment, perbarui file deployments.json menggunakan wizard konfigurasi (dijelaskan di bawah) atau dengan mengedit file secara langsung.

Untuk mengonfigurasi deployment menggunakan wizard konfigurasi:

  1. Posisikan kursor di atas file deployments.json untuk lingkungan, lalu klik Ikon wizard.

    ikon setelan ditampilkan saat Anda menempatkan kursor di atas folder deployment.json

  2. Ikuti seluruh wizard konfigurasi untuk memilih deployment dan mengisi kolom secara otomatis di file deployments.json.
    File deployments.json akan dibuka di editor.

  3. Edit konfigurasi sesuai kebutuhan.

  4. Pilih File > Simpan atau ⌘S untuk menyimpan hasil edit.

Contoh berikut mengonfigurasi deployment untuk menyertakan proxy API helloworld serta alur bersama mysharedflow dan hw-sharedflow:

{
  "proxies" : [
     "helloworld"
  ],
  "sharedflows" : [
     "mysharedflow",
     "hw-sharedflow"
  ]
}

Mengonfigurasi akun layanan dengan deployment alur bersama dan proxy

Proxy API yang bergantung pada layanan Google sebagai backend mungkin memerlukan akun layanan cloud Google untuk dikaitkan dengan deployment. Lihat Menggunakan autentikasi Google.

Saat mengedit file deployments.json, Anda dapat mengaitkan proxy API atau alur bersama dengan akun layanan Google Cloud. Contoh:

{
  "name": "proxy-name",
  "serviceAccount": "associated-service-account"
}

Contoh berikut menunjukkan konfigurasi deployment tempat akun layanan dikaitkan dengan proxy API helloworld dan alur bersama mysharedflow, tetapi proxy healthcheck dan alur bersama hw-sharedflow tidak dikaitkan dengan akun layanan:

{
  "proxies": [
    {
      "name": "helloworld",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "healthcheck"
  ],
  "sharedflows": [
    {
      "name": "mysharedflow",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "hw-sharedflow"
  ]
}

Pelajari lebih lanjut cara mengonfigurasi Emulator Apigee untuk menguji fitur autentikasi akun layanan di proxy API Anda.

Melampirkan flow bersama menggunakan flow hook (flowhooks.json)

Dengan flow hook, Anda melampirkan alur bersama sehingga dijalankan di tempat yang sama untuk semua proxy API yang di-deploy ke lingkungan tertentu. Ini memberi Anda urutan logika yang diterapkan secara terpisah dan di-deploy yang bukan bagian dari kode implementasi proxy API. Secara khusus, Anda dapat melampirkan alur bersama di lokasi berikut dalam alur proxy API:

  • Sebelum endpoint proxy API dieksekusi (PreProxyFlowHook)
  • Setelah endpoint proxy API dieksekusi dan tepat sebelum respons dikirim ke klien (PostProxyFlowHook)
  • Sebelum endpoint target dieksekusi (PreTargetFlowHook)
  • Setelah respons target dieksekusi (PostTargetFlowHook)

Untuk informasi selengkapnya tentang flow hook, lihat Melampirkan alur bersama menggunakan flow hook.

Untuk melampirkan alur bersama menggunakan flow hook, perbarui file flowhooks.json menggunakan wizard konfigurasi (dijelaskan di bawah) atau dengan mengedit file secara langsung.

Untuk mengonfigurasi deployment menggunakan wizard konfigurasi:

  1. Posisikan kursor di atas file flowhooks.json untuk lingkungan, lalu klik Ikon wizard.
  2. Ikuti seluruh wizard konfigurasi untuk memilih alur bersama yang akan dilampirkan di lokasi tertentu dalam alur proxy API dan mengisi kolom secara otomatis dalam file flowhooks.json.
    File flowhooks.json akan dibuka di editor.
  3. Edit konfigurasi sesuai kebutuhan.
  4. Pilih File > Simpan atau ⌘S untuk menyimpan hasil edit.

Contoh berikut melampirkan mysharedflow ke PreProxyFlowHook sehingga akan dieksekusi sebelum endpoint proxy API dieksekusi:

{
  "PreProxyFlowHook": {
    "continueOnError": true,
    "sharedFlow": "mysharedflow",
    "description": "Shared enforced before a proxy endpoint executes."
  }  
}

Mengonfigurasi server target (targetservers.json)

Server target (TargetServers) memisahkan URL endpoint konkret dari konfigurasi endpoint target (TargetEndpoint). Alih-alih menetapkan URL konkret dalam konfigurasi, Anda dapat mengonfigurasi satu atau beberapa TargetServers yang bernama. Kemudian, rujuk setiap TargetServer dengan nama di HTTPConnection TargetEndpoint.

Untuk informasi lebih lanjut tentang server target, lihat topik berikut:

Untuk mengonfigurasi server target, perbarui file targetservers.json menggunakan wizard konfigurasi (dijelaskan di bawah) atau dengan mengedit file secara langsung. Untuk deskripsi kolom dalam file targetservers.json, lihat Resource: TargetServer.

Untuk mengonfigurasi server target menggunakan wizard konfigurasi:

  1. Posisikan kursor di atas file targetservers.json untuk lingkungan, lalu klik Ikon wizard.
  2. Ikuti langkah-langkah di wizard konfigurasi untuk mengonfigurasi server target dan mengisi kolom secara otomatis dalam file targetservers.json. File targetservers.json dibuka di editor.
  3. Edit konfigurasi sesuai kebutuhan.
  4. Pilih File > Simpan atau ⌘S untuk menyimpan hasil edit.

Contoh berikut menambahkan server target baru di lingkungan:

[
  {
    "enabled": true,
    "description": "My first target server",
    "name": "mytargetserver",
    "host": "localhost",
    "port": 80
  }
]

Contoh berikut mengonfigurasi server target dengan TLS bersama menggunakan keystores:

[
    {
        "name": "mtlsserver",
        "host": "mytargetserver.mydomain",
        "port": 443,
        "enabled": true,
        "protocol": "HTTP",
        "tlsInfo": {
            "enabled": true,
            "clientAuthEnabled": true,
            "keyStore": "mykeystore",
            "keyAlias": "mykeyandcert",
            "trustStore": "mytruststore"
        }
    }
]

Mengonfigurasi keystore (keystores.json)

Keystore menentukan repositori sertifikat keamanan yang digunakan untuk enkripsi TLS di endpoint target dan server target.

Untuk informasi selengkapnya tentang konfigurasi TLS, lihat Opsi untuk mengonfigurasi TLS.

Untuk mengonfigurasi keystore:

  1. Buka file keystores.json untuk lingkungan di editor. File tersebut memiliki dua elemen utama
    • stores - Peta nama keystore dan alias yang ditambahkan.
    • references - Peta dari semua nama referensi keystore dan nama keystore yang terkait.
  2. Edit konfigurasi sesuai kebutuhan.
  3. Pilih File > Simpan atau ⌘S untuk menyimpan hasil edit.

Contoh berikut menunjukkan keystore mykeystore dengan dua alias, mycert-alias dan mykeycert-alias:

{
    "stores": {
      "mykeystore": {
        "my-cert-alias": {
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        },
        "my-keycert-alias": {
          "key": "/Users/jdoe/testkeys/key1.pem",
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        }
      }
    }
  }

Men-deploy lingkungan

Deploy proxy API dan alur bersama Anda yang dikonfigurasi untuk lingkungan agar dapat diakses untuk pengujian.

Untuk men-deploy lingkungan:

  1. Di bagian Apigee, posisikan kursor di atas folder lingkungan yang ingin Anda deploy.
  2. Klik Ikon deploy.

    Ikon deploy ditampilkan saat Anda mengarahkan kursor ke folder lingkungan pengembangan

  3. Jika beberapa container untuk Emulator Apigee berjalan, pilih container tempat Anda ingin men-deploy lingkungan.
  4. Pilih paket pengujian yang ingin diekspor dengan deployment atau pilih Deploy tanpa paket pengujian.

    Perintah untuk mengekspor paket pengujian

    Anda dapat mengekspor resource pengujian nanti, seperti yang dijelaskan dalam Mengekspor resource pengujian ke Emulator Apigee.

Lingkungan di-deploy dan informasi berikut ditampilkan di tab Output:

Environment dev deployed successfully with revision 7

Aplikasi yang di-deploy ditampilkan di Emulator Apigee, seperti yang ditunjukkan di bawah.

Emulator Apigee menunjukkan aplikasi helloworld yang di-deploy dan resource pengujian aktif

Langkah berikutnya

Sekarang saatnya menguji API Anda.