ایجاد سازمان، محیط، و میزبان مجازی

Edge for Private Cloud v. 4.17.05

ایجاد سازمان، محیط، و میزبان مجازی به‌طور هم‌زمان

قبل‌از اینکه یک پراکسی API در Apigee Edge ایجاد کنید، باید حداقل یک سازمان و در هر سازمان، یک یا چند محیط و میزبان مجازی ایجاد کنید.

معمولاً سازمان‌ها و محیط‌ها با هم ایجاد می‌شوند. برای ساده کردن فرایند، از ابزار apigee-provision استفاده کنید. آن را از خط فرمان در «سرور مدیریت Edge» فراخوانی کنید:

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

فایل پیکربندی شامل موارد زیر است:

# 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. 
# 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 

سپس فرمان:

  • ایجاد سازمان
    توجه: پس‌از ایجاد سازمان نمی‌توانید آن را تغییر نام دهید.
  • سازمان را با یک واحد پشتیبانی مرتبط کنید، به‌طور پیش‌فرض با واحد پشتیبانی «دروازه» مرتبط می‌شود
  • کاربر مشخص‌شده را به‌عنوان سرپرست سازمان اضافه کنید. اگر کاربر وجود ندارد، می‌توانید کاربری ایجاد کنید.
  • ایجاد یک یا چند محیط
  • برای هر محیط، یک یا چند میزبان مجازی ایجاد کنید
  • محیط را با همه «پردازشگر(های) پیام» مرتبط کنید
  • فعال کردن تجزیه‌وتحلیل

برای فایل پیکربندی بی‌صدای کامل، به‌کارگیری سازمان را ببینید.

به‌طور پیش‌فرض، حداکثر طول نام سازمان و نام محیط ۲۰ نویسه است وقتی از ابزار apigee-provision استفاده می‌کنید. اگر از Edge API مستقیماً برای ایجاد سازمان یا محیط استفاده کنید، این محدودیت اعمال نمی‌شود.

ایجاد سازمان

برای ایجاد سازمان، از فرمان create-org استفاده کنید:

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

این دستورگان سازمان را ایجاد می‌کند، اما محیط‌ها و میزبان‌های مجازی موردنیاز سازمان را برای مدیریت تماس‌های میانای برنامه‌سازی کاربردی اضافه یا پیکربندی نمی‌کند.

فایل پیکربندی حاوی نام سازمان و نشانی ایمیل سرپرست سازمان است. نویسه‌هایی که می‌توانید در مشخصه نام استفاده کنید به این موارد محدود می‌شود: a-z0-9\-$%. در نام از فاصله، نقطه، یا حروف بزرگ استفاده نکنید:

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

سپس فرمان:

  • سازمان را ایجاد می‌کند
  • سازمان را با یک واحد کوچک مرتبط می‌کند، به‌طور پیش‌فرض آن را با واحد کوچک «دروازه» مرتبط می‌کند
  • کاربر مشخص‌شده را به‌عنوان سرپرست سازمان اضافه می‌کند. کاربر باید ازقبل وجود داشته باشد؛ درغیراین‌صورت، نوشتار خطا صادر می‌کند.
<Error>
    <Code>organizations.OrganizationAlreadyExists</Code>
    <Message>Organization : test already exists</Message>
    <Contexts/>
</Error>

ایجاد سازمان بااستفاده از تماس‌های API

یا می‌توانید از فراخوان‌های API زیر برای ایجاد سازمان استفاده کنید. اولین تماس سازمان را ایجاد می‌کند:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<adminPasswd> \
-X POST http://<ms-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://<ms-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=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. 
# 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

فرمان:

  • محیط را ایجاد می‌کند
  • یک میزبان مجازی واحد برای محیط ایجاد می‌کند
  • محیط را با همه «پردازشگر(های) پیام» در غلاف منسوب به سازمان حاوی محیط منسوب می‌کند.
  • تجزیه‌وتحلیل را فعال می‌کند
    توجه: اگر تجزیه‌وتحلیل را برای یک محیط در سازمان فعال کنید، باید تجزیه‌وتحلیل را برای همه محیط‌های سازمان فعال کنید.

بااستفاده از تماس‌های API محیطی ایجاد کنید

یا می‌توانید از فراخوان‌های API زیر برای ایجاد محیط استفاده کنید. تماس اول محیط را ایجاد می‌کند:

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

تماس بعدی محیط را با «پردازشگر پیام» مرتبط می‌کند. این تماس را برای هر «پردازشگر پیام» که می‌خواهید با محیط مرتبط کنید برقرار کنید:

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

که در آن «<uuid>» شناسه جهانی یکتای «پردازشگر پیام» است. می‌توانید بااستفاده از این فرمان، UUID را دریافت کنید:

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

که در آن «<mp-ip>» نشانی IP «پردازشگر پیام» است.

فراخوانی API بعدی Analytics را برای محیطی معین فعال می‌کند. وجود سرورهای Qpid و Postgres را در «واحد پردازش داده» همه مراکز داده اعتبارسنجی می‌کند. سپس فرایند آماده‌سازی Analytics را برای سازمان و محیط داده‌شده شروع می‌کند.

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

این فایل پیکربندی شامل موارد زیر است:

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"

که در آن 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>:<passwd> http://<ms-ip>/v1/servers?pod=central

برونداد این فرمان یک شیء JSON است. برای هر سرور Qpid، برونداد را در قالب زیر خواهید دید: فرم:

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

برای Postgres، فرمان زیر را اجرا کنید:

curl -u <sysAdminEmail>:<passwd> http://<ms-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://<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>443</Port> \
  </VirtualHost>' 

برای شرح کامل ایجاد میزبان مجازی، ازجمله ایجاد میزبان مجازی ایمن که از TLS/SSL روی HTTPS استفاده می‌کند، به پیکربندی دسترسی TLS به میانای برنامه‌سازی کاربردی برای «ابر خصوصی» مراجعه کنید.