কেউ এমন একটি charm খুঁজে পায় যা VPN চালানোর দাবি করে, তা ডিপ্লয় করে, অ্যাপ্লিকেশনটি এক্সপোজ করে এবং একটি ক্লায়েন্ট সংযোগের অপেক্ষা করে। ডিপ্লয়মেন্ট সফল হয়, পোর্ট খোলে, তবুও টানেল কাজ করে না, কারণ তিনটি অসংলগ্ন প্রতিশ্রুতি একটিতে মিলিয়ে দেওয়া হয়েছিল। একটি charm হলো নির্দিষ্ট চুক্তিসহ একটি ডিপ্লয়মেন্ট বাস্তবায়ন। ওই প্রতিশ্রুতিগুলো আলাদা করে দেখুন, আর ঘাটতিগুলো রোলআউটের পরে নয়, আগেই দেখা যাবে।

ধাপ এক: যে আর্টিফ্যাক্ট নিয়ে পড়ছেন সেটি পিন করুন

প্রার্থীর নিজস্ব মেটাডেটা পড়ুন: প্রকাশক, সোর্স রিপোজিটরি, চ্যানেল, রিভিশন, বেস এবং আর্কিটেকচার। তারপর নির্ধারণ করুন কে ওয়ার্কলোডের ভেতরের VPN সফটওয়্যারটি রক্ষণাবেক্ষণ করে এবং কে তার নিরাপত্তা আপডেট সরবরাহ করে, কারণ এরা প্রায়ই দুটি ভিন্ন পক্ষ। ভালোভাবে রক্ষণাবেক্ষণ করা charm-এর ভেতরে অরক্ষণাবেক্ষিত upstream হলো একটি সাপোর্ট সমস্যা যা খারাপ সপ্তাহের অপেক্ষায় থাকে।

juju info CHARM_NAME Juju 3.6-এ চ্যানেল, বেস ও আর্কিটেকচার জানায়, এবং ডকুমেন্টেশন উল্লেখ করে যে নির্দিষ্ট রিভিশনের কোয়েরি ওই ফিল্টারগুলোর সঙ্গে একত্র করা যায় না। কমান্ডটি যে সমন্বয় প্রত্যাখ্যান করে তা বানানোর বদলে রিভিশনটি আলাদাভাবে জিজ্ঞাসা করুন। বেস ও আর্কিটেকচারও পড়ুন, কারণ একটি চ্যানেল একাধিক কভার করতে পারে।

আপনি যে সঠিক সমন্বয়টি পর্যালোচনা করেছেন তা ডিপ্লয়মেন্টের পাশে লিখে রাখুন। তাহলে চ্যানেল সরানো একটি রিফ্রেশ হবে আগে ও পরে সহ ইচ্ছাকৃত পরিবর্তন, সোমবারের কোনো অপ্রত্যাশিত ঘটনা নয়।

ধাপ দুই: কনফিগারেশনকে চুক্তি হিসেবে পড়ুন

charm কোন ভূমিকা পালন করে তা নির্ধারণ করুন: রিমোট অ্যাক্সেস শেষ করা, বিদ্যমান VPN-এ যোগ দেওয়া, নাকি সম্পূর্ণ অন্য কিছু। তারপর খুঁজুন এটি কীভাবে ক্লায়েন্ট এনরোলমেন্ট, বিশ্বস্ত ইস্যুয়ার, ক্রেডেনশিয়াল রোটেশন ও রিভোকেশন নথিভুক্ত করে। এই চারটি ঠিক করে আপনি এটি চালাতে পারবেন কি না, এবং তৈরি করা ক্লায়েন্ট ফাইল একটি সংবেদনশীল আউটপুট, টিকিটের জন্য ফাইল নয়।

charm যে ইন্টারফেস ও অ্যাকশন সত্যিই প্রকাশ করে সেগুলো অনুসরণ করুন। একই সফটওয়্যারের অন্য charm-এ এনরোলমেন্ট অ্যাকশন আছে বলে ধরে নেবেন না।

হাতে করা সম্পাদনার সঙ্গে reconciliation কী করে তা জিজ্ঞাসা করুন। যদি charm পরের আপডেটে একটি কনফিগারেশন ফাইল ওভাররাইট করে, তাহলে হাতে করা সংশোধনের আয়ু এক আপগ্রেড। রক্ষণাবেক্ষণকারীদের জিজ্ঞাসা করুন এই আচরণ কোথায় নথিভুক্ত, আর নীরবতাকে অজানা হিসেবে ধরুন।

