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

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

ভিডিও: Apigee সংস্থা সেট-আপ ও কনফিগারেশন সম্পর্কে এক ঝলকে জানতে একটি ছোট ভিডিও দেখুন।

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

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

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

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

যেখানে configFile হল কনফিগারেশন ফাইলের পাথ যা নিম্নলিখিত ফাইলটির মতো দেখতে:

# Set Edge sys admin credentials.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=admin_password  # If omitted, you are prompted for it.
NEW_USER="y"
USER_NAME=orgAdmin@myCo.com
FIRST_NAME=foo
LAST_NAME=bar
USER_PWD="userPword"
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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

কোনও সংস্থা সেট-আপ করার সময়, setup-org স্ক্রিপ্ট নিম্নলিখিত কাজগুলি করে:

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

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

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

সংস্থা তৈরি করতে create-org কমান্ড ব্যবহার করুন, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

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

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

কনফিগারেশন ফাইলে সংস্থার নাম ও সংস্থার অ্যাডমিনের ইমেল আইডি থাকে । name অ্যাট্রিবিউটে আপনি যেসব অক্ষর ব্যবহার করতে পারবেন সেগুলি a-z0-9\-$%-এর মধ্যে সীমাবদ্ধ। নামে স্পেস, পূর্ণচ্ছেদ বা বড় হাতের অক্ষর ব্যবহার করবেন না:

APIGEE_ADMINPW=admin_password    # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ORG_ADMIN=orgAdmin@myCo.com

create-org স্ক্রিপ্ট:

  • সংস্থা তৈরি করে।
  • "গেটওয়ে" পডের সাথে সংস্থাটিকে অ্যাসোসিয়েট করে।
  • নির্দিষ্ট ব্যবহারকারীকে সংস্থার অ্যাডমিনিস্ট্রেটর হিসেবে যোগ করে। ব্যবহারকারীকে আগেই থাকতে হবে; অন্যথায় স্ক্রিপ্ট একটি সমস্যা দেখাবে।

API কল ব্যবহার করে সংস্থা তৈরি করা

সংস্থা তৈরি করতে আপনি নিম্নলিখিত API কল ব্যবহার করতে পারবেন। প্রথম কলটি সংস্থা তৈরি করে:

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_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://management_server_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=admin_password  # If omitted, you are prompted for it.
ORG_NAME=example  # lowercase only, no spaces, underscores, or periods.
ENV_NAME=prod  # lowercase only
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

add-env কমান্ড:

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

API কল ব্যবহার করে পরিবেশ তৈরি করা

অথবা, এনভায়র্নমেন্ট তৈরি করতে আপনি নিম্নলিখিত API কল ব্যবহার করতে পারেন। প্রথম কলটি পরিবেশ তৈরি করে:

curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \
  -X POST http://management_server_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://management_server_IP:8080/v1/organizations/org_name/environments/env_name/servers \
  -d "action=add&uuid=uuid"

যেখানে uuid হল মেসেজ প্রসেসরের UUID। আপনি কমান্ড ব্যবহার করে UUID পেতে পারেন:

curl http://Message_Processor_IP:8082/v1/servers/self

যেখানে Message_Processor_IP হল মেসেজ প্রসেসরের IP অ্যাড্রেস।

পরবর্তী API কল কোনও নির্দিষ্ট এনভায়রনমেন্টের জন্য Analytics চালু করে। এটি সব ডেটাসেন্টারের POD-তে Qpid এবং Postgres সার্ভার আছে কিনা তা যাচাই করে। তারপরে, এটি প্রদত্ত সংস্থা এবং পরিবেশের জন্য Analytics অনবোর্ডিং প্রক্রিয়া শুরু করে।

এই কনফিগ ফাইলে এগুলি থাকে:

  # Set Edge sys admin credentials.
  ADMIN_EMAIL=your@email.com
  APIGEE_ADMINPW=admin_password

  ORG_NAME=orgName  # lowercase only, no spaces, underscores, or periods.
  ENV_NAME=envName  # lowercase only

যেখানে 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:password http://management_server_IP/v1/servers?pod=central

এই কমান্ডের আউটপুট হল একটি JSON অবজেক্ট। প্রতিটি Qpid সার্ভারের জন্য, আপনি এই ফর্ম্যাটে আউটপুট দেখতে পাবেন:

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

Postgres-এর জন্য, নিম্নলিখিত কমান্ড রান করুন:

curl -u sysAdminEmail:admin_password http://management_server_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://management_server_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 অ্যাক্সেস কনফিগার করালিঙ্কে দেখুন।