เผยแพร่ครั้งแรกเมื่อวันที่ 2 มีนาคม 2017 ที่ ObjectRocket.com/blog
แพลตฟอร์มข้อมูลยังคงขยายและเปลี่ยนแปลงต่อไป แต่ด้านหนึ่งดูเหมือนจะไม่เปลี่ยนแปลง—ทุกคนยังคงต้องการสำเนาสำรองของข้อมูล! บทแนะนำนี้จะแสดงให้คุณเห็นถึงวิธีใช้ประโยชน์จากปลั๊กอินที่เก็บ S3 ด้วยอินสแตนซ์ Rackspace ObjectRocket สำหรับ Elasticsearch®
ในขณะที่แพลตฟอร์มข้อมูลยังคงขยายและเปลี่ยนแปลงด้านหนึ่งยังคงเหมือนเดิม&mdassh;ทุกคนยังคงต้องการสำเนาสำรองของข้อมูล!วิวัฒนาการของเทคโนโลยียังคงต้องการการเข้าถึงข้อมูลสำรองเพื่อกู้คืนสู่สภาพแวดล้อมการพัฒนาในพื้นที่ สำเนาสำหรับการรักษาหรือการปฏิบัติตามข้อกำหนด และกรณีอื่นๆ . โพสต์นี้อธิบายวิธีใช้ประโยชน์จากปลั๊กอินที่เก็บ S3 กับอินสแตนซ์ Rackspace® ObjectRocket®for Elasticsearch
ส่วนประกอบของสแนปชอต
สแน็ปช็อตของ Elasticsearch ประกอบด้วยสามองค์ประกอบหลัก:ที่เก็บ สแน็ปช็อต และชื่อสแน็ปช็อตที่ไม่ซ้ำกัน ที่เก็บมีรายละเอียดเฉพาะเกี่ยวกับตำแหน่งและวิธีที่คุณจัดเก็บสแน็ปช็อต การสำรองข้อมูล 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 ของคุณด้วย Elasticsearch เป็นกระบวนการที่ค่อนข้างง่าย มีข้อกำหนดเบื้องต้นเพียงไม่กี่ข้อในการส่งข้อมูลสำรองของคุณไปยังบัคเก็ต S3:
- ติดตั้ง
repository-s3
ปลั๊กอิน - ตรวจสอบให้แน่ใจว่าคลัสเตอร์ของคุณสามารถเข้าถึง S3 ได้จากภายนอก
- มีข้อมูลประจำตัวที่ถูกต้อง (ที่เก็บข้อมูล ข้อมูลลับ และคีย์) สำหรับ S3
หากคุณมีอินสแตนซ์ ObjectRocket Elasticsearch สองขั้นตอนแรกควรอยู่ในตำแหน่งตามค่าเริ่มต้น และคุณจำเป็นต้องมีข้อมูลประจำตัว S3 ของคุณสำหรับองค์ประกอบที่สาม หากคุณต้องการจำกัดกระบวนการสแน็ปช็อตของ Elasticsearch ให้สร้าง นโยบายที่กำหนดเอง ด้วยคอนโซล 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
}
เป็นเรื่องที่ควรค่าแก่การชี้ให้เห็นว่าสามารถเรียกใช้สแน็ปช็อตหรือการดำเนินการกู้คืนได้ครั้งละหนึ่งรายการบนคลัสเตอร์ นอกจากนี้ สแนปชอตยังมีผลกระทบต่อประสิทธิภาพเล็กน้อยในคลัสเตอร์ของคุณ ดังนั้นโปรดตรวจสอบว่านโยบายการสำรองข้อมูลของคุณไม่เข้มงวดเกินไป!
และเช่นเคย โปรดติดต่อเราหากคุณพบปัญหาเกี่ยวกับขั้นตอนเหล่านี้ที่ [email protected]
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถคลิกแชทขาย เพื่อแชทตอนนี้และเริ่มการสนทนา