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

কী বদলালে আসলে কী ঘটে

ModifyVpnTunnelOptions একটি টানেলের অপশনগুলো আবার লেখে, যেটি তার বাইরের IP ঠিকানা দিয়ে চিহ্নিত হয়। টানেলটি ভেঙে আবার তৈরি হয়, তাই IKE ও IPsec নতুন কী দিয়ে শূন্য থেকে দরকষাকষি করে। AWS জানায় বিঘ্নটি কয়েক মিনিট চলতে পারে, যা কোনো রাউটিং প্রোটোকলের তা লক্ষ করার জন্য যথেষ্ট দীর্ঘ। একই সংযোগের অন্য টানেলটি এই কলে অক্ষত থাকে।

কিছু পাঠানোর আগে জানার মতো আরেকটি প্রভাব আছে। পরিবর্তন অপারেশনটি টানেল অপশনের সম্পূর্ণ সেট নেয়, তাই যে ফিল্ড আপনি বাদ দেন তা তার ডিফল্ট মান নিয়ে ফিরে লেখা হয়। আপনি যদি ফেজ 1 বা ফেজ 2-এর জীবনকাল, বা ডেড পিয়ার ডিটেকশন সেটিংস টিউন করে থাকেন, তাহলে বর্তমান মানগুলো একই অনুরোধে পাঠান অথবা পরে পুনরুদ্ধারের পরিকল্পনা করুন।

আগে বর্তমান মানগুলো পড়ুন, তারপর একটি ফিল্ড বদলান। এই ক্রমটাই এই কাজের সম্পূর্ণ শৃঙ্খলা।

আগে AWS টানেলকে সঠিক পিয়ারের সঙ্গে মেলান

কনসোল টানেলগুলোকে ক্রম অনুসারে লেবেল দেয়, আর আপনার ডিভাইস সেই লেবেল ব্যবহার করে না। টানেলটিকে তার বাইরের IP ঠিকানা দিয়ে চিহ্নিত করুন এবং গ্রাহক গেটওয়ের পিয়ার স্ট্যানজার সঙ্গে মেলান। স্থানীয় কনফিগারেশনে টানেল 1 থাকা এই প্রমাণ নয় যে আপনি যে টানেল সম্পাদনা করছেন AWS তাকে টানেল 1 বলে।

সংযোগটি থেকেই শুরু করুন, যা দুটি টানেল এবং প্রতিটির বর্তমানে থাকা কী তালিকাভুক্ত করে:

aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
  --query "VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,PreSharedKey]"

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

আগে অন্য টানেলটিকে ট্রাফিক বহন করতে দিন

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

বিকল্পটি যদি কাজের ভার বহন করতে না পারে, তবে কী স্পর্শ করার আগে বিঘ্ন নির্ধারণ করুন বা বিকল্প টানেলটি মেরামত করুন। কনসোল পাতার একটি স্ট্যাটাস বাতি নিরবচ্ছিন্ন সেবার প্রতিশ্রুতি নয়।

একটি টানেল ঘোরান, তারপর বাস্তব ট্রাফিক দিয়ে যাচাই করুন

বিকল্প পথ প্রমাণিত হলে ক্রমটি সংক্ষিপ্ত। টানেলের ঠিকানা, তার পিয়ার এবং গোপন-নয় এমন সেটিংস লিখে রাখুন, এবং গেটওয়ের দিকে একটি ব্যবস্থাপনা পথ রাখুন যা আপনি যে টানেলটি ভাঙতে যাচ্ছেন তার ওপর নির্ভর করে না।

  1. নির্বাচিত বাইরের ঠিকানার জন্য গ্রাহক গেটওয়ে পিয়ার হালনাগাদ করুন, অথবা পরিবর্তনটি এমনভাবে প্রস্তুত করুন যাতে API কলে কয়েক সেকেন্ড পরেই তা কার্যকর হয়।
  2. নতুন কী-এর সঙ্গে বর্তমান জীবনকাল ও DPD মান দিয়ে পরিবর্তন কলটি পাঠান।
  3. IKE ও IPsec ফিরে আসার জন্য অপেক্ষা করুন, তারপর রুট এবং প্রয়োজনীয় প্রিফিক্স নিশ্চিত করুন।
  4. সেই টানেল দিয়ে একটি প্রতিনিধিত্বমূলক অ্যাপ্লিকেশন প্রবাহ পাঠান এবং উভয় দিক লক্ষ্য করুন।

প্রান্তগুলো দ্বিমত থাকা এবং AWS পরিবর্তন প্রয়োগ করার সময় টানেলটি অব্যবহারযোগ্য, তাই পিয়ার হালনাগাদ দুপুরের পর নয়, সঙ্গে সঙ্গে আসতে হবে। কেবল পরিবর্তিত টানেলটি বাস্তব ট্রাফিক বহন করলেই অন্যটিতে পদ্ধতিটি পুনরাবৃত্তি করুন।

প্রথম টানেলের পরে পুনরুদ্ধার বা রাউটিং এখনো অনিশ্চিত হলে থামুন। দুটি অর্ধেক-কাজ করা টানেল একটি জানা-কাজ করা টানেলের চেয়ে খারাপ।

পুনরুদ্ধার আটকে গেলে IKE দিকটি পড়ুন

দুই পক্ষ নতুন কী ধারণ করার পরেও যে টানেল পড়ে থাকে সেটি সাধারণত একটি পলিসি অমিল যা ঘোরানো প্রকাশ করেছে, তৈরি করেনি। প্রস্তাবগুলো, পিয়ার যে পরিচয় পাঠায় এবং ট্রাফিক সিলেক্টরগুলো সবই AWS পক্ষের সঙ্গে মিলতে হবে, আর একটি প্রতিষ্ঠিত টানেল টিকে যাওয়া মান নতুন দরকষাকষির সময়ও প্রত্যাখ্যাত হতে পারে। দ্বিতীয়বার কী বদলানোর আগে দরকষাকষির অবস্থা এবং তার সঙ্গে যুক্ত বার্তাটি পড়ুন।

aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
  --query "VpnConnections[0].VgwTelemetry[].[OutsideIpAddress,Status,StatusMessage]"

পরিবর্তনটি ফিরিয়ে নিতে হলে শুধু আগে কাজ করত বলে পুরোনো কী পুনরুদ্ধার করবেন না। আপসকৃত কী-কে আপসকৃত হিসেবেই ধরুন এবং বরং দরকষাকষিটি ঠিক করুন। দুটি টানেল যাচাই এবং প্রতিটি পিয়ার কোন মান ধরে আছে তা লিপিবদ্ধ করতে গোপন-তালিকা হালনাগাদ করে শেষ করুন, আর AWS টানেল-অপশন ডকুমেন্টেশন রানবুকের পাশে রাখুন।

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