ข้อกําหนดในการติดตั้ง

Edge สำหรับ Private Cloud เวอร์ชัน 4.16.05

ข้อกำหนดด้านฮาร์ดแวร์

คุณต้องปฏิบัติตามข้อกำหนดขั้นต่ำต่อไปนี้สำหรับฮาร์ดแวร์สำหรับโครงสร้างพื้นฐานที่มีความพร้อมใช้งานสูงในสภาพแวดล้อมระดับที่ใช้งานจริง สําหรับสถานการณ์การติดตั้งทั้งหมดที่อธิบายไว้ในโทโพโลยีการติดตั้ง ตารางต่อไปนี้จะแสดงข้อกําหนดของฮาร์ดแวร์ขั้นต่ำสําหรับคอมโพเนนต์การติดตั้ง

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

คอมโพเนนต์การติดตั้ง

RAM

CPU

ฮาร์ดดิสก์ขั้นต่ำ

Cassandra

16 GB

8 แกน

พื้นที่เก็บข้อมูลภายในเครื่อง 250 GB พร้อม SSD หรือ HDD ความเร็วสูงที่รองรับ 2000 IOPS

ตัวประมวลผลข้อความ/เราเตอร์ในเครื่องเดียวกัน

8/16GB

4 แกน

100 GB

Analytics - Postgres/Qpid บนเซิร์ฟเวอร์เดียวกัน (ไม่แนะนำสำหรับเวอร์ชันที่ใช้งานจริง)

16GB*

8 แกน*

พื้นที่เก็บข้อมูลเครือข่าย 500 GB - 1 TB** เหมาะสำหรับแบ็กเอนด์ SSD ซึ่งรองรับ IOPS 1,000 ขึ้นไป*

Analytics - Postgres แบบสแตนด์อโลน

16GB*

8 แกน*

พื้นที่เก็บข้อมูลเครือข่าย 500 GB - 1 TB** เหมาะสำหรับแบ็กเอนด์ SSD ซึ่งรองรับ IOPS 1,000 ขึ้นไป*

Analytics - Qpid แบบสแตนด์อโลน

8GB

4 แกน

พื้นที่เก็บข้อมูลในเครื่อง 30 GB - 50 GB พร้อม SSD หรือ HDD แบบเร็ว

สำหรับการติดตั้งที่มากกว่า 250 TPS แนะนำให้ใช้ HDD ที่มีพื้นที่เก็บข้อมูลในเครื่องที่รองรับ IOPS 1, 000 รายการ

อื่นๆ (OpenLDAP, UI, เซิร์ฟเวอร์การจัดการ)

4 GB

2 แกน

60GB

† ปรับความต้องการของระบบเครื่องมือประมวลผลข้อความตามอัตราการส่งข้อมูล:

คำแนะนำขั้นต่ำคือ 4 แกนและ 8 แกนสำหรับระบบอัตราการส่งข้อมูลสูง คุณเรียกใช้การทดสอบประสิทธิภาพเพื่อระบุขนาดที่เหมาะสมที่สุดสำหรับ API ได้

*ปรับข้อกำหนดของระบบ Postgres ตามอัตราการส่งข้อมูล:

  • น้อยกว่า 250 TPS: 8 GB, 4 แกนอาจพิจารณาโดยใช้พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการ*** รองรับ 1,000 IOPS ขึ้นไป
  • มากกว่า 250 TPS: พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการขนาด 16 GB 8 แกน*** ซึ่งรองรับ IOPS 1,000 ขึ้นไป
  • พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการมากกว่า 1,000 TPS: 16 GB, 8 แกน, พื้นที่เก็บข้อมูลของเครือข่ายที่มีการจัดการ*** ซึ่งรองรับ IOPS 2,000 ขึ้นไป
  • พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการมากกว่า 2,000 TPS: 32 GB, 16 แกน, พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการ*** ซึ่งรองรับ IOPS 2,000 ขึ้นไป
  • พื้นที่เก็บข้อมูลเครือข่ายที่มีการจัดการมากกว่า 4,000 TPS: 64 GB, 32 แกน, พื้นที่เก็บข้อมูลของเครือข่ายที่มีการจัดการ*** ซึ่งรองรับ IOPS 4,000 ขึ้นไป

**ค่าฮาร์ดดิสก์ Postgres จะอิงตามข้อมูลวิเคราะห์ที่ Edge บันทึกไว้นอกกล่อง หากคุณเพิ่มค่าที่กำหนดเองลงในข้อมูลวิเคราะห์ ค่าเหล่านี้ก็ควรเพิ่มขึ้นอย่างสอดคล้องกัน ใช้สูตรต่อไปนี้เพื่อประมาณพื้นที่เก็บข้อมูลที่ต้องการ

(# ไบต์/คำขอ) * (คำขอต่อวินาที) * (วินาทีต่อชั่วโมง) * (จำนวนชั่วโมงที่มีการใช้งานสูงสุดต่อวัน) * (วันต่อเดือน) * (การเก็บรักษาข้อมูลเป็นเดือน) = พื้นที่เก็บข้อมูลที่ต้องใช้

ตัวอย่างเช่น

(ข้อมูล Analytics 2K ต่อคำขอ 0.9 GB, 0.1 ไบต์/วินาทีต่อคำขอ) * 100 * 3 ชั่วโมง/วินาทีต่อคำขอ) * 100 * 3 ชั่วโมง/วินาทีต่อคำขอ) * 100 * 3 ชั่วโมง/วินาที

