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

প্রাইভেট ক্লাউডের জন্য Edge v. 4.16.09

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

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

সাধারণত, সংস্থা ও পরিবেশ একসাথে তৈরি করা হয়। প্রসেস সহজ করতে, 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 

কমান্ডটি হল:

  • সংস্থা তৈরি করুন
    মনে রাখবেন: সংস্থা তৈরি করার পরে আপনি সেটির নাম পরিবর্তন করতে পারবেন না।
  • কোনও পডের সাথে প্রতিষ্ঠানকে অ্যাসোসিয়েট করুন, ডিফল্ট হিসেবে এটি "গেটওয়ে" পডের সাথে অ্যাসোসিয়েট করা হয়
  • উল্লেখ করা ব্যবহারকারীকে অর্গানাইজেশন অ্যাডমিন হিসেবে যোগ করুন। ব্যবহারকারী না থাকলে, আপনি একটি তৈরি করতে পারবেন।
  • এক বা একাধিক এনভায়র্নমেন্ট তৈরি করা
  • প্রতিটি এনভায়র্নমেন্টের জন্য এক বা একাধিক ভার্চুয়াল হোস্ট তৈরি করা
  • সব মেসেজ প্রসেসরের সাথে এনভায়র্নমেন্ট অ্যাসোসিয়েট করা
  • অ্যানালিটিক্স চালু করা

সম্পূর্ণ সাইলেন্ট কনফিগারেশন ফাইলের জন্য, কোনও সংস্থাকে অনবোর্ড করা দেখুন।

apigee-provision ইউটিলিটি ব্যবহার করার সময় সংস্থা ও এনভায়রনমেন্টের নামের সর্বাধিক দৈর্ঘ্য ২০টি অক্ষর হয়। আপনি যদি সরাসরি Edge API ব্যবহার করে সংস্থা বা এনভায়র্নমেন্ট তৈরি করেন, তাহলে এই সীমা প্রযোজ্য হবে না।

সংস্থা তৈরি করা

সংস্থা তৈরি করতে create-org কমান্ড ব্যবহার করুন:

> /<inst_root>/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 কল ব্যবহার করতে পারেন। প্রথম কলটি org তৈরি করে:

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

কমান্ড:

  • পরিবেশ তৈরি করে
  • এনভায়রনমেন্টের জন্য একটি ভার্চুয়াল হোস্ট তৈরি করে
  • পরিবেশের সাথে যুক্ত সংস্থার পডের মধ্যে থাকা সব মেসেজ প্রসেসরকে পরিবেশের সাথে যুক্ত করে।
  • অ্যানালিটিক্স চালু করে
    মনে রাখবেন: কোনও সংস্থার একটি এনভায়রনমেন্টের জন্য অ্যানালিটিক্স চালু করলে, আপনাকে অবশ্যই সংস্থার সব এনভায়রনমেন্টের জন্য অ্যানালিটিক্স চালু করতে হবে।

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 অনবোর্ডিং প্রক্রিয়া শুরু করে।

> /<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 থাকে। আপনাকে এইসব 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>9443</Port> \
  </VirtualHost>' 

HTTPS-এর মাধ্যমে TLS/SSL ব্যবহার করে এমন একটি সুরক্ষিত ভার্চুয়াল হোস্ট তৈরি করা সহ ভার্চুয়াল হোস্ট তৈরি করার সম্পূর্ণ বিবরণ পেতে, http://apigee.com/docs/api-services/content/creating-virtual-host দেখুন।