কীভাবে স্বয়ংক্রিয়ভাবে এনগিনেক্স আপস্ট্রিম সার্ভার তালিকা আপডেট করবেন যখন আউস ই সি 2 হোস্টনাম পরিবর্তন হবে বা বাড়বে?


16

আমি এডাব্লুএসে অটস্কলিং সেটআপ করতে চাই। আমি ইলাস্টিক লোড ব্যালেন্সার ব্যবহার করতে চাই না।

অ্যামাজনে অটস্কলিং কর্মক্ষমতা বজায় রাখার জন্য ডিমান্ড স্পাইকের সময় নির্বিঘ্নে ইসি 2 উদাহরণ তৈরি করে এবং ব্যয়কে হ্রাস করার জন্য চাহিদা কমাতে স্বয়ংক্রিয়ভাবে হ্রাস পায়।

এই ইসি 2 উদাহরণগুলি স্বয়ংক্রিয়ভাবে তৈরি হওয়ার কারণে তাদের হোস্টের নামগুলি এনজিআইএনএক্স-এর কাছে অজানা।

আমি জানি এবং ইতিমধ্যে 10 ইসি 2 উদাহরণগুলিতে এনজিনেক্সে আপস্ট্রিম সেটআপ রয়েছে।

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


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

ভাল, আসলে, আমি জানি অটস্কলিং কী, এবং আমি এটি বলার দরকার নেই। আমি উভয় মিশ্রিত করতে চান। আমি প্রশ্ন আপডেট করব।
লুইস লোবো বোরোবিয়া

1
প্রশ্নটি এখন আরও স্পষ্ট, এর উদ্দেশ্যতে। আমি পুনরায় খোলার জন্য ভোট দিতে চেয়েছিলাম, তবে আমি কোনও বিকল্প দেখতে পাচ্ছি না - অনুমান করুন আমার কাছে এখনও যথেষ্ট প্রতিনিধি নেই।
টালেক্স

ধন্যবাদ আপনি @talonx আমি আশা করি অন্যদের আমার উত্তর খুঁজে ভোট দিন করতে পারেন
লুইস লোবো Borobia

1
আমি মনে করি আপনি AWS অটস্কলিং বিজ্ঞপ্তিগুলি (এসএনএস ব্যবহার করে বিতরণ করা) একত্রিত করতে পারেন - ধরে নিলে এটি সদ্য নির্মিত / সমাপ্ত দৃষ্টান্তের হোস্টের নামটি ফেরত দেয় - এবং আপনার এনজিএনএক্স কনফিগারেশন আপডেট এবং পুনরায় লোড করার জন্য তৃতীয় পক্ষের এনগিনেক্স এপিআইয়ের একজন। অস্পষ্ট হওয়ার জন্য দুঃখিত - আমি অটোস্কালিং এপিআইয়ের সাথে খুব বেশি পরিচিত নই।
টালোনেক্স

উত্তর:


7

এটি এসএনএস, ইসি 2 এবং অটোক্যাসিং পরিষেবাটি ব্যবহার করে অ্যামাজন এসডিকে (আমি এটি প্রায় শেষ হয়েছি, এটি গিথুবে লাগিয়ে দেব) ব্যবহার করে অর্জন করা যেতে পারে।

এটি অর্জনের জন্য আমি নীচের পদক্ষেপগুলি অনুসরণ করেছি:

  1. HTTP বিজ্ঞপ্তি সক্ষম করুন এবং আমার ওয়েবসারভার সাবস্ক্রাইব।
  2. সার্ভারটি বন্ধ করার জন্য আমার অটোক্যাসিং গোষ্ঠীতে 1 মিনিটের হার্টবিট (একটি সমাপ্তির আগে 1 মিনিটের জন্য অপেক্ষা করতে হবে) এর সাথে একটি জীবনচক্র-হুক যুক্ত করা হয়েছে
  3. এটি কী ধরণের বার্তা সনাক্ত করার জন্য বার্তাটি বিশ্লেষণ করতে একটি সূচক ফাইল তৈরি করেছে (যেমন লঞ্চ বা সমাপ্ত)
  4. একবার ইভেন্টের ধরণের সিদ্ধান্ত নেওয়ার পরে আমি ইসি 2 কে উদাহরণ দিয়েছি ব্যক্তিগত আইপিটি পেতে
  5. লঞ্চের ক্ষেত্রে 200 এর শিরোনাম না পাওয়া পর্যন্ত অপেক্ষা করুন এবং তারপরে আইপকে এনজিনেক্স কনফিগারেশন এবং পুনরায় লোড করুন
  6. টার্মিনেটের ক্ষেত্রে আইপিটি কনফিগার থেকে সরান এবং এনজিনেক্স পুনরায় লোড করুন

দয়া করে এখানে স্ক্রিপ্টটি https://github.com/singhupend/aws-autoscale এ সন্ধান করুন


কোনও সুযোগ আপনি গিথুব এ পোস্ট করেছেন? আমি একই জিনিস করার চেষ্টা করছি এবং যে কোনও সহায়তা প্রশংসিত হবে।
হারুন

দয়া করে ব্যবহার করুন - github.com/singhupender/aws-autoscale
উপেন্দ্র

2