*** แนะนำให้ใช้พื้นที่เก็บข้อมูลเครือข่ายสำหรับฐานข้อมูล Postgresql เนื่องจากเหตุผลต่อไปนี้

  • ซึ่งช่วยให้คุณปรับขนาดพื้นที่เก็บข้อมูลแบบไดนามิกได้หากจำเป็น
  • คุณปรับ IOPS ของเครือข่ายได้อย่างรวดเร็วในสภาพแวดล้อมส่วนใหญ่/พื้นที่เก็บข้อมูล/ระบบย่อยของเครือข่ายในปัจจุบัน
  • เปิดใช้สแนปชอตระดับพื้นที่เก็บข้อมูลเป็นส่วนหนึ่งของโซลูชันการสำรองข้อมูลและการกู้คืนได้

นอกจากนี้ ข้อมูลต่อไปนี้ยังระบุข้อกำหนดของฮาร์ดแวร์หากคุณต้องการติดตั้งบริการสร้างรายได้

องค์ประกอบที่มีการสร้างรายได้

RAM

CPU

ฮาร์ดดิสก์

เซิร์ฟเวอร์การจัดการ (พร้อมบริการสร้างรายได้)

8GB

4 แกน

60GB

Analytics - Postgres/Qpid ในเซิร์ฟเวอร์เดียวกัน

16 GB

8 แกน

พื้นที่เก็บข้อมูลเครือข่าย 500 GB - 1 TB ควรมีแบ็กเอนด์ SSD ที่รองรับ 1,000 IOPS ขึ้นไป หรือใช้กฎจากตารางด้านบน

Analytics - Postgres แบบสแตนด์อโลน

16 GB

8 แกน

พื้นที่เก็บข้อมูลเครือข่าย 500 GB - 1 TB ควรมีแบ็กเอนด์ SSD ที่รองรับ 1,000 IOPS ขึ้นไป หรือใช้กฎจากตารางด้านบน

Analytics - Qpid แบบสแตนด์อโลน

8GB

4 แกน

40GB

ข้อมูลต่อไปนี้แสดงข้อกำหนดด้านฮาร์ดแวร์หากคุณต้องการติดตั้ง API BaaS

คอมโพเนนต์ API BaaS

RAM

CPU

ฮาร์ดดิสก์

ElasticSearch*

8GB

4 แกน

60 - 80GB

สแต็ก BaaS ของ API *

8GB

4 แกน

60 - 80GB

พอร์ทัล API BaaS

1GB

2 แกน

20GB

Cassandra (ไม่บังคับ โดยทั่วไปแล้วคุณจะใช้คลัสเตอร์ Cassandra เดียวกันสำหรับทั้ง Edge และ API BaaS Services)

16 GB

8 แกน

พื้นที่เก็บข้อมูลภายในเครื่อง 250 GB พร้อม SSD หรือ HDD ความเร็วสูงที่รองรับ 2000 IOPS

* คุณสามารถติดตั้ง ElasticSearch และ API BaaS Stack บนโหนดเดียวกันได้ หากมี ให้กำหนดค่า ElasticSearch ให้ใช้หน่วยความจำ 4 GB (ค่าเริ่มต้น) หากติดตั้ง ElasticSearch ไว้ในโหนดของตัวเอง ให้กำหนดค่าให้ใช้หน่วยความจำ 6GB

หมายเหตุ

  • หากระบบไฟล์รูทไม่ใหญ่พอสำหรับการติดตั้ง ขอแนะนำให้วางข้อมูลลงในดิสก์ขนาดใหญ่ขึ้น
  • หากมีการติดตั้ง Apigee Edge สำหรับ Private Cloud เวอร์ชันเก่าไว้ในเครื่อง โปรดตรวจสอบว่าคุณลบโฟลเดอร์ /tmp/java ก่อนการติดตั้งใหม่
  • โฟลเดอร์ชั่วคราวทั้งระบบ /tmp ต้องการสิทธิ์ในการดำเนินการเพื่อเริ่มต้น Cassandra
  • หากผู้ใช้ "apigee" สร้างขึ้นก่อนการติดตั้ง ให้ตรวจสอบว่า "/home/apigee" เป็นไดเรกทอรีหลักและเป็นของ "apigee:apigee"

ข้อกำหนดของระบบปฏิบัติการและซอฟต์แวร์ของบุคคลที่สาม

วิธีการติดตั้งและไฟล์ติดตั้งที่ให้มาเหล่านี้ได้รับการทดสอบในระบบปฏิบัติการและซอฟต์แวร์ของบุคคลที่สามซึ่งระบุไว้ที่ https://apigee.com/docs/api-services/reference/supported-software

การสร้างผู้ใช้ Apigee

กระบวนการติดตั้งจะสร้างผู้ใช้ระบบ Unix โดยใช้ชื่อว่า "apigee" "apigee" เป็นของไดเรกทอรีและไฟล์ Edge เช่นเดียวกับกระบวนการ Edge ซึ่งหมายความว่าคอมโพเนนต์ Edge จะทำงานในฐานะผู้ใช้ "apigee" คุณเรียกใช้คอมโพเนนต์ในฐานะผู้ใช้รายอื่นได้หากจำเป็น ดูตัวอย่าง "การเชื่อมโยงเราเตอร์กับพอร์ตที่มีการป้องกัน" ในหัวข้อติดตั้งคอมโพเนนต์ Edge บนโหนด

ไดเรกทอรีการติดตั้ง

โดยค่าเริ่มต้น โปรแกรมติดตั้งจะเขียนไฟล์ทั้งหมดไปยังไดเรกทอรี /opt/apigee คุณไม่สามารถเปลี่ยนตำแหน่งไดเรกทอรีนี้

ในวิธีการในคู่มือนี้ ไดเรกทอรีการติดตั้งจะระบุเป็น /<inst_root>/apigee โดยที่ /<inst_root> คือ /opt โดยค่าเริ่มต้น

Java

