Edge for Private Cloud v. 4.16.09
एक ही समय पर संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना
Apigee Edge पर एपीआई प्रॉक्सी बनाने से पहले, आपको कम से कम एक संगठन बनाना होगा. साथ ही, हर संगठन में एक या उससे ज़्यादा एनवायरमेंट और वर्चुअल होस्ट बनाने होंगे.
आम तौर पर, संगठन और एनवायरमेंट एक साथ बनाए जाते हैं. इस प्रोसेस को आसान बनाने के लिए, apigee-provision यूटिलिटी का इस्तेमाल करें. इसे Edge मैनेजमेंट सर्वर पर कमांड लाइन से शुरू करें:
> /<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
इसके बाद, यह निर्देश दें:
- संगठन बनाएं
ध्यान दें: संगठन बनाने के बाद, उसका नाम नहीं बदला जा सकता. - संगठन को किसी पॉड से जोड़ें. डिफ़ॉल्ट रूप से, यह "गेटवे" पॉड से जुड़ता है
- किसी उपयोगकर्ता को संगठन के एडमिन के तौर पर जोड़ना. अगर उपयोगकर्ता मौजूद नहीं है, तो आपके पास एक नया उपयोगकर्ता बनाने का विकल्प है.
- एक या उससे ज़्यादा एनवायरमेंट बनाएं
- हर एनवायरमेंट के लिए एक या इससे ज़्यादा वर्चुअल होस्ट बनाना
- एनवायरमेंट को सभी मैसेज प्रोसेसर से जोड़ें
- Analytics की सुविधा चालू करना
साइलेंट कॉन्फ़िगरेशन फ़ाइल की पूरी जानकारी के लिए, किसी संगठन को शामिल करना लेख पढ़ें.
apigee-provision यूटिलिटी का इस्तेमाल करने पर, संगठन के नाम और एनवायरमेंट के नाम में डिफ़ॉल्ट रूप से ज़्यादा से ज़्यादा 20 वर्ण हो सकते हैं. अगर संगठन या एनवायरमेंट बनाने के लिए, Edge API का सीधे तौर पर इस्तेमाल किया जाता है, तो यह सीमा लागू नहीं होती.
कोई संगठन बनाना
संगठन बनाने के लिए, create-org कमांड का इस्तेमाल करें:
> /<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>"
यहां "<uuid>", मैसेज प्रोसेसर का यूयूआईडी है. इस निर्देश का इस्तेमाल करके, यूयूआईडी हासिल किया जा सकता है:
> curl http://<mp-ip>:8082/v1/servers/self
जहां "<mp-ip>", मैसेज प्रोसेसर का आईपी पता है.
अगला एपीआई कॉल, किसी दिए गए एनवायरमेंट के लिए Analytics को चालू करता है. यह सभी डेटासेंटर के POD में, 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 पर जाएं. इसमें एचटीटीपीएस पर टीएलएस/एसएसएल का इस्तेमाल करने वाला सुरक्षित वर्चुअल होस्ट बनाने की जानकारी भी शामिल है.