আপনাকে ধন্যবাদ @ ট্যালোনক্স, আমি কিছু গবেষণা করেছি, অ্যামাজন অটোস্কেলে বর্তমান অটস্কলিং গ্রুপের স্থিতি অনুসন্ধানের জন্য একটি এপিআই রয়েছে এবং এর সদস্যদের গণনা করেছে ume এটি উদাহরণ আইডি ( http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/api_requests.html#query-example ) ফিরিয়ে দেয় , তারপরে আপনি সার্ভারের নাম পেতে বর্ণনামূলক সরঞ্জামগুলি ব্যবহার করতে পারেন ( http: // ডক্স .aws.amazon.com / AWSEC2 / সর্বশেষ / CommandLineReference / ApiReference-cmd কমান্ড-DescribeInstances.html ) এবং শেষ পর্যন্ত অন্তর্ভুক্ত ফাইলটি পুনরায় তৈরি করুন। এই কাজগুলি সম্পাদন করে এমন একটি প্রক্রিয়া চালু করার জন্য আমি অটোক্যাসিং বিজ্ঞপ্তিগুলি বুঝতে পারি।

আমি এখনও এটি বাস্তবায়ন করি নি তবে এটি যাওয়ার উপায়।

এসএনএস http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html- এর সাথেও অটোক্যালিং ব্যবহার করা যায়


এটি মূলত আমি যা করেছি। আমি একটি রুবি স্ক্রিপ্ট লিখেছিলাম যা প্রতি এন মিনিটে চলে। এডাব্লুএস এসডিকে ব্যবহার করে এটি এএসজির সদস্যদের অনুসন্ধান করে এবং একটি ইআরবি টেম্পলেট ব্যবহার করে এটি একটি নতুন কনফিগার তৈরি করে। যদি নতুন কনফিগারেশন বর্তমানের কনফিগারেশনের চেয়ে আলাদা হয় তবে এটি এটি অনুলিপি করে এবং ডেমনকে (আমার ক্ষেত্রে হ্যাপ্রোক্সি) তার কনফিগারটি পুনরায় লোড করতে বলে। নোট করুন যে দৃষ্টান্তগুলি সমাপ্ত হওয়ার পরে কিছুটা জন্য এএসজিতে থাকে তাই উদাহরণস্বরূপ নিশ্চিত করুন st স্ট্যাটাস ==: চলমান। আরও মনে রাখবেন যে অনুরোধগুলি পরিবেশন করার জন্য উদাহরণটি চালু হওয়ার পরে যদি N মিনিট সময় লাগে তবে এটি এখনই আনিল ব্যবহার করবেন না instance উদাহরণস্বরূপ laলঞ্চ_টাইম + এন
Mark

আপনাকে ধন্যবাদ_মার্কওয়াগনার আপনি যে স্ক্রিপ্টটি কোথাও ভাগ করে নিতে পারেন এমন কোনও সম্ভাবনা আছে? গিস্ট, গিথুব? ধন্যবাদ!
লুইস লোবো বোরোবিয়া

এই স্ক্রিপ্টটি নিয়ে আপনার ভাগ্য আছে? গিথুব বা অন্য কোথাও কোনও উদাহরণ আছে?
হারুন

না এখনই nginx-Plus (অর্থ প্রদান করা সংস্করণ) এটিকে আরও বেশি অনুমতি দেয়।
লুইস লোবো বোরোবিয়া

1

আমি এই এখনো নিজেকে বাস্তবায়িত হয়নি, কিন্তু আমি ব্যবহার মধ্যে খুঁজছেন করছি অন-দ্য-উড়ে পুনরায় কনফিগার করা এর nginx প্লাস । আমি ভাবছি যে হয় এএমআই, বা কনফিগারেশন পরিচালনা (পুতুল, সল্ট বা এই জাতীয়) যা একটি অটো স্কেলিং গ্রুপ উদাহরণ স্থাপন করে NGiNX পুনরায় কনফিগারেশন এপিআইতে পৌঁছে যেতে পারে (সম্ভবত, কোনও অভ্যন্তরীণ রুট 53 ডোমেন নামের মাধ্যমে তাই কোনও স্থির আইপি হবে না ব্যবহার করা দরকার), এবং বিপরীত প্রক্সিটির জন্য নিজেকে প্রবাহের ক্লাস্টারে যুক্ত করুন। এরপরে এনজিআইএনএক্স-এর অন্তর্নির্মিত স্বাস্থ্য পরীক্ষাটি তার পরে [যুক্ত] উদাহরণটি গ্রহণ করবে এবং এটি অনুপলব্ধ হয়ে গেলে এটিকে ফেলে দেয়। এটি সবচেয়ে পরিষ্কার সমাধান বলে মনে হচ্ছে এবং উদাহরণটি যুক্ত করতে কোনও বিলম্ব নেই এবং এনজিআইএনএক্স প্লাসের বাইরে ব্যান্ডের স্বাস্থ্য পরীক্ষার বৈশিষ্ট্য হওয়ায় এটি বাদ দেওয়ার ক্ষেত্রে খুব কমই দেরি হচ্ছে।

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

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

সম্পাদনা 2015-12-07: ngx_openresty এর ব্যালেন্সার-বাই-Lua ( এই GitHub থ্রেড দেখুন ) অফার একটি হট যোগ / nginx মূল প্রজেক্টের গ্রুপ থেকে সার্ভার সরানোর জন্য অন্য সম্ভাব্য ওপেন সোর্স সমাধান। আমি এখনও এটি নিয়ে নিজেই পরীক্ষা নিরীক্ষা করি নি, তবে এই পোস্টটি জুড়ে যে কেউ হোঁচট খাচ্ছে তার জন্য এখানে একটি উল্লেখ যুক্ত করতে চেয়েছিলাম।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.