Menggunakan jaringan VPC bersama

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

Lihat Dokumentasi Apigee Edge.

Dokumen ini menjelaskan cara mengonfigurasi host Virtual Private Cloud (VPC) Bersama dan melampirkan memisahkan project layanan target Apigee dan backend. Jaringan VPC Bersama memungkinkan Anda menerapkan model infrastruktur jaringan dengan Google Cloud. Anda dapat menggunakan satu jaringan VPC dalam project host untuk menghubungkan resource dari beberapa project layanan.

Manfaat VPC Bersama

Runtime Apigee (yang berjalan di VPC yang dikelola Google) di-peering dengan VPC milik Anda. Di beberapa topologi ini, endpoint runtime Apigee dapat berkomunikasi dengan jaringan VPC Anda, seperti dalam diagram berikut:

Dibagikan
VPC dengan backend internal di VPC project lain

Lihat juga Arsitektur Apigee ringkasan.

Dalam banyak skenario, topologi yang dijelaskan di atas terlalu sederhana, karena jaringan VPC sebagai bagian dari satu project Google Cloud, dan banyak organisasi ingin mengikuti praktik terbaik untuk hierarki resource dan memisahkan infrastrukturnya menjadi beberapa project secara terprogram. Bayangkan topologi jaringan tempat kita memiliki project tenant Apigee yang di-peering ke Jaringan VPC seperti sebelumnya, tetapi memiliki backend internal yang berada di VPC project lain. Seperti yang ditunjukkan dalam diagram ini:

Dibagikan
VPC dengan backend internal di VPC project lain

Jika Anda melakukan peering VPC Apigee ke VPC Backend, seperti yang ditunjukkan dalam diagram, maka backend dapat dijangkau dari jaringan VPC Apigee Anda dan sebaliknya, karena peering jaringan bersifat simetris. Namun, project tenant Apigee hanya dapat berkomunikasi dengan VPC Apigee, karena peering bukan transitif, seperti yang dijelaskan dalam dokumentasi peering VPC. Agar dapat berfungsi, Anda dapat men-deploy proxy tambahan di VPC Apigee untuk meneruskan traffic di seluruh link peering ke VPC backend; Namun, pendekatan ini menambah biaya overhead dan pemeliharaan.

VPC Bersama menawarkan solusi untuk masalah yang dijelaskan di atas. VPC Bersama memungkinkan Anda membuat konektivitas antara runtime Apigee dan backend yang berada di platform Google Project cloud di organisasi yang sama tanpa komponen jaringan tambahan.

Mengonfigurasi VPC Bersama dengan Apigee

Bagian ini menjelaskan cara melampirkan project layanan VPC Apigee ke host VPC Bersama. Subnet yang ditentukan dalam project host akan dibagikan dengan project layanan. Di bagian selanjutnya, kami akan menjelaskan cara membuat subnet kedua untuk layanan backend yang di-deploy dalam project layanan VPC kedua. Diagram berikut menunjukkan arsitektur yang dihasilkan:

VPC Bersama
ringkasan arsitektur

Apigee menyediakan skrip penyediaan untuk menyederhanakan pembuatan topologi yang diperlukan. Ikuti langkah-langkah di bagian ini untuk mendownload dan menggunakan skrip penyediaan Apigee dengan VPC Bersama.

Prasyarat

  1. Tinjau konsep yang dibahas dalam ringkasan VPC Bersama. Penting untuk memahami konsep project host dan project layanan.
  2. Buat project Google Cloud baru yang dapat Anda konfigurasi untuk VPC Bersama. Project ini adalah project host. Lihat Membuat dan mengelola project.
  3. Ikuti langkah-langkahnya di Menyediakan VPC Bersama untuk menyediakan project VPC Bersama. Anda harus menjadi admin organisasi atau diberi akses peran Manajemen Akses dan Identitas (IAM) administratif yang sesuai untuk memungkinkan project host untuk VPC Bersama.
  4. Buat project Google Cloud kedua. Project ini adalah project layanan. Kemudian, Anda akan melampirkannya ke project host.

Mendownload skrip

Apigee menyediakan skrip penyediaan untuk menyederhanakan pembuatan topologi yang diperlukan. Anda perlu untuk mengambil skrip dari GitHub:

  1. Clone project GitHub yang berisi skrip:
    git clone https://github.com/apigee/devrel.git
  2. Buka direktori berikut pada project:
    cd devrel/tools/apigee-x-trial-provision
  3. Tetapkan variabel lingkungan berikut:
    export HOST_PROJECT=HOST_PROJECT_ID
    export SERVICE_PROJECT=SERVICE_PROJECT_ID

    Dengan keterangan:

    • HOST_PROJECT_ID adalah project ID dari project host VPC Bersama yang Anda buat sebagai salah satu prasyarat.
    • SERVICE_PROJECT_ID adalah project ID dari project layanan Google Cloud yang Anda buat di prasyaratnya.

