NGINX রাউটার ও লোড ব্যালেন্সারে মাইগ্রেশন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

২০১৫ সালের আগস্ট ও সেপ্টেম্বর মাস জুড়ে, আমরা Apigee Edge ক্লাউড রাউটার ও লোড ব্যালেন্সারকে NGINX-এ (উচ্চারণ "ইঞ্জিন এক্স") মাইগ্রেট করছি। NGINX, একটি ওপেন-সোর্স ওয়েব সার্ভার, আমাদের বর্তমান লোড ব্যালেন্সার ও রাউটারের চেয়েও ভালো পারফর্ম্যান্স ও আরও বেশি কনকারেন্সি প্রদান করে।

আমাদের ক্লাউড গ্রাহকদের জন্য এর অর্থ কী

মোটকথা, এই পরিবর্তনটি আপনার কাছে স্বচ্ছ হওয়া উচিত এবং আপনার সিস্টেম প্রত্যাশিতভাবে কাজ করছে কিনা তা যাচাই করা ছাড়া আপনাকে আর কিছু করতে হবে না। আমরা যেসব পদক্ষেপ নেব তার বিবরণ এবং প্রায়শই জিজ্ঞাসিত কিছু প্রশ্নের উত্তর নিচে দেওয়া হল।

ধাপ ১ - সফ্টওয়্যার আপডেট

এই অ্যাক্টিভিটির ফলে পরিষেবা যাতে প্রভাবিত না হয় তা নিশ্চিত করতে, আমরা ফেজড ডিপ্লয়মেন্ট মডেল ব্যবহার করে সমস্ত রাউটারকে নতুন NGINX-ভিত্তিক রাউটারে আপগ্রেড করব।

ধাপ ২ - প্রোডাকশন পরিবেশ নয় এমন পরিবেশ থেকে লোড ব্যালেন্সার টিয়ার সরিয়ে দিন

লোড ব্যালেন্সিং ফাংশনালিটি ম্যানেজ করার জন্য নতুন NGINX রাউটার ব্যবহার করার ফলে, আমরা প্রথমে আপনার নন-প্রোডাকশন এনভায়রনমেন্টে আগে থেকে থাকা লোড ব্যালেন্সার টিয়ার সরানোর প্রসেস শুরু করব। এই ধাপ চলাকালীন প্রোডাকশন লোড ব্যালেন্সার অক্ষত ও অপরিবর্তিত থাকবে। আগে থেকে থাকা লোড ব্যালেন্সার সরানোর আগে, ট্রাফিক যাতে প্রত্যাশিতভাবে কাজ করে তা নিশ্চিত করতে আমরা সর্বাত্মক প্রচেষ্টা করব। এই ধাপটি সম্পূর্ণ করার জন্য আপনাকে কোনও অ্যাকশন নিতে হবে না। তবে, আপনাকে Apigee-তে যেকোনও সমস্যার ব্যাপারে অভিযোগ জানাতে হবে এবং আমরা ৩ নম্বর ধাপ শুরু করার আগে আপনার সাথে মিলে সেই সমস্যার সমাধান করব।

ধাপ ৩ - প্রোডাকশন এনভায়রনমেন্টে লোড ব্যালেন্সার টিয়ার সরিয়ে দিন

ধাপ ২ সফলভাবে সম্পূর্ণ করার পরে, আমরা প্রোডাকশন এনভায়রনমেন্টে লোড ব্যালেন্সার টিয়ার সরানোর জন্য একগুচ্ছ রক্ষণাবেক্ষণ উইন্ডো নির্ধারণ করব। এটি করার জন্য, ধাপ ২-এ উল্লেখ করা একই পদ্ধতি ব্যবহার করা হবে। এর ফলে, রানটাইম API ট্রাফিক প্রত্যাশিতভাবে কাজ করা চালিয়ে যেতে পারবে।

প্রোডাক্টের কার্যকারিতায় পরিবর্তন

NGINX-এ পরিবর্তন করার ফলে প্রোডাক্টের কার্যকারিতায় কিছু পরিবর্তন হয়েছে।

বন্ধ করে দেওয়া হয়েছে

ProxyEndpoints-এ নিম্নলিখিত প্রপার্টি আর কাজ করে না:

  • allow.http10
  • allow.http11
  • allow.http.method.*
  • allow.POST.without.content.length
  • allow.PUT.without.content.length

