মূলত ২ মার্চ, ২০১৭ को ObjectRocket.com/blog-এ প্রকাশিত
ডেটা প্ল্যাটফর্মগুলিوسع এবং রূপান্তরিত হয় থাকলেও, এক দিক কখনোই পরিবর্তন হয় না—সবাইই তাদের ডেটার একটি ব্যাকআপ কপি চান! এই ওকথ্রু আপনাকে দেখাবে কিভাবে আপনার র্যাকস্পেস ObjectRocket ফর ইলাস্টিকসার্চ® ইনস্ট্যান্সের সাথে S3 রিপোজিটরি প্লাগইনটি ব্যবহার করতে হয়।
ডেটা প্ল্যাটফর্মগুলি প্রসারিত ও রূপান্তরিত হওয়া সত্ত্বেও এক দিক অপরিবর্তিত থাকে—সবাইই তাদের ডেটার একটি ব্যাকআপ কপি চান! প্রযুক্তির বিবর্তন এখনও লোকাল ডেভেলপমেন্ট এনভায়রনমেন্টে রিস্টোর করার জন্য, নিরাপত্তার জন্য একটি কপি রাখার জন্য, কমপ্লায়েন্সের জন্য, এবং অন্যান্য ক্ষেত্রে ব্যাকআপে অ্যাক্সেসের দাবি করে। এই পোস্টটি বর্ণনা করে কিভাবে আপনার র্যাকস্পেস® ObjectRocket® ফর ইলাস্টিকসার্চ ইনস্ট্যান্সের সাথে S3 রিপোজিটরি প্লাগইনটি ব্যবহার করতে হয়।
স্ন্যাপশটের উপাদান
ইলাস্টিকসার্চ স্ন্যাপশট তিনটি প্রধান উপাদানের গঠিত: একটি রিপোজিটরি, স্ন্যাপশট(গুলি), এবং একটি ইউনিক স্ন্যাপশট নাম। একটি রিপোজিটরিতে স্ন্যাপশট কোথায় এবং কীভাবে সংরক্ষণ করা হবে সে সম্পর্কে নির্দিষ্ট বিবরণ থাকে। আপনার ডিফল্ট রাতের ObjectRocket ব্যাকআপগুলি টাইপ: fs, এবং S3 ব্যাকআপগুলি টাইপ: S3। এই দুটির সেটিংস কাঠামো কিছুটা ভিন্ন। এখানে একটি রিপোজিটরির উদাহরণ দেওয়া হল:
GET /_snapshot?pretty ... { "s3_repository" : { "type" : "s3", "settings" : { "bucket" : "MYBUCKETNAME", "server_side_encryption" : "false", "region" : "us-east-1", "compress" : "false" } } } ...
প্রতিটি প্রদর্শিত রিপোজিটরি এক বা একাধিক স্ন্যাপশট নিয়ে গঠিত যা একটি অ্যারেতে তালিকাভুক্ত থাকে:
GET /_snapshot/s3_repository/_all?pretty [... { "snapshot" : "20170208225601", "uuid" : "t6R6jxLJTIueQizv9clJYg", "version_id" : 5010499, "version" : "5.1.1", "indices" : [ ".triggered_watches", ".watch_history-2016.10.26", "elastalert_status", "coffee-2016.10.301", ".kibana", "coffee-2016.10.305", "coffee-2016.10.304", "coffee-2016.10.303", "coffee-2016.10.302", ".watches" ], "state" : "SUCCESS", "start_time" : "2017-02-09T06:56:01.191Z", "start_time_in_millis" : 1486623361191, "end_time" : "2017-02-09T06:56:12.179Z", "end_time_in_millis" : 1486623372179, "duration_in_millis" : 10988, "failures" : [ ], "shards" : { "total" : 57, "failed" : 0, "successful" : 57 } }]
সমস্ত _snapshot অপারেশনের জন্য, আপনাকে সঠিক রিপোজিটরি, স্ন্যাপশট, এবং স্ন্যাপশট আইডেন্টিফায়ার রেফারেন্স করতে হবে। উপরের উদাহরণ থেকে, snapshot : 20170208225601-কে ইউনিক আইডেন্টিফায়ার হিসেবে ব্যবহার করুন।
#### S3-এ ব্যাকআপ পাঠানো
ইলাস্টিকসার্চের সাথে আপনার S3 রিপোজিটরি সেট আপ করা একটি তুলনামূলকভাবে সহজ প্রক্রিয়া। আপনার ব্যাকআপগুলো আপনার S3 বাকেটে পাঠানোর জন্য কিছু পূর্বশর্ত আছে:
repository-s3প্লাগইন ইনস্টল করুন।- নিশ্চিত করুন আপনার ক্লাস্টার বাহ্যিকভাবে S3-এ পৌঁছাতে পারে।
- S3-এর জন্য উপযুক্ত শংসাপত্র (বাকেট, সিক্রেট, এবং কী) থাকুন।
যদি আপনার একটি ObjectRocket ইলাস্টিকসার্চ ইনস্ট্যান্স থাকে, তবে প্রথম দুটি ধাপ ডিফল্টভাবে সেট আপ করা থাকা উচিত, এবং তৃতীয় উপাদানের জন্য আপনাকে আপনার S3 শংসাপত্রের প্রয়োজন হবে। আপনি যদি ইলাস্টিকসার্চ স্ন্যাপশট প্রক্রিয়াকে সীমাবদ্ধ করতে চান, তবে AWS® IAM কনসোলে একটি কাস্টম পলিসি তৈরি করুন। পলিসি ডকুমেন্টটি নিম্নলিখিত উদাহরণের মতো দেখাবে (MYBUCKETNAME প্রতিস্থাপন করে):
{ "Statement": [ { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::MYBUCKETNAME" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::MYBUCKETNAME/*" ] } ], "Version": "2012-10-17"
}
পূর্বশর্তগুলো পূরণ হলে, প্রথম ধাপ হল আপনার S3 রিপোজিটরি তৈরি করা:
PUT /_snapshot/s3_repository { "type": "s3", "settings": { "bucket": "MYBUCKETNAME", "region": "us-east-1", "access_key": "KEY", "secret_key": "SECRET" } }'
রিপোজিটরি তৈরি হলে, আপনি সমস্ত স্ট্যান্ডার্ড _snapshot অপারেশন সম্পাদন করতে পারেন। আপনি যদি একটি নতুন স্ন্যাপশট নিতে চান, তবে নিম্নলিখিত এন্ডপয়েন্ট অ্যাক্সেস করুন এবং আপনার SNAPSHOT_NAME সংজ্ঞায়িত করুন:
PUT /_snapshot/s3_repository/SNAPSHOT_NAME?wait_for_completion=false
স্ন্যাপশটগুলো কখনো কখনো চালানোর জন্য সময় নেয়, তাই আপনি একটি ইন-ফ্লাইট স্ন্যাপশটের স্ট্যাটাস চেক করতে চাইতে পারেন। এই এন্ডপয়েন্ট ব্যবহার করলে বর্তমানে চলমান যেকোনো স্ন্যাপশট বা রিস্টোর অপারেশনের বিস্তারিত দেখাবে:
GET /_snapshot/_status
এখন ধরুন আমরা আমাদের শেষ স্ন্যাপশট সম্পূর্ণ হওয়ার ঠিক পরেই সব ইন্ডেক্স ডিলিট করলাম এবং তা জন্য খুব দ্রুত অনুতপ্ত হয়েছি। S3 স্ন্যাপশট থেকে সব ইন্ডেক্স রিস্টোর করতে, নিম্নলিখিত কমান্ড চালান:
POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore
আপনি যদি সিলেক্টিভভাবে ইন্ডেক্স রিস্টোর করতে চান, তবে ফরম্যাটটি কিছুটা মডিফাই করুন। উদাহরণস্বরূপ:
POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore { "indices": "myindex_1,myindex_2", "ignore_unavailable": true }
এটি উল্লেখযোগ্য যে একবারে একটি ক্লাস্টারে শুধুমাত্র একটি স্ন্যাপশট বা রিস্টোর অপারেশন চলতে পারে। এছাড়া, স্ন্যাপশটের আপনার ক্লাস্টারের ওপর সামান্য পারফরম্যান্স 임প্যাক্ট থাকে, তাই নিশ্চিত করুন আপনার ব্যাকআপ পলিসি খুব আক্রমক নয়!
সদা ভাবেই, এই ধাপগুলোতে কোনো সমস্যা হলে support@objectrocket.com-এ যোগাযোগ করতে দ্বিধা করবেন না।
ফিডব্যাক ট্যাব ব্যবহার করে মন্তব্য করুন বা প্রশ্ন জিজ্ঞাসা করুন। আপনি সেলস চ্যাট-এ ক্লিক করেও এখনই কথা বলার শুরু করতে পারেন।