คุณต้องติดตั้ง Java1.8 เวอร์ชันที่สนับสนุนบนแต่ละเครื่องก่อนทำการติดตั้ง JDK ที่รองรับแสดงรายการต่อไปนี้

https://apigee.com/docs/api-services/reference/supported-software

ตรวจสอบว่า JAVA_HOME ชี้ไปยังรูทของ JDK สำหรับผู้ใช้ที่ติดตั้ง

การตั้งค่าเครือข่าย

ขอแนะนำให้ตรวจสอบการตั้งค่าเครือข่ายก่อนการติดตั้ง โปรแกรมติดตั้งคาดว่าเครื่องทุกเครื่องจะมีที่อยู่ IP แบบคงที่ ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบการตั้งค่า

  • ชื่อโฮสต์ แสดงผลชื่อเครื่อง
  • ชื่อโฮสต์ -i จะแสดงผลที่อยู่ IP ของชื่อโฮสต์ที่สามารถระบุได้จากเครื่องอื่น

คุณอาจต้องแก้ไข /etc/hosts และ /etc/sysconfig/network หากตั้งค่าชื่อโฮสต์ไม่ถูกต้อง ทั้งนี้ขึ้นอยู่กับประเภทและเวอร์ชันของระบบปฏิบัติการ โปรดดูข้อมูลเพิ่มเติมในเอกสารประกอบของระบบปฏิบัติการนั้นๆ

Cassandra

โหนด Cassandra ทั้งหมดต้องเชื่อมต่อกับแหวน

Cassandra จะปรับขนาดฮีปของ Java โดยอัตโนมัติตามหน่วยความจำที่มี ดูข้อมูลเพิ่มเติมได้ที่การปรับแต่งทรัพยากร Java ในกรณีที่ประสิทธิภาพลดลงหรือมีการใช้หน่วยความจำสูง

หลังจากติดตั้ง Edge สำหรับ Private Cloud แล้ว คุณจะตรวจสอบได้ว่า Cassandra ได้รับการกำหนดค่าอย่างถูกต้องหรือไม่โดยตรวจสอบไฟล์ /<inst_root>/apigee/apigee-cassandra/conf/cassandra.yaml เช่น ตรวจสอบว่าสคริปต์การติดตั้ง Edge for Private Cloud ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้

  • cluster_name
  • initial_token
  • พาร์ติชัน
  • เมล็ด
  • listen_address
  • rpc_address
  • หัวขโมย

คำเตือน: อย่าแก้ไขไฟล์นี้

ฐานข้อมูล PostgreSQL

หลังจากติดตั้ง Edge คุณจะปรับการตั้งค่าฐานข้อมูล PostgreSQL ต่อไปนี้ได้ตามปริมาณ RAM ที่มีอยู่ในระบบ

conf_postgresql_shared_buffers = 35% of RAM      # min 128kB
conf_postgresql_effective_cache_size = 45% of RAM
conf_postgresql_work_mem = 512MB       # min 64kB

หากต้องการตั้งค่าเหล่านี้ ให้ทำดังนี้

  1. แก้ไข postgresql.properties:
    > vi /<inst_root>/apigee/customer/application/postgresql.properties

    หากยังไม่มีไฟล์ ให้สร้างขึ้นมา
  2. ตั้งค่าพร็อพเพอร์ตี้ที่แสดงด้านบน
  3. บันทึกการแก้ไข
  4. รีสตาร์ทฐานข้อมูล PostgreSQL:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql Restart

JVC

"jsvc" เป็นข้อกำหนดเบื้องต้นในการใช้ API BaaS ระบบจะติดตั้งเวอร์ชัน 1.0.15-dev เมื่อติดตั้ง API BaaS

บริการรักษาความปลอดภัยของเครือข่าย (NSS)

Network Security Services (NSS) เป็นชุดไลบรารีที่รองรับการพัฒนาแอปพลิเคชันไคลเอ็นต์และเซิร์ฟเวอร์ที่เปิดใช้การรักษาความปลอดภัย คุณควรตรวจสอบว่าได้ติดตั้ง NSS เวอร์ชัน 3.19 ขึ้นไปแล้ว

วิธีตรวจสอบเวอร์ชันปัจจุบันของคุณ

> yum info nss

วิธีอัปเดต NSS

> yum update nss

ดูข้อมูลเพิ่มเติมได้ที่บทความนี้จาก RedHat

AMI ของ AWS

หากกำลังติดตั้ง Edge บน AWS Amazon Machine Image (AMI) สำหรับ Red Hat Enterprise Linux 7.x คุณต้องเรียกใช้คำสั่งต่อไปนี้ก่อน

> yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

เครื่องมือ

โปรแกรมติดตั้งใช้เครื่องมือ UNIX ต่อไปนี้ในเวอร์ชันมาตรฐานตามที่ EL5 หรือ EL6 มีให้

awk

dirname

ls

รอบต่อนาที

unzip

basename

echo

perl

rpm2cpio

useradd

Bash

expr

pgrep (จาก procps)

sed

wc

bc

grep

ps

น้ำมันดิน

อร่อย

curl

hostname

pwd

tr

chkconfig

วันที่

id

python

Uname

sudo

หมายเหตุ

  • ไฟล์ปฏิบัติการของเครื่องมือ "useradd" อยู่ใน /usr/sbin และสำหรับ chkconfig ใน /sbin
  • การเข้าถึง sudo ทำให้คุณสามารถเข้าถึงผ่านสภาพแวดล้อมของผู้ใช้ที่โทร เช่น โดยทั่วไปคุณจะเรียกใช้ “sudo <command>” หรือ “sudo PATH=$PATH:/usr/sbin:/sbin <command>
  • ตรวจสอบว่าคุณได้ติดตั้งเครื่องมือ "แพตช์" แล้วก่อนติดตั้ง Service Pack

