paint-brush
AWS S3'ten MinIO'ya Geri Dönmek İçin Bilmeniz Gereken Her Şeyile@minio
8,691 okumalar
8,691 okumalar

AWS S3'ten MinIO'ya Geri Dönmek İçin Bilmeniz Gereken Her Şey

ile MinIO12m2024/03/22
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Kendi analizinizi oluşturmanızı kolaylaştırmak için ülkenize geri gönderilmeyle ilgili maliyet ve tasarrufları biraz daha derinlemesine inceleyelim.

People Mentioned

Mention Thumbnail
featured image - AWS S3'ten MinIO'ya Geri Dönmek İçin Bilmeniz Gereken Her Şey
MinIO HackerNoon profile picture


Bir önceki yazımıza verilen yanıt; AWS S3'ten MinIO'ya Nasıl Geri Dönülür? , olağanüstüydü; şirketlerden, ülkemize geri gönderilme tavsiyesi isteyen düzinelerce çağrı aldık. Bu yanıtları, kendi analizinizi oluşturmanızı kolaylaştırmak için ülkenize geri gönderilmeyle ilgili maliyet ve tasarrufları biraz daha derinlemesine incelediğimiz bu yeni gönderide topladık. Verilerin taşınması birçok kişi için göz korkutucu bir iştir. Uygulamada, MinIO'ya yeni verilerin gelmesini hedeflerler ve eski verileri buluttan taşımak veya büyümemek için yerinde bırakırlar.

Ülkesine Geri Dönüşe Genel Bakış

AWS S3'teki verileri ülkesine geri göndermek için şu genel yönergeleri izleyeceksiniz:


  1. Veri Gereksinimlerini İnceleyin: AWS S3'ten ülkesine geri gönderilmesi gereken belirli klasörleri ve nesneleri belirleyin. İş ihtiyaçlarını ve uyumluluk gereksinimlerini her pakette anladığınızdan emin olun.


  2. Ülkesine Geri Gönderme Hedefini Belirleyin: Zaten MinIO'ya geri dönmeye karar verdiniz, şimdi MinIO'yu şirket içi bir veri merkezinde veya başka bir bulut sağlayıcısında veya ortak yerleşim tesisinde çalıştırmayı seçebilirsiniz. 1 numaralı listedeki gereksinimleri kullanarak, öngörülen depolama, aktarım ve kullanılabilirlik ihtiyaçları için donanım veya bulut sunucularını seçeceksiniz.


  3. Veri Aktarımı: AWS S3'ten MinIO'ya veri aktarımını planlayın ve yürütün. MinIO'nun yerleşik Toplu Çoğaltma özelliğini kullanmanız veya MinIO İstemcisini kullanarak yansıtmanız yeterlidir (bkz. AWS S3'ten MinIO'ya Nasıl Geri Dönülür? detaylar için). AWS DataSync, AWS Snowball veya AWS Snowball gibi veri aktarımı için kullanabileceğiniz birkaç ek yöntem vardır. TD SYNNEX veri geçişi veya doğrudan AWS API'lerini kullanarak.


  4. Veri Erişimi ve İzinler: Ülkesine geri gönderilen veriler için paket başına uygun erişim kontrollerinin ve izinlerinin ayarlandığından emin olun. Buna, verilerin güvenliğini sağlamak amacıyla kullanıcı erişimini, kimlik doğrulamasını ve yetkilendirmeyi yönetmeye yönelik IAM ve paket politikaları dahildir.


  5. Nesne Kilitleri: Geçiş sonrasında nesne kilidi saklama ve yasal bekletme politikalarının korunması kritik öneme sahiptir. Hedef nesne deposunun kuralları Amazon S3 ile aynı şekilde yorumlaması gerekir. Emin değilseniz, isteyin Cohasset Associates Uyumluluk Değerlendirmesi hedef nesne deposu uygulamasında.


  6. Veri Yaşam Döngüsü Yönetimi: Ülkesine geri gönderilen veriler için bir veri yaşam döngüsü yönetimi stratejisi tanımlayın ve uygulayın. Bu, saklama politikalarının, yedekleme ve kurtarma prosedürlerinin ve veri arşivleme uygulamalarının paket bazında tanımlanmasını içerir.


  7. Veri Doğrulaması: Bütünlüğünü ve eksiksizliğini sağlamak için aktarılan verileri doğrulayın. Verilerin herhangi bir bozulma veya kayıp olmadan başarıyla aktarıldığından emin olmak için gerekli kontrol ve testleri yapın. Aktarımdan sonra nesne adı, ETag ve meta veriler, sağlama toplamı ve nesne sayısı kaynak ve hedef arasında eşleşir.


  8. Uygulamaları ve İş Akışlarını Güncelleyin: İyi haber şu ki, uygulamalarınızı oluşturmak için bulutta yerel ilkeleri izlerseniz tek yapmanız gereken onları yeni MinIO uç noktası için yeniden yapılandırmak olacaktır. Ancak uygulamalarınız ve iş akışlarınız AWS ekosistemiyle çalışacak şekilde tasarlandıysa ülkesine geri gönderilen verileri barındırmak için gerekli güncellemeleri yapın. Bu, yapılandırmaların güncellenmesini, entegrasyonların yeniden yapılandırılmasını veya bazı durumlarda kodun değiştirilmesini içerebilir.


  9. İzleme ve Optimize Etme: Optimum performans, maliyet verimliliği ve veri yönetimi en iyi uygulamalarına bağlılık sağlamak için ülkesine geri gönderilen veri ortamını sürekli olarak izleyin ve optimize edin.