Mengonfigurasi project host

  1. Tetapkan variabel lingkungan berikut:
  2. export NETWORK=YOUR_SHARED_VPC
    export SUBNET=YOUR_SHARED_SUBNET
    export PEERING_CIDR=CIDR_BLOCK

    Dengan keterangan:

    • YOUR_SHARED_VPC adalah nama jaringan VPC Bersama Anda.
    • YOUR_SHARED_SUBNET adalah nama subnet VPC Bersama Anda.
    • CIDR_BLOCK adalah blok CIDR untuk Apigee Jaringan VPC. Contoh: 10.111.0.0/23.
  3. Untuk mengonfigurasi firewall dan peering VPC Apigee, jalankan skrip dengan opsi berikut:
    ./apigee-x-trial-provision.sh \
        -p $HOST_PROJECT --shared-vpc-host-config --peering-cidr $PEERING_CIDR

    Skrip mengonfigurasi project host; {i>output<i} Anda akan terlihat seperti berikut ini, dengan NETWORK dan SUBNET merepresentasikan pada project host:

    export NETWORK=projects/$HOST_PROJECT/global/networks/$NETWORK
    export SUBNET=projects/$HOST_PROJECT/regions/us-west1/subnetworks/$SUBNET
  4. Ekspor variabel yang ditampilkan dalam output.

Mengonfigurasi project layanan

Pada langkah ini, Anda akan mengonfigurasi project layanan. Ketika skrip selesai, skrip itu membuat dan men-deploy contoh proxy API di lingkungan Apigee yang dapat Anda gunakan untuk menguji penyediaan.

  1. Jalankan skrip apigee-x-trial-provision.sh untuk kedua kalinya guna menyediakan project layanan dengan jaringan bersama pengaturan:
    ./apigee-x-trial-provision.sh \
        -p $SERVICE_PROJECT

    Skrip membuat proxy contoh di lingkungan Apigee Anda dan mencetak curl ke STDOUT yang dapat Anda panggil untuk menguji penyediaan.

  2. Panggil proxy API pengujian. Contoh:
    curl -v https://10-111-111-111.nip.io/hello-world

Mengonfigurasi project layanan lain untuk layanan backend

Praktik terbaiknya adalah memisahkan infrastruktur Google Cloud Anda ke dalam beberapa project. Lihat Tentukan hierarki resource untuk zona landing Google Cloud Anda. Bagian ini menjelaskan cara men-deploy backend dalam project layanan terpisah dan melampirkannya ke host VPC bersama. Apigee dapat menggunakan layanan backend sebagai target proxy API karena keduanya project layanan Apigee dan project layanan backend terlampir yang dikaitkan dengan host VPC Bersama.

Prasyarat

Untuk melakukan langkah ini, kami asumsikan Anda telah menyiapkan dan membagikan VPC Bersama kepada project layanan backend, seperti yang dijelaskan dalam Menyiapkan VPC Bersama.

Mengonfigurasi project layanan

Di bagian ini, Anda akan menguji layanan backend di subnet VPC bersama lainnya, membuat di project host, dan menggunakan alamat IP RFC1918 pribadinya sebagai URL target untuk Proxy API Apigee.

  1. Dari dalam project layanan backend Anda, jalankan perintah berikut untuk melihat semua subnet bersama yang tersedia:
    gcloud compute networks subnets list-usable --project $HOST_PROJECT  --format yaml
    

    Contoh output:

    ipCidrRange: 10.0.0.0/20
    network: https://www.googleapis.com/compute/v1/projects/my-svpc-hub/global/networks/hub-vpc
    subnetwork: https://www.googleapis.com/compute/v1/projects/my-svpc-hub/regions/europe-west1/subnetworks/sub1
    
  2. Buat variabel lingkungan berikut:
    BACKEND_SERVICE_PROJECT=PROJECT_ID
    SHARED_VPC_SUBNET=SUBNET
    

    Dengan keterangan:

    • PROJECT_ID adalah nama project layanan yang Anda buat untuk layanan backend.
    • SUBNET adalah salah satu output subnetwork dari perintah sebelumnya.
  3. Untuk membuat layanan httpbin backend dalam project untuk tujuan pengujian, gunakan perintah berikut:
    gcloud compute --project=$BACKEND_SERVICE_PROJECT instances create-with-container httpbin \
      --machine-type=e2-small --subnet=$SHARED_VPC_SUBNET \
      --image-project=cos-cloud --image-family=cos-stable --boot-disk-size=10GB \
      --container-image=kennethreitz/httpbin --container-restart-policy=always --tags http-server
    
  4. Buat dan deploy proxy Apigee API dengan mengikuti langkah-langkah di Buat proxy API.
  5. Dapatkan alamat IP internal virtual machine (VM) tempat layanan target dijalankan. Anda akan menggunakan IP ini pada langkah berikutnya untuk memanggil proxy API pengujian:
    gcloud compute instances list --filter=name=httpbin
  6. Untuk menguji konfigurasi, panggil proxy. Menggunakan alamat IP internal VM yang Anda peroleh di langkah sebelumnya. Contoh berikut mengasumsikan bahwa Anda menamai jalur basis proxy /myproxy. Contoh:
    curl -v https://INTERNAL_IP/myproxy

    Panggilan API ini menampilkan Hello, Guest!.