ntpdate – เราขอแนะนำให้ซิงค์เวลาของเซิร์ฟเวอร์ หากยังไม่ได้กำหนดค่า ยูทิลิตี "ntpdate" จะทำหน้าที่นี้ ซึ่งจะตรวจสอบว่าเซิร์ฟเวอร์มีการซิงค์เวลาหรือไม่ คุณใช้ "yum install ntp" เพื่อติดตั้งยูทิลิตีได้ ซึ่งมีประโยชน์อย่างยิ่งสำหรับการจำลองการตั้งค่า OpenLDAP โปรดทราบว่าคุณตั้งค่าเขตเวลาของเซิร์ฟเวอร์เป็น UTC

openldap 2.4 – การติดตั้งภายในองค์กรต้องใช้ OpenLDAP 2.4 หากเซิร์ฟเวอร์มีการเชื่อมต่ออินเทอร์เน็ต สคริปต์การติดตั้ง Edge จะดาวน์โหลดและติดตั้ง OpenLDAP หากเซิร์ฟเวอร์ไม่ได้เชื่อมต่ออินเทอร์เน็ต คุณต้องติดตั้ง OpenLDAP ก่อนเรียกใช้สคริปต์การติดตั้ง Edge ใน RHEL/CentOS คุณสามารถเรียกใช้ "yum install openldap-clients openldap-servers" เพื่อติดตั้ง OpenLDAP ได้

สำหรับการติดตั้ง 13 โฮสต์และการติดตั้ง 12 โฮสต์ที่มีศูนย์ข้อมูล 2 รายการ คุณต้องการจำลอง OpenLDAP เนื่องจากมีหลายโหนดที่โฮสต์ OpenLDAP

ไฟร์วอลล์และโฮสต์เสมือน

คำว่า "Virtual" มักจะใช้กันมากในวงการไอที ดังนั้นจึงมีการใช้ Apigee Edge สำหรับการติดตั้งใช้งาน Private Cloud และโฮสต์เสมือน เราขอชี้แจง การใช้คำว่า "เสมือนจริง" มีอยู่ 2 อย่างหลักๆ ดังนี้

  • เครื่องเสมือน (VM): ไม่จำเป็น แต่การติดตั้งใช้งานบางรายการจะใช้เทคโนโลยี VM เพื่อสร้างเซิร์ฟเวอร์แยกต่างหากสำหรับคอมโพเนนต์ Apigee โฮสต์ VM อาจมีอินเทอร์เฟซเครือข่ายและไฟร์วอลล์ได้เช่นเดียวกับโฮสต์จริง วิธีการติดตั้งเหล่านี้ไม่รองรับการติดตั้ง VM โดยเฉพาะ
  • โฮสต์เสมือน: ปลายทางเว็บ ซึ่งคล้ายกับโฮสต์เสมือนของ Apache

เราเตอร์ใน VM เปิดเผยโฮสต์เสมือนหลายโฮสต์ได้ (ตราบใดที่โฮสต์เหล่านั้นแตกต่างกันในชื่อแทนโฮสต์หรือในพอร์ตอินเทอร์เฟซ)

อย่างเช่นในตัวอย่างการตั้งชื่อ เซิร์ฟเวอร์จริงเดี่ยว "A" อาจเรียกใช้ VM 2 รายการ โดยมีชื่อว่า "VM1" และ "VM2" และสมมติว่า VM1 แสดงอินเทอร์เฟซอีเทอร์เน็ตเสมือน ซึ่งมีชื่อว่า eth0 ภายใน VM ซึ่งได้รับมอบหมายที่อยู่ IP 111.111.111.111 โดยเครื่องเสมือนที่ได้รับมอบหมาย DH1 และ VM1 จะเปิดเผยที่อยู่ IP1 เสมือน จากนั้น DH1 ตั้งชื่อเซิร์ฟเวอร์อีเทอร์เน็ตหรือ DH2 จากนั้นจะสมมติว่า VM1 แสดงอินเทอร์เฟซอีเทอร์เน็ต1 และ DH1 ตั้งชื่อให้เซิร์ฟเวอร์เสมือนหรือ DH1 ตั้งชื่อให้111.111.111.111 โดยระบบเสมือนจริงจะมอบหมาย IP1 และ DH1 โดยใช้อินเทอร์เฟซ DH1 เพียงตั้งชื่อให้ว่า "VM1" และ VM2 2

เราอาจใช้เราเตอร์ Apigee ใน VM ทั้ง 2 แบบ เราเตอร์จะแสดงปลายทางโฮสต์เสมือนตามตัวอย่างสมมติต่อไปนี้

เราเตอร์ Apigee ใน VM1 จะแสดงโฮสต์เสมือน 3 รายการบนอินเทอร์เฟซ eth0 (ซึ่งมีที่อยู่ IP ที่เฉพาะเจาะจง) api.mycompany.com:80, api.mycompany.com:443 และ test.mycompany.com:80

เราเตอร์ใน VM2 จะแสดง api.mycompany.com:80 (ชื่อและพอร์ตเดียวกับที่ VM1 เปิดเผย)

ระบบปฏิบัติการของโฮสต์จริงอาจมีไฟร์วอลล์เครือข่าย ซึ่งในกรณีนี้ต้องมีการกำหนดค่าไฟร์วอลล์ดังกล่าวให้ส่งผ่านการรับส่งข้อมูล TCP สำหรับพอร์ตที่แสดงบนอินเทอร์เฟซเสมือน (111.111.111.111:{80, 443} และ 111.111.111.222:80) นอกจากนี้ ระบบปฏิบัติการของ VM แต่ละระบบอาจมีไฟร์วอลล์ของตัวเองบนอินเทอร์เฟซ eth0 และระบบปฏิบัติการเหล่านี้ต้องอนุญาตให้การรับส่งข้อมูลของพอร์ต 80 และ 443 เชื่อมต่อได้ด้วย