Ülkesine Geri Dönüş Adımları

Bulutun ülkesine geri gönderilmesi için bütçe oluştururken ve planlarken dikkate alınması gereken birçok faktör vardır. Neyse ki mühendislerimiz bunu birçok müşteriyle yaptı ve sizin için ayrıntılı bir plan geliştirdik. Bir avuç iş yükünden yüzlerce petabayta kadar her şeyi ülkelerine geri gönderen müşterilerimiz var.


En büyük planlama görevi, ağ oluşturma, kiralanan bant genişliği, sunucu donanımı, geri gönderilmek üzere seçilmeyen verilerin arşivleme maliyetleri ve kendi bulut altyapınızı yönetme ve sürdürmenin insan maliyeti ile ilgili seçimleri düşünmektir. Bu maliyetleri tahmin edin ve onlara göre plan yapın. Bulutun ülkesine geri gönderilmesi maliyetleri, verilerin buluttan veri merkezine geri taşınmasına ilişkin veri çıkış ücretlerini içerecektir. Bu ücretler kasıtlı olarak buluta kilitlenmeyi zorunlu kılacak kadar yüksektir. Bu yüksek çıkış ücretlerine dikkat edin; bunlar genel buluttan ayrılma yönündeki ekonomik argümanı doğruluyor çünkü yönettiğiniz veri miktarı arttıkça çıkış ücretleri de artıyor. Bu nedenle, eğer ülkenize geri dönecekseniz, daha geç değil, daha erken harekete geçmeniz faydalı olacaktır.


Taşınması gereken verilere ve meta verilere odaklanacağız; bu, ülkeye geri dönmek için gereken işin yüzde seksenidir. Meta veriler, paket özelliklerini ve ilkelerini (erişim/gizli anahtara dayalı erişim yönetimi, yaşam döngüsü yönetimi, şifreleme, anonim genel erişim, nesne kilitleme ve sürüm oluşturma) içerir.


Şimdilik verilere (nesnelere) odaklanalım. Taşımak istediğiniz her ad alanı için taşımak istediğiniz paketlerin ve nesnelerin envanterini çıkarın. DevOps ekibinizin hangi paketlerin önemli güncel verileri barındırdığını zaten bilmesi muhtemeldir. Ayrıca kullanabilirsin Amazon S3 Envanteri . Yüksek düzeyde, bu şöyle görünecektir:


Ad alanı

Toplam Kova Sayısı

Toplam Nesne Sayısı

Toplam Nesne Boyutu (GB)

Günlük Toplam Yükleme (TB)

Günlük Toplam İndirme (TB)

ns-001

166

47.751.258

980.014,48