এই অবলোপন এড়াতে, নিম্নলিখিত কমিউনিটি নিবন্ধটি দেখুন: প্রক্সি এন্ডপয়েন্ট HTTP অনুমোদিত মেথড প্রপার্টি কাজ করছে না।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

NGINX মাইগ্রেশন সম্পর্কে প্রায়শই জিজ্ঞাসিত কিছু প্রশ্নের উত্তর নিচে দেওয়া হল।

এর ফলে কি পাবলিক আইপি অ্যাড্রেস পরিবর্তন হতে পারে? আমাদের কিছু মার্চেন্ট নির্দিষ্টভাবে পরিচিত IP থেকে অ্যাক্সেস করার অনুমতি দেয় এবং তারা ফ্লো পরিবর্তন করলে মার্চেন্টের ফ্লো ভেঙে যায়।
ধাপ ১-এ উত্তরটি হল ‘না’, কারণ আমরা আগে থেকে থাকা লোড ব্যালেন্সার স্পর্শ করছি না, যা সরাসরি ট্রাফিক পরিবেশনকারী কোনও IP পরিবর্তন করবে না। তবে, Amazon Web Services (AWS) লোড ব্যালেন্সিং পরিষেবার স্বভাবের কারণে, সাধারণ স্কেলিং নিয়ম প্রযোজ্য হয়, যার অর্থ হল, স্কেলিং লজিকের (আগে থেকেই থাকা কার্যকারিতা) অংশ হিসেবে IP পরিবর্তন হতে পারে। এই কারণে আমরা Apigee Edge প্রোডাক্ট স্যুটের সাথে নর্থবাউন্ড হোয়াইটলিস্ট কনফিগারেশন প্রয়োগ করার পরামর্শ দিই না। ধাপ ২ ও ৩ চলাকালীন, লোড ব্যালেন্সার ও তার সাথে যুক্ত IP অ্যাড্রেস সরিয়ে দেওয়ার ফলে হোয়াইটলিস্ট সংক্রান্ত প্রভাব পড়ে। এর ফলে, আমরা এইসব ধাপ চলাকালীন আপনার সাথে ঘনিষ্ঠভাবে কোঅর্ডিনেট করব যাতে অ্যাক্সেস দেওয়ার জন্য নতুন IP অ্যাড্রেস প্রদান করে সুষ্ঠু ট্রানজিশন নিশ্চিত করা যায়।
আমাদের অরিজিন সার্ভারে প্রয়োগ করা IP বিধিনিষেধের উপর কি এর কোনও প্রভাব পড়বে?
কোনও পরিবর্তন করার প্রয়োজন নেই, ধরে নেওয়া হচ্ছে যে অরিজিন সার্ভার হল টার্গেট এন্ডপয়েন্ট সার্ভার (প্রক্সি বান্ডেল থেকে কল করা সার্ভার)। এই পরিবর্তন Apigee-এর উত্তরমুখী দিক বা Apigee-তে প্রবেশ বিন্দুতে হয়েছে।
আমাদের আগে থেকে থাকা CNAME কি পরিবর্তন করতে হবে?
না। আগে থেকে থাকা CNAME এন্ট্রি প্রত্যাশা অনুযায়ী কাজ করা চালিয়ে যাবে।
SSL সার্টিফিকেট মাইগ্রেশন করা খুব কঠিন হবে। আপনি কীভাবে এটি ম্যানেজ করবেন?
আপনি SSL ব্যবহার করলে, প্রাথমিক ধাপটি আগে থেকে থাকা SSL কনফিগারেশনের উপর প্রভাব ফেলবে না। তবে, ২ ও ৩ নম্বর ধাপ অনুসরণ করার আগে, নতুন রাউটারে SSL ঠিকমতো সেট-আপ করা হয়েছে কিনা তা নিশ্চিত করতে আমাদের আপনার সাথে ঘনিষ্ঠভাবে কো-অর্ডিনেট করতে হবে।
আমার অ্যাপ/ক্লায়েন্ট SNI সাপোর্ট না করলে কী হবে?
SNI কাজ করে কিনা তা কনফার্ম না করা পর্যন্ত ২ ও ৩ নম্বর ধাপ সম্পূর্ণ করা যাবে না।
কোনও ডাউনটাইম থাকবে?
আমরা কোনও ডাউনটাইম আশা করি না। আমাদের বর্তমান রিলিজ উইন্ডোতে আমাদের স্ট্যান্ডার্ড ডিপ্লয়মেন্ট মডেল ব্যবহার করে পরিবর্তনগুলি প্রয়োগ করা হবে।