เส้นทางพื้นฐานเป็นคอมโพเนนต์ที่ 3 ที่เกี่ยวข้องกับการกำหนดเส้นทางการเรียก API ไปยังพร็อกซี API อื่นที่คุณอาจทำให้ใช้งานได้แล้ว แพ็กเกจพร็อกซี API จะแชร์ปลายทางได้หากมีเส้นทางฐานที่แตกต่างกัน ตัวอย่างเช่น เส้นทางพื้นฐานหนึ่งอาจกำหนดเป็น http://api.mycompany.com:80/ และอีกเส้นทางหนึ่งคือ http://api.mycompany.com:80/salesdemo

ในกรณีนี้ คุณต้องมีตัวจัดสรรภาระงานหรือ Traffic Director บางประเภทแยกการรับส่งข้อมูล http://api.mycompany.com:80/ ระหว่างที่อยู่ IP ทั้งสอง (111.111.111.111 บน VM1 และ 111.111.111.222 บน VM2) ฟังก์ชันนี้มีไว้สำหรับการติดตั้งที่เฉพาะเจาะจงและกำหนดค่าโดยกลุ่มเครือข่ายภายใน

ระบบจะตั้งค่าเส้นทางพื้นฐานเมื่อคุณทำให้ API ใช้งานได้ จากตัวอย่างด้านบน คุณอาจทำให้ API จำนวน 2 รายการใช้งานได้ ซึ่งก็คือ mycompany และ testmycompany สำหรับองค์กร mycompany-org ที่มีโฮสต์เสมือนที่มีชื่อแทนโฮสต์เป็น api.mycompany.com และมีการตั้งค่าพอร์ตเป็น 80 หากไม่ประกาศ Basepath ในการทำให้ใช้งานได้ เราเตอร์จะไม่ทราบว่าจะต้องส่งคำขอขาเข้าไปยัง API ใด

อย่างไรก็ตาม หากคุณทำให้ API ใช้งานได้ testmycompany โดยมี URL ฐานเป็น /salesdemo ผู้ใช้จะเข้าถึง API นั้นโดยใช้ http://api.mycompany.com:80/salesdemo หากคุณทำให้ API mycompany ใช้งานได้โดยมี URL ฐานเป็น / ผู้ใช้จะเข้าถึง API ได้โดยใช้ URL http://api.mycompany.com:80/

ข้อกำหนดของพอร์ต Edge

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

รูปภาพต่อไปนี้แสดงข้อกำหนดของพอร์ตสำหรับคอมโพเนนต์ Edge แต่ละรายการ

หมายเหตุเกี่ยวกับแผนภาพนี้

  • *พอร์ต 8082 บนตัวประมวลผลข้อความจะต้องเปิดสำหรับการเข้าถึงโดยเราเตอร์เท่านั้น เมื่อคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์และผู้ประมวลผลข้อมูลข้อความ หากคุณไม่กำหนดค่า TLS/SSL ระหว่างเราเตอร์และเครื่องมือประมวลผลข้อความ การกำหนดค่าเริ่มต้น พอร์ต 8082 จะยังคงต้องเปิดบนตัวประมวลผลข้อความเพื่อจัดการคอมโพเนนต์ แต่เราเตอร์ไม่จำเป็นต้องมีการเข้าถึง
  • พอร์ตที่มี "M" นำหน้าคือพอร์ตที่ใช้จัดการคอมโพเนนต์ และต้องเปิดบนคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้
  • คอมโพเนนต์ต่อไปนี้ต้องมีสิทธิ์เข้าถึงพอร์ต 8080 ในเซิร์ฟเวอร์การจัดการ: เราเตอร์, ตัวประมวลผลข้อความ, UI, Postgres และ Qpid
  • ตัวประมวลผลข้อความต้องเปิดพอร์ต 4528 เป็นพอร์ตการจัดการ หากคุณมี Message Processor หลายตัว โปรแกรมเหล่านี้จะต้องสามารถเข้าถึงซึ่งกันและกันผ่านพอร์ต 4528 ได้ (ซึ่งระบุด้วยลูกศรวนซ้ำในแผนภาพด้านบนสำหรับพอร์ต 4528 บน Message Processor) หากมีศูนย์ข้อมูลหลายแห่ง พอร์ตต้องเข้าถึงได้จากผู้ประมวลผลข้อมูลข้อความทั้งหมดในศูนย์ข้อมูลทุกแห่ง
  • แม้จะไม่จำเป็น แต่คุณเปิดพอร์ต 4527 บนเราเตอร์เพื่อเข้าถึงโดย Message Processor ใดก็ได้ มิฉะนั้น คุณอาจพบข้อความแสดงข้อผิดพลาดในไฟล์บันทึกของผู้ประมวลผลข้อความ
  • เราเตอร์ต้องเปิดพอร์ต 4527 เป็นพอร์ตการจัดการ หากคุณมีเราเตอร์หลายตัว เราเตอร์ทุกตัวต้องเข้าถึงซึ่งกันและกันผ่านพอร์ต 4527 ได้ (ระบุด้วยลูกศรลูปในแผนภาพด้านบนสำหรับพอร์ต 4527 บนเราเตอร์)
  • Edge UI ต้องมีสิทธิ์เข้าถึงเราเตอร์บนพอร์ตที่แสดงโดยพร็อกซี API เพื่อรองรับปุ่มส่งในเครื่องมือติดตาม
  • เซิร์ฟเวอร์การจัดการต้องมีสิทธิ์เข้าถึงพอร์ต JMX บนโหนด Cassandra
  • คุณกำหนดค่าการเข้าถึงพอร์ต JMX ให้ต้องใช้ชื่อผู้ใช้/รหัสผ่านได้ ดูข้อมูลเพิ่มเติมได้ในวิธีตรวจสอบ
  • คุณเลือกกำหนดค่าการเข้าถึง TLS/SSL สำหรับการเชื่อมต่อบางอย่างได้ ซึ่งจะใช้พอร์ตที่แตกต่างกันก็ได้ โปรดดู TLS/SSL สำหรับข้อมูลเพิ่มเติม
  • หากกำหนดค่าโหนด Postgres 2 รายการเพื่อใช้การจำลองสแตนด์บายหลัก คุณต้องเปิดพอร์ต 22 ในแต่ละโหนดสำหรับการเข้าถึง SSH คุณเลือกเปิดพอร์ตบนโหนดแต่ละรายการเพื่ออนุญาตการเข้าถึง SSH ได้
  • คุณกำหนดค่า Management Server และ Edge UI ให้ส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ภายนอกได้ ในกรณีนี้ คุณต้องตรวจสอบว่าเซิร์ฟเวอร์การจัดการและ UI เข้าถึงพอร์ตที่จำเป็นในเซิร์ฟเวอร์ SMTP ได้ สำหรับ SMTP ที่ไม่ใช่ TLS หมายเลขพอร์ตมักจะเป็น 25 สำหรับ SMTP ที่เปิดใช้ TLS มักจะเป็น 465 แต่โปรดตรวจสอบกับผู้ให้บริการ SMTP

