Membuat Organisasi, Lingkungan, dan Host Virtual

Edge untuk Private Cloud v. 4.17.01

Membuat Organisasi, Lingkungan, dan Host Virtual secara bersamaan

Sebelum membuat proxy API di Apigee Edge, Anda harus membuat setidaknya satu organisasi dan, dalam setiap organisasi, satu atau beberapa lingkungan serta host virtual.

Biasanya, organisasi dan lingkungan dibuat bersama. Untuk menyederhanakan prosesnya, gunakan utilitas apigee-provide. Panggil dari command line di Server Pengelolaan Edge:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

File konfigurasi berisi:

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=adminPword     # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPwrod"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore. 
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one. 
# AXGROUP=axgroup-001 # Default value is axgroup-001 

Perintahnya kemudian:

  • Buat organisasi
    Catatan: Anda tidak dapat mengganti nama organisasi setelah membuatnya.
  • Mengaitkan organisasi dengan pod, secara default dikaitkan dengan pod "gateway"
  • Tambahkan pengguna yang ditentukan sebagai admin org. Jika pengguna tidak ada, Anda dapat membuatnya.
  • Membuat satu atau beberapa lingkungan
  • Membuat satu atau beberapa host virtual untuk setiap lingkungan
  • Mengaitkan lingkungan dengan semua Pemroses Pesan
  • Aktifkan analisis

Untuk file konfigurasi senyap yang lengkap, lihat Aktivasi organisasi.

Secara default, panjang maksimum nama organisasi dan nama lingkungan adalah 20 karakter saat menggunakan utilitas apigee-provider. Batas ini tidak berlaku jika Anda menggunakan Edge API secara langsung untuk membuat organisasi atau lingkungan.

Buat Organisasi

Gunakan perintah create-org untuk membuat organisasi:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile

Skrip ini membuat organisasi, tetapi tidak menambahkan atau mengonfigurasi lingkungan dan host virtual yang diperlukan oleh organisasi untuk menangani panggilan API.

File konfigurasi berisi nama organisasi dan alamat email admin org. Karakter yang dapat digunakan dalam atribut nama dibatasi untuk: a-z0-9\-$%. Jangan gunakan spasi, titik, atau huruf besar untuk nama:

APIGEE_ADMINPW=adminPword    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ORG_ADMIN=orgAdmin@myCo.com

Perintahnya kemudian:

  • Membuat organisasi
  • Mengaitkan organisasi dengan pod, secara default mengaitkannya dengan pod "gateway"
  • Menambahkan pengguna tertentu sebagai admin org. Pengguna harus sudah ada; jika tidak, skrip akan mengeluarkan error.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

Buat organisasi menggunakan panggilan API

Atau, Anda dapat menggunakan panggilan API berikut untuk membuat org. Panggilan pertama akan membuat organisasi:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations \
-d '<Organization name="<org-name>" type="paid"/>'

Panggilan berikutnya akan mengaitkan organisasi dengan pod:

curl -H "Content-Type:application/x-www-form-urlencoded" \
-u <sysAdminEmail>:<adminPasswd> -X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/pods \
-d "region=default&pod=gateway" 

Anda dapat melakukan panggilan ini beberapa kali untuk mengaitkan organisasi dengan beberapa pod.

Panggilan terakhir akan menambahkan pengguna yang ada sebagai admin org untuk organisasi:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/users/<user-email>/userroles/ \
-d '<Roles><Role name="orgadmin"/></Roles>'

Jika pengguna tidak ada, Anda dapat menggunakan panggilan berikut untuk membuat pengguna seperti yang dijelaskan dalam Menambahkan pengguna.

Membuat Lingkungan

Gunakan perintah add-env untuk membuat lingkungan di organisasi yang sudah ada:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile

File konfigurasi ini berisi informasi yang diperlukan untuk membuat lingkungan dan host virtual:

APIGEE_ADMINPW=adminPword    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod
VHOST_PORT=9001
VHOST_NAME=default
VHOST_ALIAS="$IP1:9001"
# Optionally configure TLS/SSL for virtual host.
# VHOST_SSL=y     # Set to "y" to enable TLS/SSL on the virtual host.
# KEYSTORE_JAR=   # JAR file containing the cert and private key.
# KEYSTORE_NAME=  # Name of the keystore. 
# KEYSTORE_ALIAS= # The key alias.
# KEY_PASSWORD=   # The key password, if it has one. 
# AXGROUP=axgroup-001 # Default value is axgroup-001

