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

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

ভিডিও: Apigee Organization সেট-আপ ও কনফিগারেশনের ওভারভিউ পেতে একটি ছোট ভিডিও দেখুন।

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

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

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

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

এই কনফিগ ফাইলে এগুলি রয়েছে:

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 অ্যাক্সেস কনফিগার করা দেখুন।