ধাপ তিন: লিসেনারকে ফরওয়ার্ড করা পথ থেকে আলাদা করুন

বাইরের লিসেনার হলো সেই সকেট যা টানেল গ্রহণ করে। ফরওয়ার্ডিং হলো এর ভেতরের ট্রাফিকের সঙ্গে যা ঘটে, আর রিটার্ন পাথ হলো যা উত্তরগুলোকে ফিরে আসতে দেয়। একটি charm প্রথমটি দিতে পারে এবং বাকি দুটি অবকাঠামো দলের কাছে রেখে দিতে পারে।

ইগ্রেস হলো তৃতীয় অংশ। যদি টানেল ক্লায়েন্টদের এই হোস্টের মাধ্যমে ইন্টারনেটে পৌঁছাতে হয়, তবে ঠিকানা বা অনুবাদের একটি ব্যবস্থা থাকতে হবে, এবং পোর্ট খুললে তা তৈরি হয় না। প্রথম ক্লায়েন্ট আসার আগেই ওই অংশের একটি মালিক নির্ধারণ করুন।

ধাপ চার: এক্সপোজার একটি ফায়ারওয়াল কাজ

Juju 3.6-এ একটি অ্যাপ্লিকেশন এক্সপোজ করলে ক্লাউড ফায়ারওয়াল নিয়ম সমন্বয় হয়, এবং ডিফল্টভাবে এটি যেকোনো উৎস থেকে ওয়ার্কলোডের খোলা পোর্টগুলোতে ট্রাফিক অনুমোদন করে। কমান্ডের endpoint ও CIDR সিলেক্টরগুলো ঠিক এজন্যই আছে যাতে ওই ডিফল্ট সংকুচিত করা যায়।

এক্সপোজার VPN ব্যবহারকারী তৈরি করে না, তাদের ক্রেডেনশিয়াল যাচাই করে না, ফরওয়ার্ডিং নীতি ইনস্টল করে না। এটি এটাও প্রমাণ করে না যে ওয়ার্কলোড আপনার প্রত্যাশিত ঠিকানা ও পরিবহনে শুনছে, তাই এক্সপোজারের পরের পরীক্ষাটি সফলতার বার্তার চেয়ে বেশি গুরুত্বপূর্ণ। ইউনিটের শোনা সকেট এবং ক্লাউড নিয়ম—দুটোই যাচাই করুন।

ধাপ পাঁচ: চারটি পরীক্ষা দিয়ে গ্রহণ করুন

অনুমোদিত ডিপ্লয়মেন্টের পরে একটি নতুন ক্লায়েন্ট এনরোল করুন এবং অভীষ্ট প্রাইভেট সেবাটি নিশ্চিত করুন। তারপর ওই পরিচয় বাতিল করুন এবং নিশ্চিত করুন যে অ্যাক্সেস সত্যিই শেষ হয়, কেবল পরের লগইন প্রত্যাখ্যাত হয় তা নয়। এমন নেটওয়ার্ক থেকে পরীক্ষাটি পুনরাবৃত্তি করুন যা আপনি নিয়ন্ত্রণ করেন না, আর তারপর অফিসের ভেতর থেকে, কারণ এই দুই পথ ভিন্ন প্রশ্নের উত্তর দেয়।

আপগ্রেড ও পুনঃসংযোগ দিয়ে শেষ করুন, কারণ সেখানেই reconciliation, ক্রেডেনশিয়াল হ্যান্ডলিং ও সেবা পুনরারম্ভ একসঙ্গে কাজ করে। যদি ডকুমেন্টেশন ব্যাখ্যা করতে না পারে যে ওই কাজগুলোর একটির মালিক কে, তাহলে একই charm নামের পেছনে অরক্ষণাবেক্ষিত রেসিপি দিয়ে তা ভরাট না করে একটি গ্রহণ-ঘাটতি হিসেবে লিখে রাখুন। লিখে রাখা ঘাটতি একটি সিদ্ধান্ত; চুপচাপ ভরাট করা ঘাটতি ভবিষ্যতের বিভ্রাট। এটি সেবা-সিদ্ধান্তের মালিকের কাছে দিন, যে তারিখে পেয়েছেন তা সহ।

সম্পর্কিত নিবন্ধ