ตารางด้านล่างแสดงพอร์ตที่ต้องเปิดในไฟร์วอลล์ตามคอมโพเนนต์ Edge

ส่วนประกอบ

พอร์ต

คำอธิบาย

พอร์ต HTTP มาตรฐาน

80, 443

HTTP และพอร์ตอื่นๆ ที่คุณใช้สำหรับโฮสต์เสมือน

เซิร์ฟเวอร์การจัดการ

8080

พอร์ตสำหรับการเรียก Edge Management API คอมโพเนนต์เหล่านี้ต้องมีสิทธิ์เข้าถึงพอร์ต 8080 ในเซิร์ฟเวอร์การจัดการ ซึ่งได้แก่ เราเตอร์, ผู้ประมวลผลข้อความ, UI, Postgres และ Qpid

1099

พอร์ต JMX

4526

สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ

UI การจัดการ

9000

พอร์ตสำหรับเข้าถึง UI การจัดการของเบราว์เซอร์

เครื่องมือประมวลผลข้อความ

8998

พอร์ตตัวประมวลผลข้อความสำหรับการสื่อสารจากเราเตอร์

8082

พอร์ตการจัดการเริ่มต้นสำหรับเครื่องมือประมวลผลข้อความและต้องเปิดบนคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้

หากคุณกำหนดค่า TLS/SSL ระหว่างเราเตอร์และผู้ประมวลผลข้อมูลข้อความที่เราเตอร์ใช้เพื่อตรวจสอบประสิทธิภาพการทำงานกับผู้ประมวลผลข้อความ

1101

พอร์ต JMX

4528

สำหรับแคชแบบกระจายและการเรียกใช้การจัดการระหว่างผู้ประมวลผลข้อมูลข้อความ และสำหรับการสื่อสารจากเราเตอร์

เราเตอร์

8081

พอร์ตการจัดการเริ่มต้นสำหรับเราเตอร์ และต้องเปิดบนคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้

4527

สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ

15999

พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่

หากต้องการดูสถานะของเราเตอร์ ตัวจัดสรรภาระงานจะส่งคำขอไปยังพอร์ต 15999 บนเราเตอร์ดังนี้

> curl -v http://<routerIP>:15999/v1/servers/self/reachable

หากเราเตอร์เข้าถึงได้ คำขอจะแสดงผล HTTP 200

ZooKeeper

2181

ใช้โดยคอมโพเนนต์อื่นๆ เช่น เซิร์ฟเวอร์การจัดการ เราเตอร์ ผู้ประมวลผลข้อความ และอื่นๆ

2888, 3888

ใช้ภายในโดยการสื่อสารของคลัสเตอร์ ZooKeeper สำหรับ ZooKeeper (หรือที่เรียกว่าชุด ZooKeeper)

คาสซันดรา

7000, 9042, 9160

พอร์ต Apache Cassandra สำหรับการสื่อสารระหว่างโหนด Cassandra และสำหรับการเข้าถึงโดยคอมโพเนนต์ Edge อื่นๆ

7199

พอร์ต JMX ต้องเปิดเพื่อเข้าถึงโดยเซิร์ฟเวอร์การจัดการ

Qpid

5672

ใช้สำหรับการสื่อสารจากเราเตอร์และเครื่องมือประมวลผลข้อความไปยังเซิร์ฟเวอร์ Qpid

8083

พอร์ตการจัดการเริ่มต้นในเซิร์ฟเวอร์ Qpid และต้องเปิดบนคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้

1102

พอร์ต JMX

4529

สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ

โพสต์เกรส

5432

ใช้สำหรับการสื่อสารจากเซิร์ฟเวอร์ Qpid/Management Server ไปยัง Postgres

8084

พอร์ตการจัดการเริ่มต้นในเซิร์ฟเวอร์ Postgres และต้องเปิดบนคอมโพเนนต์เพื่อให้เซิร์ฟเวอร์การจัดการเข้าถึงได้

1103

พอร์ต JMX

4530

สำหรับแคชแบบกระจายและการเรียกใช้การจัดการ

22

หากกำหนดค่าโหนด Postgres 2 รายการเพื่อใช้การจำลองสแตนด์บายหลัก คุณต้องเปิดพอร์ต 22 ในแต่ละโหนดเพื่อเข้าถึง SSH