Perintah:

  • Menciptakan lingkungan
  • Membuat satu host virtual untuk lingkungan
  • Mengaitkan lingkungan dengan semua Message Processor(s) di pod yang terkait dengan organisasi yang memuat lingkungan tersebut.
  • Mengaktifkan analisis
    Catatan: Jika mengaktifkan analisis untuk satu lingkungan di organisasi, Anda harus mengaktifkan analisis untuk semua lingkungan di organisasi.

Membuat lingkungan menggunakan panggilan API

Atau, Anda dapat menggunakan panggilan API berikut untuk membuat lingkungan. Panggilan pertama akan membuat lingkungan:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments \
-d  '<Environment name="<env-name>"/>' 

Panggilan berikutnya akan mengaitkan lingkungan dengan Pemroses Pesan. Lakukan panggilan ini untuk setiap Pemroses Pesan yang ingin Anda kaitkan dengan lingkungannya:

curl -H "Content-Type:application/x-www-form-urlencoded" \
-u <sysAdminEmail>:<adminPasswd> -X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/servers \
-d "action=add&uuid=<uuid>"

Dengan "<uuid>" adalah UUID Message Processor. Anda dapat memperoleh UUID dengan menggunakan perintah:

> curl http://<mp-ip>:8082/v1/servers/self

Dengan "<mp-ip>" adalah alamat IP Pemroses Pesan.

Panggilan API berikutnya akan mengaktifkan Analytics untuk lingkungan tertentu. Pengujian ini memvalidasi keberadaan Server Qpid dan Postgres di POD semua pusat data. Kemudian, langkah ini akan memulai orientasi Analytics untuk organisasi dan lingkungan tertentu.

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile

File konfigurasi ini berisi:

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName
curl -H "Content-Type:application/json" -u <sysAdminEmail>:<adminPasswd> 
-X POST http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/analytics/admin -d "@sample.json"

Dengan sample.json berisi hal berikut:

{
  "properties" : {
    "samplingAlgo" : "reservoir_sampler",
    "samplingTables" : "10=ten;1=one;",
    "aggregationinterval" : "300000",
    "samplingInterval" : "300000",
    "useSampling" : "100",
    "samplingThreshold" : "100000"
  },
  "servers" : {
    "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ],  
    "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] 
  }
}

Properti postgres-servers berisi daftar UUID Postgres yang dipisahkan koma, dan properti qpid-server berisi UUID Qpid. Jika Anda perlu mendapatkan UUID ini, gunakan perintah berikut.

Untuk Qpid, jalankan perintah:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=central

Output perintah ini adalah objek JSON. Untuk setiap server Qpid, Anda akan melihat output dalam bentuk:

"type" : [ "qpid-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Untuk Postgres, jalankan perintah:

curl -u <sysAdminEmail>:<passwd> http://<ms-ip>/v1/servers?pod=analytics

Untuk setiap server Postgres, Anda akan melihat output dalam bentuk:

"type" : [ "postgres-server" ],
"uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"

Membuat Host Virtual

Anda dapat membuat {i>host<i} virtual di lingkungan yang ada dalam suatu organisasi. Sering kali sebuah lingkungan mendukung beberapa host virtual. Misalnya, satu host virtual mungkin mendukung protokol HTTP, sementara host virtual lain di lingkungan yang sama mendukung protokol HTTPS terenkripsi.

Gunakan panggilan API berikut untuk membuat host virtual tambahan, atau untuk membuat host virtual untuk lingkungan tanpa host virtual:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST \
http://<ms-ip>:8080/v1/organizations/<org-name>/environments/<env-name>/virtualhosts \
-d '<VirtualHost name="default"> \
    <HostAliases> \
      <HostAlias>myorg-test.apigee.net</HostAlias> \ 
    </HostAliases> \
    <Interfaces/> \
    <Port>9002</Port> \
  </VirtualHost>' 

Untuk deskripsi lengkap tentang cara membuat host virtual, termasuk membuat host virtual aman yang menggunakan TLS/SSL melalui HTTPS, lihat http://apigee.com/docs/api-services/content/creating-virtual-host.