50.04

14.80

ns-002

44

24.320.810

615.033,35

23.84

675.81

ns-002

648

88.207.041

601.298,91

328.25

620.93

ns-001

240

68.394.231

128.042,16

62.48

12.45


Bir sonraki adım, taşıyacağınız her paket için her paketi ve özelliklerini ad alanına göre listelemektir. Bu pakette veri depolayan ve okuyan uygulamaları not edin. Kullanıma bağlı olarak her bir paketi sıcak, sıcak veya soğuk katman verileri olarak sınıflandırın.


Kısaltılmış bir versiyonda, bu şuna benzeyecektir:


Paket Adı

Özellikler

Uygulama(lar)

Sıcak/Sıcak/Soğuk Katman

A

JSON'u kopyalayıp buraya yapıştırın

Kıvılcım, Buzdağı, Dremio

Sıcak

B

JSON'u kopyalayıp buraya yapıştırın

Elastik

Ilık

C

JSON'u kopyalayıp buraya yapıştırın

Elastik (anlık görüntüler)

Soğuk


Bu noktada veri yaşam döngüsü yönetimi hakkında vermeniz gereken bazı kararlar var ve çok dikkatli olmanız gerekiyor çünkü burada AWS ücretlerinden tasarruf etmenin harika bir yolu var. Her bir paketteki nesneleri, erişilme sıklığına göre sıcak, sıcak veya soğuk olarak sınıflandırın. Paradan tasarruf etmek için harika bir yer, soğuk katman paketlerini doğrudan S3 Glacier'e taşımaktır; sırf tekrar yüklemek için indirme sırasında çıkış ücreti ödemeniz için hiçbir neden yoktur.


Ülkesine geri getirdiğiniz veri miktarına bağlı olarak, nasıl taşınacağını seçmek için birkaç seçeneğiniz vardır. Zaman içinde sıcak ve sıcak verileri yeni kümeye kopyalarken, yeni MinIO kümesine yeni veriler yüklemenizi ve bu verilerle çalışmanızı öneririz. Nesneleri kopyalamak için gereken süre ve bant genişliği elbette kopyaladığınız nesnelerin sayısına ve boyutuna bağlı olacaktır.


AWS S3'ten ülkenize geri göndereceğiniz toplam verileri hesaplamanın çok yararlı olacağı yer burasıdır. Envanterinize bakın ve sıcak ve ılık olarak sınıflandırılan tüm kovaların boyutlarını toplayın.


Toplam Sıcak ve Sıcak Katman Verileri = 1.534.096,7 GB

Kullanılabilir bant genişliği = 10 Gbps

Gereken Minimum Aktarım Süresi (toplam nesne boyutu / kullanılabilir bant genişliği) = 14,2 gün


Yukarıdaki toplamı temel alarak veri çıkış ücretlerini hesaplayın. kullanıyorum liste fiyatı ancak kuruluşunuz AWS'den indirim almaya hak kazanabilir. Bağlantı bant genişliği olarak da 10 Gbps kullanıyorum, ancak daha fazlası veya daha azı elinizin altında olabilir. Son olarak, S3 verilerinin üçte birinin yalnızca S3 Glacier Deep Archive'a aktarılacağı varsayımıyla çalışıyorum.


S3 Glacier'a Katmanlı Toplam Veri = 767.048,337 GB

S3'ten S3 Glacier transfer ücretleri (0,05 USD/1000 nesne) = 3.773,11 USD

S3 Glacier Deep Archive aylık depolama ücreti = 760 ABD doları


İlerleyen süreçte S3 Glacier Deep Archive kullanımına bütçe ayırmayı unutmayın.


Aktarılacak Toplam Veri = 1.534.096,7 GB

İlk 10 TB, 0,09 USD/GB = 900 USD

Sonraki 40 TB, 0,085 USD/GB = 3.400 USD

Sonraki 100 TB, 0,07 USD/GB = 70.000 USD

150 TB'ın üzerinde ilave 0,05 USD/GB = 69.205 USD

Toplam Çıkış Ücreti = 143.504$