LDAP

10389

OpenLDAP

SmartDocs

59002

พอร์ตบนเราเตอร์ Edge ที่ส่งคำขอหน้า SmartDOCUMENT

หมายเหตุ: นอกจากนี้ คุณอาจต้องเปิดพอร์ตในไฟร์วอลล์เพื่อทำการทดสอบ เช่น 59001 เป็นต้น

ตารางถัดไปจะแสดงพอร์ตเดียวกันที่แสดงเป็นตัวเลข โดยมีคอมโพเนนต์ต้นทางและปลายทางดังนี้

หมายเลขพอร์ต

วัตถุประสงค์

คอมโพเนนต์ต้นทาง

คอมโพเนนต์ปลายทาง

<พอร์ตโฮสต์เสมือน#>

HTTP รวมถึงพอร์ตอื่นๆ ที่คุณใช้สำหรับการรับส่งข้อมูลการเรียก API ของโฮสต์เสมือน พอร์ต 80 และ 443 เป็นพอร์ตที่ใช้กันโดยทั่วไปมากที่สุด Message Router อาจสิ้นสุดการเชื่อมต่อ TLS/SSL ได้

ไคลเอ็นต์ภายนอก (หรือตัวจัดสรรภาระงาน)

Listener บนเราเตอร์ข้อความ

1099 ถึง 1103

การจัดการ JMX

ไคลเอ็นต์ JMX

เซิร์ฟเวอร์การจัดการ (1099)

ตัวประมวลผลข้อความ (1101)

Qpid Server (1102)

เซิร์ฟเวอร์ Postgres (1103)

2,181

การสื่อสารกับลูกค้า Zookeeper

เซิร์ฟเวอร์การจัดการ

เราเตอร์

Message Processor

เซิร์ฟเวอร์ Qpid

เซิร์ฟเวอร์ Postgres

ผู้ดูแลสวนสัตว์

2888 และ 3888

การจัดการอินเตอร์โหนดของผู้ดูแลสวนสัตว์

ผู้ดูแลสวนสัตว์

ผู้ดูแลสวนสัตว์

4526 ถึง 4530

พอร์ตการจัดการ RPC ที่ใช้สำหรับแคชแบบกระจายและการเรียกใช้จากเซิร์ฟเวอร์การจัดการไปยังคอมโพเนนต์อื่นๆ

เซิร์ฟเวอร์การจัดการ

เซิร์ฟเวอร์การจัดการ (4526)

เราเตอร์ (4527)

ตัวประมวลผลข้อความ (4528)

Qpid Server (4529)

เซิร์ฟเวอร์ Postgres (4530)

4,528

สำหรับการเรียกแคชแบบกระจายระหว่างตัวประมวลผลข้อความและสำหรับการสื่อสารจากเราเตอร์

เราเตอร์

Message Processor

Message Processor

5,432

ไคลเอ็นต์ Postgres

เซิร์ฟเวอร์ Qpid

Postgres

5,672

ใช้เพื่อส่งการวิเคราะห์จากเราเตอร์และผู้ประมวลผลข้อมูลข้อความไปยัง Qpid

เราเตอร์

Message Processor

เซิร์ฟเวอร์ Qpid

7000

การสื่อสารระหว่างโหนดของ Cassandra

Cassandra

โหนด Cassandra อื่นๆ

7,199

การจัดการ JMX ต้องเปิดเพื่อเข้าถึงโหนด Cassandra โดยเซิร์ฟเวอร์การจัดการ

ไคลเอ็นต์ JMX

Cassandra

8080

พอร์ตการจัดการ API

ไคลเอ็นต์ API การจัดการ

เซิร์ฟเวอร์การจัดการ

8081 ถึง 8084

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

ไคลเอ็นต์ API การจัดการ

เราเตอร์ (8081)

ตัวประมวลผลข้อความ (8082)

Qpid Server (8083)

เซิร์ฟเวอร์ Postgres (8084)

8,998

การสื่อสารระหว่างเราเตอร์กับเครื่องมือประมวลผลข้อความ

เราเตอร์

Message Processor

9,000

พอร์ต UI การจัดการ Edge เริ่มต้น

เบราว์เซอร์

เซิร์ฟเวอร์ UI การจัดการ

9042

การขนส่งดั้งเดิมสำหรับ CQL

เราเตอร์

Message Processor

เซิร์ฟเวอร์การจัดการ

Cassandra

9160

ไคลเอ็นต์มือสองของ Cassandra

เราเตอร์

Message Processor

เซิร์ฟเวอร์การจัดการ

Cassandra

10389

พอร์ต LDAP

เซิร์ฟเวอร์การจัดการ

OpenLDAP

15,999 พอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตัวจัดสรรภาระงานใช้พอร์ตนี้เพื่อระบุว่าเราเตอร์พร้อมใช้งานหรือไม่ ตัวจัดสรรภาระงาน เราเตอร์

59002

พอร์ตเราเตอร์ที่ส่งคำขอหน้า SmartDocument

SmartDocs

เราเตอร์

ตัวประมวลผลข้อความจะเปิดพูลการเชื่อมต่อเฉพาะไว้ให้ Cassandra ซึ่งกำหนดค่าไว้ให้ไม่มีระยะหมดเวลา เมื่อไฟร์วอลล์อยู่ระหว่างผู้ประมวลผลข้อความกับเซิร์ฟเวอร์ Cassandra ไฟร์วอลล์อาจหมดเวลาการเชื่อมต่อ อย่างไรก็ตาม เครื่องมือประมวลผลข้อความไม่ได้ออกแบบมาเพื่อสร้างการเชื่อมต่อกับ Cassandra อีกครั้ง

