সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট তৈরি করা

Edge for Private Cloud v. 4.17.09

একই সময়ে সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট তৈরি করা

Apigee Edge-এ API প্রক্সি তৈরি করার আগে, আপনাকে অন্তত একটি সংস্থা তৈরি করতে হবে এবং প্রতিটি সংস্থার মধ্যে এক বা একাধিক এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট থাকতে হবে।

সাধারণত, সংস্থা এবং পরিবেশ একসাথে তৈরি করা হয়। প্রসেসটি সহজ করতে, apigee-provision ইউটিলিটি ব্যবহার করুন। এজ ম্যানেজমেন্ট সার্ভারে কমান্ড লাইন থেকে এটি চালু করুন:

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

এই স্ক্রিপ্টটি সংস্থা তৈরি করে, তবে API কলগুলি পরিচালনা করার জন্য সংস্থার প্রয়োজনীয় পরিবেশ এবং ভার্চুয়াল হোস্টগুলি যোগ বা কনফিগার করে না।

কনফিগারেশন ফাইলে সংস্থার নাম এবং সংস্থার অ্যাডমিনের ইমেল আইডি থাকে। নাম অ্যাট্রিবিউটে আপনি যেসব অক্ষর ব্যবহার করতে পারবেন সেগুলি হল: 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। --> এই কমান্ড ব্যবহার করে আপনি UUID পেতে পারেন:

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

যেখানে "<mp-ip>" হল মেসেজ প্রসেসরের IP অ্যাড্রেস।

পরবর্তী API কল কোনও নির্দিষ্ট এনভায়রনমেন্টের জন্য Analytics চালু করে। এটি সমস্ত ডেটাসেন্টারের POD-এ 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 প্রপার্টিতে কমা দিয়ে আলাদা করা Postgres UUID-এর তালিকা থাকে এবং qpid-server প্রপার্টিতে Qpid UUID থাকে। এই 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>' 

HTTPS-এর মাধ্যমে TLS/SSL ব্যবহার করে এমন একটি সুরক্ষিত ভার্চুয়াল হোস্ট তৈরি করা সহ একটি ভার্চুয়াল হোস্ট তৈরি করার সম্পূর্ণ বিবরণের জন্য, প্রাইভেট ক্লাউডের জন্য একটি API-তে TLS অ্যাক্সেস কনফিগার করা দেখুন।