การสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือน

คุณจะสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือนในบรรทัดคำสั่งด้วยคำสั่งเดียว หรือจะสร้างแต่ละรายการแยกกันก็ได้ นอกจากนี้ คุณยังใช้ Edge API เพื่อดำเนินการต่างๆ เหล่านี้ได้

วิดีโอ: ดูวิดีโอสั้นๆ สำหรับภาพรวมการตั้งค่าและกำหนดค่าองค์กร Apigee

การสร้างองค์กร สภาพแวดล้อม และโฮสต์เสมือนพร้อมกัน

ก่อนสร้างพร็อกซี API ใน Apigee Edge คุณต้องสร้างองค์กรอย่างน้อย 1 รายการ และในแต่ละองค์กร ต้องมีสภาพแวดล้อมและโฮสต์เสมือนอย่างน้อย 1 รายการภายในแต่ละองค์กร

โดยปกติแล้วองค์กรและสภาพแวดล้อมจะสร้างขึ้นร่วมกัน ใช้ยูทิลิตี apigee-provision เพื่อลดความซับซ้อนของกระบวนการนี้ โดยเรียกใช้จากบรรทัดคำสั่งในเซิร์ฟเวอร์การจัดการ Edge ดังนี้

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

โดย configFile คือเส้นทางไปยังไฟล์การกำหนดค่าที่มีลักษณะคล้ายกับรูปแบบต่อไปนี้

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPword"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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.
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

เมื่อตั้งค่าองค์กร สคริปต์ setup-org จะดำเนินการต่อไปนี้

  • สร้างองค์กร
  • เชื่อมโยงองค์กรกับพ็อด "เกตเวย์" คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้
  • เพิ่มผู้ใช้ที่ระบุเป็นผู้ดูแลระบบองค์กร หากไม่มีผู้ใช้อยู่ คุณจะสร้างผู้ใช้ได้
  • สร้างสภาพแวดล้อมอย่างน้อย 1 รายการ
  • สร้างโฮสต์เสมือนอย่างน้อย 1 รายการสำหรับแต่ละสภาพแวดล้อม
  • เชื่อมโยงสภาพแวดล้อมกับผู้ประมวลผลข้อความทั้งหมด
  • เปิดใช้ Analytics

โดยค่าเริ่มต้น ความยาวสูงสุดของชื่อองค์กรและชื่อสภาพแวดล้อมคือ 20 อักขระเมื่อใช้ยูทิลิตี apigee-provision ขีดจำกัดนี้จะไม่มีผลหากคุณใช้ Edge API โดยตรงเพื่อสร้างองค์กรหรือสภาพแวดล้อม ทั้งชื่อองค์กรและชื่อสภาพแวดล้อมต้องเป็นตัวพิมพ์เล็ก

สร้างองค์กร

ใช้คำสั่ง create-org เพื่อสร้างองค์กรตามตัวอย่างต่อไปนี้

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

สคริปต์นี้จะสร้างองค์กร แต่จะไม่เพิ่มหรือกำหนดค่าสภาพแวดล้อมและโฮสต์เสมือนที่องค์กรกำหนดให้จัดการการเรียก API

ไฟล์การกำหนดค่ามีชื่อองค์กรและอีเมลของผู้ดูแลระบบขององค์กร อักขระที่ใช้ได้ในแอตทริบิวต์ name จำกัดไว้ที่ a-z0-9\-$% อย่าใช้การเว้นวรรค จุด หรืออักษรตัวพิมพ์ใหญ่ในชื่อ:

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

สคริปต์ create-org:

  • สร้างองค์กร
  • เชื่อมโยงองค์กรกับพ็อด "เกตเวย์"
  • เพิ่มผู้ใช้ที่ระบุเป็นผู้ดูแลระบบองค์กร ต้องมีผู้ใช้อยู่แล้ว มิฉะนั้นสคริปต์จะแสดงข้อผิดพลาด

สร้างองค์กรโดยใช้การเรียก API

คุณสามารถใช้การเรียก API ต่อไปนี้เพื่อสร้างองค์กร การเรียกครั้งแรกจะสร้างองค์กรดังนี้

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

การเรียกครั้งถัดไปจะเชื่อมโยงองค์กรกับพ็อด

curl -H "Content-Type:application/x-www-form-urlencoded" \
  -u sysAdminEmail:adminPasswd -X POST \
  http://management_server_IP:8080/v1/organizations/org_name/pods \
  -d "region=default&pod=gateway"

การโทรสุดท้ายจะเพิ่มผู้ใช้ที่มีอยู่เป็นผู้ดูแลระบบขององค์กร ดังนี้

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>'

หากไม่มีผู้ใช้อยู่ คุณสามารถใช้การเรียกต่อไปนี้เพื่อสร้างผู้ใช้ได้ตามที่อธิบายไว้ในการเพิ่มผู้ใช้

สร้างสภาพแวดล้อม

ใช้สคริปต์ add-env เพื่อสร้างสภาพแวดล้อมในองค์กรที่มีอยู่

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