Basitlik adına, yukarıdaki hesaplama ne nesne başına işlem ücretini (0,40 ABD Doları/1 milyon ABD Doları) ne de LİSTELEME maliyetini (5 ABD Doları/1 milyon ABD Doları) içermektedir. Çok büyük geri gönderme projeleri için, nesneleri ağ üzerinden göndermeden önce de sıkıştırabiliriz, böylece çıkış ücreti maliyetinden bir miktar tasarruf etmenizi sağlarız.


Başka bir seçenek de nesneleri aktarmak için AWS Snowball'u kullanmaktır. Snowball cihazlarının her biri 80 TB boyutunda olduğundan, ülkeye geri dönüş çalışmalarımız için 20 adete ihtiyacımız olduğunu önceden biliyoruz. Cihaz başına ücrete 10 günlük kullanım artı 2 günlük nakliye ücreti dahildir. Ek günler cihaz başına 30 ABD Doları tutarındadır.


20 Kartopu Cihazı Hizmet Ücreti (300 ABD Doları) = 6.000 ABD Doları

R/T gönderim (3-5 gün için 400 USD/cihaz) = 8.000 USD

S3 veri çıkışı (0,02 USD/GB) = 30.682 USD

Toplam Kartopu Ücretleri = 38.981,93$


AWS, aşağıdakiler de dahil olmak üzere AWS hizmetlerinden okuma ve bu hizmetlere yazma için sizden standart istek, depolama ve veri aktarım ücretleri talep edecektir: Amazon S3 Ve AWS Anahtar Yönetimi Hizmeti (KMS) . ile çalışırken dikkate alınması gereken başka hususlar da vardır Amazon S3 depolama sınıfları . S3 dışa aktarma işleri için, S3'ten Snow Family cihazınıza aktarılan veriler, LIST, GET ve diğerleri gibi işlemler için standart S3 ücretleri üzerinden faturalandırılır. Ayrıca Amazon CloudWatch Logs, Amazon CloudWatch Metrics ve Amazon CloudWatch Events için standart ücretler üzerinden ücretlendirilirsiniz.


Artık bu devasa miktarda veriyi taşımanın ne kadar süreceğini ve maliyetini biliyoruz. Zamanlama ve ücret kombinasyonuna göre hangi yöntemin ihtiyaçlarınızı karşılayacağına dair bir iş kararı verin.


Bu noktada MinIO'yu şirket içinde veya ortak yerleşim tesisinde çalıştırmak için gereken donanımın gereksinimlerini de biliyoruz. 1,5 PB depolama alanı için yukarıdaki gereksinimi karşılayın, veri artışını tahmin edin ve Önerilen Donanım ve Yapılandırma sayfa ve MinIO Kurulumunuz için En İyi Donanımı Seçmek .


İlk adım, S3 klasörlerinizi MinIO'da yeniden oluşturmaktır. Nesneleri nasıl taşımayı seçerseniz seçin, bunu yapmak zorunda kalacaksınız. Hem S3 hem de MinIO, nesneleri sunucu tarafı şifrelemeyi kullanarak depolarken, şifreleme anahtarlarının taşınması konusunda endişelenmenize gerek yoktur. Kullanarak seçtiğiniz KMS'nize bağlanabilirsiniz. Şifreleme anahtarlarını yönetmek için MinIO KES . Bu şekilde, MinIO'da şifrelenmiş kiracılar ve paketler oluşturuldukça sizin için otomatik olarak yeni anahtarlar oluşturulacaktır.


Nesneleri kopyalamak için birden fazla seçeneğiniz vardır: Toplu Çoğaltma ve mc mirror . Önceki blog yazım, AWS S3'ten MinIO'ya Nasıl Geri Dönülür? her iki yöntem için ayrıntılı talimatlar içeriyordu. Nesneleri doğrudan S3'ten şirket içi MinIO'ya kopyalayabilir veya S3'ü sorgulamak ve ardından şirket içi MinIO'ya yansıtmak için EC2 üzerinde çalışan geçici bir MinIO kümesi kullanabilirsiniz.


