संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना

Edge for Private Cloud v. 4.16.09

एक ही समय पर संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना

Apigee Edge पर एपीआई प्रॉक्सी बनाने से पहले, आपको कम से कम एक संगठन बनाना होगा. साथ ही, हर संगठन में एक या उससे ज़्यादा एनवायरमेंट और वर्चुअल होस्ट बनाने होंगे.

आम तौर पर, संगठन और एनवायरमेंट एक साथ बनाए जाते हैं. इस प्रक्रिया को आसान बनाने के लिए, apigee-provision उपयोगिता. इसे Edge Management Server पर कमांड लाइन से शुरू करें:

> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

कॉन्फ़िगरेशन फ़ाइल में ये शामिल हैं:

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 
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

इसके बाद, कमांड:

  • संगठन बनाएं
    ध्यान दें: संगठन बनाने के बाद, उसका नाम नहीं बदला जा सकता.
  • संगठन को किसी पॉड से जोड़ना. डिफ़ॉल्ट रूप से, इसे "गेटवे" पॉड से जोड़ा जाता है
  • चुने गए उपयोगकर्ता को संगठन के एडमिन के तौर पर जोड़ें. अगर उपयोगकर्ता मौजूद नहीं है, तो आपके पास उसे बनाने का विकल्प होता है एक.
  • एक या उससे ज़्यादा एनवायरमेंट बनाना
  • हर एनवायरमेंट के लिए एक या उससे ज़्यादा वर्चुअल होस्ट बनाएं
  • सभी मैसेज प्रोसेसर के साथ एनवायरमेंट को असोसिएट करना
  • आंकड़े पाने की सुविधा चालू करना

पूरी तरह से साइलेंट कॉन्फ़िगरेशन फ़ाइल के लिए, देखें संगठन के मालिक हैं.

डिफ़ॉल्ट रूप से, संगठन का नाम और एनवायरमेंट का नाम ज़्यादा से ज़्यादा 20 वर्ण का हो सकता है apigee-provision का इस्तेमाल करते समय उपयोगिता. यह सीमा तब लागू नहीं होती, जब संगठन बनाने के लिए सीधे Edge API का इस्तेमाल किया जाता है या पर्यावरण को ध्यान में रखते हुए काम करना.

संगठन बनाना

संगठन बनाने के लिए, 'संगठन बनाएं' निर्देश का इस्तेमाल करें:

> /<inst_root>/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>
दूसरी बार क्रिएट करने की प्रोसेस पूरी नहीं होगी:

एपीआई कॉल का इस्तेमाल करके संगठन बनाना

इसके अलावा, कोई संगठन बनाने के लिए इन एपीआई कॉल का इस्तेमाल किया जा सकता है. पहले कॉल से, संगठन बन जाता है:

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 कमांड का इस्तेमाल करें:

> /<inst_root>/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. 
# AXGROUP=axgroup-001 # Default value is axgroup-001
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

निर्देश:

  • एनवायरमेंट बनाता है
  • एनवायरमेंट के लिए एक वर्चुअल होस्ट बनाता है
  • एनवायरमेंट को उस संगठन से जुड़े पॉड में मौजूद सभी मैसेज प्रोसेसर से जोड़ता है जिसमें एनवायरमेंट मौजूद है.

  • आंकड़े चालू करता है ध्यान दें: अगर आपने किसी संगठन में एक ही एनवायरमेंट के लिए आंकड़े देखने की सुविधा चालू की है, तो आपको संगठन के सभी एनवायरमेंट के आंकड़े देखने की सुविधा चालू की जा सकती है.

एपीआई कॉल का इस्तेमाल करके एनवायरमेंट बनाना

इसके अलावा, एनवायरमेंट बनाने के लिए इन एपीआई कॉल का इस्तेमाल किया जा सकता है. पहला कॉल वातावरण बनाता है:

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

जहां "&lt;uuid&gt;" क्या मैसेज प्रोसेसर का यूयूआईडी. इस निर्देश का इस्तेमाल करके, यूयूआईडी पाया जा सकता है:

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

यहां "<mp-ip>", मैसेज प्रोसेसर का आईपी पता है.

अगला एपीआई कॉल, किसी दिए गए एनवायरमेंट के लिए Analytics को चालू करता है. यह सभी डेटासेंटर के पीओडी में, Qpid और Postgres सर्वर की मौजूदगी की पुष्टि करता है. इसके बाद, Analytics में शामिल होना शुरू होता है का इस्तेमाल किया जा सकता है.

> /<inst_root>/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 प्रॉपर्टी इसमें Postgres UUID की कॉमा-सेपरेटेड लिस्ट होती है. साथ ही, qpid-server प्रॉपर्टी में 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"

वर्चुअल होस्ट बनाएं

किसी संगठन के मौजूदा एनवायरमेंट में वर्चुअल होस्ट बनाया जा सकता है. अक्सर, एक एनवायरमेंट में कई वर्चुअल होस्ट काम करते हैं. उदाहरण के लिए, एक वर्चुअल होस्ट, एचटीटीपी प्रोटोकॉल, जबकि उसी एनवायरमेंट में कोई दूसरा वर्चुअल होस्ट एन्क्रिप्ट (सुरक्षित) किए गए एचटीटीपीएस पर काम करता है प्रोटोकॉल का इस्तेमाल करना चाहिए.

अतिरिक्त वर्चुअल होस्ट बनाने या ऐसे एनवायरमेंट के लिए वर्चुअल होस्ट बनाने के लिए, यहां दिए गए एपीआई कॉल का इस्तेमाल करें जिसमें कोई वर्चुअल होस्ट न हो:

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>9443</Port> \
  </VirtualHost>' 
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

वर्चुअल होस्ट बनाने के बारे में पूरी जानकारी के लिए, http://apigee.com/docs/api-services/content/creating-virtual-host देखें. इसमें, एचटीटीपीएस के बजाय टीएलएस/एसएसएल का इस्तेमाल करने वाला सुरक्षित वर्चुअल होस्ट बनाने के बारे में भी बताया गया है.