ไฟล์การกำหนดค่านี้มีข้อมูลที่จำเป็นในการสร้างสภาพแวดล้อมและโฮสต์เสมือน

APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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. 
# Optionally set the base URL displayed by the Edge UI for an
# API proxy deployed to the virtual host.
# VHOST_BASEURL="http://myCo.com"
# AXGROUP=axgroup-001 # Default value is axgroup-001

คำสั่ง add-env

  • สร้างสภาพแวดล้อม
  • สร้างโฮสต์เสมือนเดี่ยวสำหรับสภาพแวดล้อม
  • เชื่อมโยงสภาพแวดล้อมกับผู้ประมวลผลข้อความทั้งหมดในพ็อดที่เชื่อมโยงกับองค์กรที่มีสภาพแวดล้อมนั้น
  • เปิดใช้ Analytics

สร้างสภาพแวดล้อมโดยใช้การเรียก API

หรือคุณจะใช้การเรียก API ต่อไปนี้เพื่อสร้างสภาพแวดล้อมก็ได้ การเรียกใช้ครั้งแรกจะสร้างสภาพแวดล้อมดังนี้

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

การเรียกใช้ครั้งถัดไปจะเชื่อมโยงสภาพแวดล้อมเข้ากับเครื่องมือประมวลผลข้อความ เรียกใช้ Message Processor แต่ละเครื่องที่คุณต้องการเชื่อมโยงกับสภาพแวดล้อม ดังนี้

curl -H "Content-Type:application/x-www-form-urlencoded" \
  -u sysAdminEmail:adminPasswd -X POST \
  http://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \
  -d "action=add&uuid=uuid"

โดย uuid คือ UUID ของผู้ประมวลผลข้อความ คุณดู UUID ได้โดยใช้คำสั่งต่อไปนี้

curl http://Message_Processor_IP:8082/v1/servers/self

โดย Message_Processor_IP คือที่อยู่ IP ของผู้ประมวลผลข้อความ

การเรียก API ครั้งถัดไปจะเปิดใช้ Analytics สำหรับสภาพแวดล้อมที่กำหนด ซึ่งจะตรวจสอบการมีอยู่ของเซิร์ฟเวอร์ Qpid และ Postgres ใน POD ของศูนย์ข้อมูลทั้งหมด จากนั้นจึงเริ่มเริ่มต้นใช้งาน Analytics สำหรับองค์กรและสภาพแวดล้อมที่กำหนด

ไฟล์การกำหนดค่านี้ประกอบด้วย

ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=envName  # lowercase only

โดย sample.json จะมีข้อมูลต่อไปนี้

{
  "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"] 
  }
}

พร็อพเพอร์ตี้ postgres-servers มีรายการ UUID ของ Postgres ที่คั่นด้วยคอมมา และพร็อพเพอร์ตี้ qpid-server มี UUID ของ Qpid หากคุณต้องการรับ UUID เหล่านี้ ให้ใช้คำสั่งต่อไปนี้

สำหรับ Qpid ให้เรียกใช้คำสั่งต่อไปนี้

curl -u sysAdminEmail:password http://management_server_IP/v1/servers?pod=central

เอาต์พุตของคำสั่งนี้คือออบเจ็กต์ JSON คุณจะเห็นเอาต์พุตในรูปแบบต่อไปนี้สำหรับเซิร์ฟเวอร์ Qpid แต่ละรายการ

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

สำหรับ Postgres ให้เรียกใช้คำสั่งต่อไปนี้

curl -u sysAdminEmail:admin_password http://management_server_IP/v1/servers?pod=analytics

สำหรับแต่ละเซิร์ฟเวอร์ Postgres คุณจะเห็นเอาต์พุตในรูปแบบต่อไปนี้

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

สร้างโฮสต์เสมือน

คุณจะสร้างโฮสต์เสมือนในสภาพแวดล้อมที่มีอยู่ในองค์กรได้ มีบ่อยครั้งที่สภาพแวดล้อมรองรับโฮสต์เสมือนหลายโฮสต์ เช่น โฮสต์เสมือนแห่งหนึ่งอาจรองรับโปรโตคอล HTTP ขณะที่โฮสต์เสมือนอีกโฮสต์หนึ่งในสภาพแวดล้อมเดียวกันรองรับโปรโตคอล HTTPS ที่เข้ารหัส

ใช้การเรียก API ต่อไปนี้เพื่อสร้างโฮสต์เสมือนเพิ่มเติม หรือสร้างโฮสต์เสมือนสำหรับสภาพแวดล้อมที่ไม่มีโฮสต์เสมือน

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

ดูคำอธิบายทั้งหมดเกี่ยวกับการสร้างโฮสต์เสมือน รวมถึงการสร้างโฮสต์เสมือนที่ปลอดภัยที่ใช้ TLS/SSL ผ่าน HTTPS ได้ที่การกำหนดค่าการเข้าถึง TLS ไปยัง API สำหรับ Private Cloud