วิธีป้องกันสถานการณ์นี้คือ Apigee แนะนำให้เซิร์ฟเวอร์ Cassandra, ตัวประมวลผลข้อความ และเราเตอร์อยู่ในซับเน็ตเดียวกัน เพื่อให้ไฟร์วอลล์ไม่เกี่ยวข้องกับการติดตั้งใช้งานคอมโพเนนต์เหล่านี้

หากไฟร์วอลล์อยู่ระหว่างเราเตอร์กับตัวประมวลผลข้อความ และมีการตั้งค่าระยะหมดเวลา tcp ที่ไม่มีการใช้งาน เราขอแนะนำให้ทำดังนี้

  1. ตั้งค่า net.ipv4.tcp_keepalive_time = 1800 ในการตั้งค่า sysctl บนระบบปฏิบัติการ Linux โดยที่ 1800 ควรต่ำกว่าระยะหมดเวลา tcp ที่ไม่มีไฟร์วอลล์ การตั้งค่านี้ควรคงการเชื่อมต่อให้อยู่ในสถานะใช้งานอยู่ เพื่อที่ไฟร์วอลล์จะไม่ยกเลิกการเชื่อมต่อการเชื่อมต่อ
  2. ในเครื่องมือประมวลผลข้อความทั้งหมด ให้แก้ไข /<inst_root>/apigee/customer/application/message-processor.properties เพื่อเพิ่มพร็อพเพอร์ตี้ต่อไปนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา
    conf_system_casssandra.maxconnecttimeinmillis=-1
  3. รีสตาร์ทโปรแกรมประมวลผลข้อความ
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processorรีสตาร์ท
  4. ในเราเตอร์ทั้งหมด ให้แก้ไข /<inst_root>/apigee/customer/application/router.properties เพื่อเพิ่มพร็อพเพอร์ตี้ต่อไปนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา
    conf_system_casssandra.maxconnecttimeinmillis=-1
  5. รีสตาร์ทเราเตอร์โดยทำดังนี้
    > /opt/apigee/apigee-service/bin/apigee-service edge-routerควรมีรีสตาร์ท

หากคุณติดตั้งการกำหนดค่าคลัสเตอร์โฮสต์ 12 รายการด้วยศูนย์ข้อมูล 2 แห่ง โปรดตรวจสอบว่าโหนดในศูนย์ข้อมูลทั้ง 2 แห่งสื่อสารกันผ่านพอร์ตที่แสดงด้านล่าง

ข้อกำหนดพอร์ต API BaaS

หากคุณเลือกที่จะติดตั้ง API BaaS ให้เพิ่มคอมโพเนนต์ API BaaS Stack และ API BaaSพอร์ทัล คอมโพเนนต์เหล่านี้ใช้พอร์ตที่แสดงในรูปด้านล่าง

หมายเหตุเกี่ยวกับแผนภาพนี้

  • คุณจะกำหนดให้โหนด Cassandra มีไว้สำหรับ API BaaS โดยเฉพาะหรือจะแชร์กับ Edge ก็ได้
  • การติดตั้งเวอร์ชันที่ใช้งานจริงของ API BaaS ใช้ตัวจัดสรรภาระงานระหว่างโหนด API BaaS พอร์ทัลและโหนด API BaaS Stack เมื่อกำหนดค่าพอร์ทัลและเมื่อเรียกใช้ BaaS API คุณจะต้องระบุที่อยู่ IP หรือชื่อ DNS ของตัวจัดสรรภาระงาน ไม่ใช่ของโหนดสแต็ก
  • คุณต้องกำหนดค่าโหนด Baas Stack ทั้งหมดให้ส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ภายนอก สำหรับ SMTP ที่ไม่ใช่ TLS หมายเลขพอร์ตมักจะเป็น 25 สำหรับ SMTP ที่เปิดใช้ TLS มักจะเป็น 465 แต่โปรดตรวจสอบกับผู้ให้บริการ SMTP

ตารางด้านล่างแสดงพอร์ตเริ่มต้นที่ต้องเปิดในไฟร์วอลล์แยกตามคอมโพเนนต์

ส่วนประกอบ

พอร์ต

คำอธิบาย

พอร์ทัล API BaaS

9000

พอร์ตสำหรับ API BaaS UI

สแต็ก BaaS ของ API

8080

พอร์ตที่ได้รับคำขอ API

ElasticSearch

9200 ถึง 9400

สำหรับการสื่อสารกับ API BaaS Stack และในการสื่อสารระหว่างโหนด ElasticSearch

การอนุญาตให้ใช้สิทธิ

การติดตั้ง Edge แต่ละครั้งต้องมีไฟล์ใบอนุญาตที่ไม่ซ้ำกันซึ่งคุณได้รับจาก Apigee คุณจะต้องระบุเส้นทางไปยังไฟล์ใบอนุญาตเมื่อติดตั้งเซิร์ฟเวอร์การจัดการ เช่น /tmp/license.txt

โปรแกรมติดตั้งจะคัดลอกไฟล์ใบอนุญาตไปยัง /<inst_root>/apigee/customer/conf/license.txt

หากไฟล์ใบอนุญาตถูกต้อง เซิร์ฟเวอร์การจัดการจะตรวจสอบวันหมดอายุและจำนวน ผู้ประมวลผลข้อมูลข้อความ (MP) ที่ได้รับอนุญาต หากการตั้งค่าใบอนุญาตหมดอายุ คุณจะดูบันทึกได้ใน ตำแหน่งต่อไปนี้: /<inst_root>/apigee/var/log/edge-management-server/logs ในกรณีนี้ โปรดติดต่อทีมสนับสนุนของ Apigee เพื่อสอบถามรายละเอียดการย้ายข้อมูล