AWS Client VPN নাকি EC2-তে VPN: একটি পরিচালনামূলক রানবুক
AWS Client VPN আর EC2-তে নিজে হোস্ট করা VPN-এর মধ্যে বেছে নেওয়ার পাঁচটি ধাপ, CLI যাচাই, দায়িত্ব বিভাজন, স্থানান্তর ও রোলব্যাক সহ।
দুটি বিকল্পই আপনার দলকে রিমোট অ্যাক্সেস VPN দেয়, তাই আসল প্রশ্নটি কোনটি আছে তা নয়, বরং কোনটি আপনি চালাতে পারেন। পার্থক্যটা হলো রাত 3টায় এন্ডপয়েন্টের মালিক কে, এবং কিছু ভেঙে পড়লে কোন নিয়ন্ত্রণগুলো আপনার নাগালে থাকে। নিচের পাঁচটি ধাপ ক্রমানুসারে শেষ করুন, কারণ প্রতিটিই তুলনাটি আগেভাগে শেষ করতে পারে। ইনভেন্টরি ধাপটি বাদ দেওয়াই সেই পথ যেখানে দলগুলো দুবার মাইগ্রেট করে।
ধাপ 1: বিলের আগে প্রয়োজনটা লিখুন
এক পাতায় পাঁচটি তথ্য দরকার: কে প্রমাণীকরণ করে এবং কীসের বিপরীতে, কোন ক্লায়েন্ট প্ল্যাটফর্মগুলোকে কাজ করতে হবে, কোন ব্যক্তিগত গন্তব্যগুলো পৌঁছানোর যোগ্য, আপনি কী প্রাপ্যতার প্রতিশ্রুতি দিয়েছেন, এবং ট্রাফিক আসলে কেমন দেখায়। এসব ছাড়া প্রতিটি পরবর্তী তুলনা ফিচার তালিকার তর্কে পরিণত হয়।
গন্তব্য সম্পর্কে সুনির্দিষ্ট হোন। «VPC-তে অ্যাক্সেস» সাধারণত তিনটি আলাদা জিনিস বোঝায়: VPC CIDR, একটি পিয়ার করা নেটওয়ার্ক, এবং Transit Gateway-এর পেছনের অন-প্রিমাইজিস রেঞ্জ। একটি ম্যানেজড এন্ডপয়েন্ট তিনটিতেই পৌঁছাতে পারে, কিন্তু প্রতিটির জন্য একটি রুট ও একটি অনুমোদন নিয়ম দরকার, আর প্রতিটি আপনার প্রয়োজনতালিকায় আলাদা লাইন।
ধাপ 2: যা ইতিমধ্যে চলছে তা তালিকাভুক্ত করুন
কিছু ডিজাইন করার আগে বিদ্যমান এন্ডপয়েন্টগুলো এবং EC2-তে হোস্ট করা যেকোনো সার্ভার তার সিকিউরিটি গ্রুপসহ তালিকাভুক্ত করুন। এই কলগুলো কেবল পঠনযোগ্য এবং describe অনুমতি থাকা অ্যাকাউন্ট থেকে চালানো নিরাপদ।
aws ec2 describe-client-vpn-endpoints
aws ec2 describe-client-vpn-authorization-rules --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-client-vpn-connections --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-instances --filters Name=tag:role,Values=vpnআউটপুটটি ক্লায়েন্টরা ইতিমধ্যে কী কী পৌঁছাতে পারে তার মানচিত্র হিসেবে পড়ুন। একটি অনুপস্থিত অনুমোদন নিয়ম এমন ব্যর্থতা ব্যাখ্যা করে যা রাউটিং সমস্যার মতো দেখায়, আর একটি সাবনেটের সঙ্গে যুক্ত এন্ডপয়েন্ট ব্যাখ্যা করে কেন একটি জোনের ব্যর্থতা পুরো সেবাটি নামিয়ে দিল।
যেকোনো নিজে হোস্ট করা ইনস্ট্যান্সে যুক্ত সিকিউরিটি গ্রুপগুলোও লিখে রাখুন। ওই নিয়মগুলো অ্যাক্সেস মডেলের অংশ, এবং কেউ টেমপ্লেট থেকে ইনস্ট্যান্স পুনর্নির্মাণ করলে প্রথমে ওগুলোই নিঃশব্দে ভেঙে পড়ে।
ধাপ 3: দায়িত্বগুলো ভাগ করুন
ম্যানেজড সেবা এন্ডপয়েন্ট ফ্লিট, তার প্যাচিং এবং অঞ্চলের ভেতরে তার প্রাপ্যতার মালিক। আপনি মালিক পরিচয় নথিভুক্তি, অনুমোদন নিয়ম, এন্ডপয়েন্টের পেছনের নেটওয়ার্ক পথ, লগিং কনফিগারেশন এবং কতগুলো সাবনেট সংযুক্ত করবেন সেই সিদ্ধান্তের।
নিজে হোস্ট করা এটিকে উল্টে দেয়। আপনি মালিক গেস্ট অপারেটিং সিস্টেম, VPN ডেমন ও তার কনফিগারেশন, সার্টিফিকেট ও কী, ব্যাকআপ, মনিটরিং এবং পুনরুদ্ধারের। EC2 নিরাপত্তা মডেল গেস্ট ও অ্যাপ্লিকেশন নিরাপত্তা গ্রাহকের ওপর রাখে, আর একটি VPN সার্ভার অন্য যেকোনো গেস্টের মতোই গেস্ট।
বিভাজনটি ডান কলামে নামসহ একটি টেবিল হিসেবে লিখুন। সার্টিফিকেট নবায়নের পাশে যদি কারও নাম না পড়ে, সেটাই হলো মূল আবিষ্কার, আর এটি ঘণ্টাপ্রতি খরচের পার্থক্যের চেয়ে বেশি গুরুত্বপূর্ণ।
ধাপ 4: এমন ওয়ার্কলোডের সঙ্গে তুলনা করুন যা আপনি বর্ণনা করতে পারেন
খরচ আকার নয়, আকার-আকৃতির অনুসরণ করে। ম্যানেজড বিকল্পের জন্য এন্ডপয়েন্ট সংযুক্তির ঘণ্টা, ক্লায়েন্ট সংযোগের ঘণ্টা, ট্রান্সফার এবং আপনি যে পরিচয় ও লগিং সেবা চালু করেন তা গুনুন। নিজে হোস্ট করার জন্য কম্পিউট, স্টোরেজ, নেটওয়ার্কিং, লাইসেন্সিং এবং সার্ভারকে প্যাচযুক্ত রাখতে যে ইঞ্জিনিয়ারিং সময় লাগে তা গুনুন। দুই সেট সংখ্যাই একই সময়সীমাসহ এক শিটে রাখুন। প্যাচিং ঘণ্টা উপেক্ষা করা তিন বছরের তুলনা সবসময়ই আপনার ইতিমধ্যে থাকা সার্ভারের পক্ষে যাবে।
কর্মক্ষমতার তুলনায়ও একই শৃঙ্খলা দরকার। একটি ইন্টারঅ্যাকটিভ ডেস্কটপ সেশন, একটি বড় ট্রান্সফার এবং পঞ্চাশটি একসঙ্গে ছোট অনুরোধ পথের আলাদা আলাদা অংশে চাপ দেয়: এনক্রিপশনের জন্য CPU, ইনস্ট্যান্সের নেটওয়ার্ক সক্ষমতা, ক্লায়েন্টের নিজের স্ট্যাক এবং গন্তব্য। প্রতিনিধিত্বকারী ক্লায়েন্ট ও দুই ডিজাইনে একই কাজ দিয়ে পরীক্ষা করুন।
বড় ইনস্ট্যান্স ট্রান্সফার দ্রুত হবে তার প্রমাণ নয়, আর একটি সফল সেশন কোনো ক্যাপাসিটি পরিকল্পনা নয়। ইনস্ট্যান্স-পরিবার নিয়ে আপনার উত্তরাধিকারসূত্রে পাওয়া যেকোনো কথা ক্রয়ের নিয়ম নয়, পরীক্ষার অনুমান হিসেবে ধরুন।
ধাপ 5: যে রোলব্যাক আপনি চালিয়েছেন তা দিয়েই স্থানান্তর করুন
নির্দিষ্ট সময়ের জন্য দুই এন্ডপয়েন্টই সমান্তরালে চালান, নতুন ক্লায়েন্ট প্রোফাইল প্রথমে ছোট একটি দলে বিতরণ করুন, এবং দলটি সত্যিকারের কাজে নতুনটি ব্যবহার না করা পর্যন্ত পুরোনো এন্ডপয়েন্টের অনুমোদন নিয়ম অপরিবর্তিত রাখুন। রোলব্যাক হলো প্রোফাইল বদল, পুনর্নির্মাণ নয়, তাই পুরোনো প্রোফাইল কোথায় থাকবে তা এখনই ঠিক করুন।
এই ক্রমে যাচাই করুন: প্রমাণীকরণ সফল হয়, ক্লায়েন্ট প্রত্যাশিত রুটগুলো পায়, অনুমোদিত গন্তব্য উত্তর দেয়, অননুমোদিত গন্তব্য ব্যর্থ হয়, এবং লগে দুটি ঘটনাই দেখা যায়। কোনো ধাপ ব্যর্থ হলে পরের ক্লায়েন্ট দলে যাওয়ার বদলে থামুন এবং সেই ধাপটি ঠিক করুন। প্রতিটি যাচাইয়ের ফল লিখে রাখুন, কারণ কেবল «কাজ করেছে» হিসেবে মনে রাখা স্থানান্তর এক মাস পরে ডিবাগ করা যায় না।
স্থানান্তরের পর একঘেয়ে যাচাইগুলো নির্ধারণ করুন: সার্টিফিকেটের মেয়াদ, সংযুক্তির সংখ্যা, যে অনুমোদন নিয়মগুলো আর কোনো দলের সঙ্গে মেলে না, এবং আপনার প্রত্যাশার বিপরীতে সংযোগের সংখ্যা। Client VPN প্রশাসন নির্দেশিকা হলো আপনার কনফিগার করা এন্ডপয়েন্ট, প্রমাণীকরণ ও রাউটিং অংশের রেফারেন্স।