Genellikle müşteriler, daha büyük miktarda veriyi (1 PB'ın üzerinde) taşımak için AWS Snowball veya TD SYNNEX'in veri taşıma donanımı ve hizmetleriyle birlikte yazdığımız araçları kullanır.


MinIO yakın zamanda bir Kartopu alternatifi oluşturmak için Western Digital ve TD SYNNEX ile ortaklık kurdu. Müşteriler, Western Digital donanımını teslim almak ve kiralama süresi boyunca ihtiyaçları için ödeme yapmak üzere zaman aralıkları planlayabilirler. Daha da önemlisi, hizmet belirli bir buluta bağlı değildir; bu da işletmenin, her yerde bulunan S3 protokolünü kullanarak verileri bulutların içine, bulutların dışına ve bulutlar arasında taşımak için hizmeti kullanabileceği anlamına gelir. Hizmete ilişkin ek ayrıntıları şu adreste bulabilirsiniz: Veri Taşıma Hizmeti TD SYNNEX sitesindeki sayfa.


Politikalar ve paket özellikleri de dahil olmak üzere paket meta verileri get-bucket kullanılarak okunabilir S3 API çağrıları ve ardından MinIO'da kurulumu yapın. MinIO SUBNET'e kaydolduğunuzda mühendislerimiz şu ayarları AWS S3'ten taşımak için sizinle birlikte çalışacaktır: erişim anahtarına/gizli anahtara dayalı erişim yönetimi, yaşam döngüsü yönetimi politikaları, şifreleme, anonim genel erişim, değişmezlik ve sürüm oluşturma. Sürüm oluşturmayla ilgili bir not: Her sürüm kimliği dahili bir UUID olduğundan, AWS sürüm kimliği genellikle veriler taşınırken korunmaz. Nesneler genellikle adıyla anıldığından bu durum müşteriler için büyük ölçüde sorun teşkil etmez. Ancak AWS sürüm kimliği gerekliyse bunu MinIO'da koruyacak bir uzantımız var ve etkinleştirmenize yardımcı olacağız.


Özellikle dikkat edin IAM ve paket politikaları . AWS altyapısının arkanızda bırakacağınız tek parçası S3 olmayacak. S3 klasörlerine erişirken uygulamaların kullanabileceği çok sayıda hizmet hesabınız olacak. Bu, tüm hizmet hesaplarınızı listelemek ve denetlemek için iyi bir zaman olacaktır. Daha sonra bunları kimlik sağlayıcınızda yeniden oluşturup oluşturmayacağınıza karar verebilirsiniz. Otomatikleştirmeyi seçerseniz IAM bilgilerini harici OpenID Connect IDP'ler ve AD/LDAP ile paylaşmak için Amazon Cognito'yu kullanın.


Nesne saklama, nesne kilitleme ve arşiv/katmanlama gibi Veri Yaşam Döngüsü Yönetimine özellikle dikkat edin. Yaşam döngüsü kurallarının insanlar tarafından okunabilen bir JSON listesi elde etmek için her pakette bir get-bucket-lifecycle-configuration çalıştırın. MinIO Konsolunu veya MinIO İstemcisini (mc) kullanarak AWS S3 ayarlarını kolayca yeniden oluşturabilirsiniz. Özel güvenlik ve yönetim işlemi gerektiren nesnelerin yerini belirlemek için get-object-legal-hold ve get-object-lock-configuration gibi komutları kullanın.


Hazır yaşam döngüsünden bahsetmişken, biraz da yedekleme ve felaket kurtarmadan bahsedelim. Yedekleme ve felaket kurtarma için ek bir MinIO kümesinin çoğaltılmasını mı istiyorsunuz?


Nesneler AWS S3'ten MinIO'ya kopyalandıktan sonra veri bütünlüğünü doğrulamak önemlidir. Bunu yapmanın en kolay yolu MinIO İstemcisini kullanarak mc diff S3'teki eski klasörlere ve MinIO'daki yeni klasörlere karşı çalıştırmaktır. Bu, paketler arasındaki farkı hesaplayacak ve yalnızca eksik veya farklı olan nesnelerin bir listesini döndürecektir. Bu komut kaynak ve hedef paketlerin argümanlarını alır. Size kolaylık sağlamak için, oluşturmak isteyebilirsiniz takma adlar S3 ve MinIO için tam adresleri ve kimlik bilgilerini yazmaya devam etmenize gerek kalmaz. Örneğin:


 mc diff s3/bucket1 minio/bucket1


Harika haber şu ki, tek yapmanız gereken mevcut uygulamaları yeni MinIO uç noktasına yönlendirmek. Yapılandırmalar belirli bir süre boyunca uygulamadan uygulamaya yeniden yazılabilir. Nesne depolama alanındaki verileri taşımak, dosya sisteminden daha az kesintiye neden olur; yeni bir kümeden okuma/yazma için URL'yi değiştirmeniz yeterlidir. Uygulamalarınızı desteklemek için daha önce AWS hizmetlerine güvendiyseniz bunların veri merkezinizde mevcut olmayacağını, dolayısıyla bunları açık kaynaklı eşdeğerleriyle değiştirmeniz ve bazı kodları yeniden yazmanız gerekeceğini unutmayın. Örneğin Athena, Spark SQL, Apache Hive ve Presto ile, Kinesis Apache Kafka ile ve AWS Glue ise Apache Airflow ile değiştirilebilir.


S3 geçişiniz, uygulamanın tamamını şirket içine taşımaya yönelik daha büyük bir çabanın parçasıysa, büyük olasılıkla kullanılmışsınızdır. S3 olay bildirimleri yeni veriler geldiğinde alt hizmetleri aramak için. Eğer durum buysa korkmayın – MinIO destekliyor olay bildirimi ilave olarak. Buradaki en basit geçiş, bildirimi almak için özel bir web kancası uygulamak olacaktır. Ancak daha dayanıklı ve dayanıklı bir hedefe ihtiyacınız varsa Kafka veya RabbitMQ gibi mesajlaşma servislerini kullanın. Olayların PostgreSQL ve MySQL gibi veritabanlarına gönderilmesini de destekliyoruz.


Artık ülkenize geri dönmeyi tamamladığınıza göre, dikkatinizi depolama işlemine, izlemeye ve optimizasyona çevirmenin zamanı geldi. İyi haber şu ki MinIO için herhangi bir optimizasyona gerek yok; optimizasyonu doğrudan yazılımın içine yerleştirdik, böylece donanımınız için en iyi performansı elde ettiğinizi bilirsiniz. Kaynak kullanımını ve performansı sürekli olarak değerlendirmek için yeni MinIO kümenizi izlemeye başlamak isteyeceksiniz. MinIO ortaya çıkıyor ölçümler kullanabileceğiniz bir Prometheus uç noktası aracılığıyla tercih edilen izleme ve uyarı platformu . İzleme hakkında daha fazla bilgi için lütfen bkz. Prometheus ve Grafana ile Çoklu Bulut İzleme ve Uyarı Ve OpenTelemetry, Flask ve Prometheus kullanarak MinIO ile ölçümler .


İle ALT AĞ , söz konusu olduğunda arkandayız 2. gün operasyonları MinIO ile. Aboneler, kümelerinin sorunsuz çalışmasını sağlamak için yerleşik otomatik sorun giderme araçlarına erişim kazanır. Ayrıca destek portalımız aracılığıyla gerçek zamanlı olarak sınırsız, doğrudan mühendise yönelik destek alırlar. Ayrıca yıllık mimari incelemesiyle nesne depolama yatırımınızı geleceğe hazırlamanıza yardımcı oluyoruz.

Taşı ve Kaydet

Bulut sağlayıcılara boş çek yazma günlerinin geride kaldığı artık bir sır değil. Birçok işletme şu anda potansiyel tasarrufları bulmak için bulut harcamalarını değerlendiriyor. Artık AWS S3'ten MinIO'ya geçişinizi başlatmak için somut teknik adımlar ve finansal çerçeve de dahil olmak üzere ihtiyacınız olan her şeye sahipsiniz.


Ülkenize geri gönderilme maliyetlerinden tasarruf etme olasılığı sizi heyecanlandırıyorsa lütfen şu adresten bizimle iletişime geçin: [email protected] .


Ayrıca burada görünür.