Sürümleme, MFA Delete ve Çoğaltma
Yanlışlıkla silmeye karşı korunmak için sürümlemeyi etkinleştirecek, bölgeler arası çoğaltmayı yapılandıracak ve MFA Delete ekleyeceksiniz.
Sürümleme, MFA Delete ve Çoğaltma, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
S3 Sürüm Oluşturma: Neden Önemlidir
S3 Versioning, bir bucket'ta depolanan her nesnenin her sürümünü korumanızı, almanızı ve geri yüklemenizi sağlar. Sürüm oluşturma etkinleştirildiğinde her PUT, benzersiz bir sürüm ID'sine sahip yeni bir sürüm oluşturur; eski sürümün üzerine yazılmaz, korunur. Bir nesne silinirse S3, geçerli sürüm olarak bir silme işaretçisi ekler ancak önceki tüm sürümleri korur. Bu, üretimde en yaygın veri kaybı senaryoları olan yanlışlıkla üzerine yazmalara, yanlışlıkla silmelere ve istenmeyen uygulama düzeyindeki veri bozulmalarına karşı koruma sağlar.
# Enable versioning on a bucket
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled
# List all versions of an object
aws s3api list-object-versions \
--bucket my-important-bucket \
--prefix my-document.pdfSürüm Oluşturma Durumları ve Geçişleri
Bir S3 bucket'ı üç sürüm oluşturma durumundan birinde olabilir: Sürümsüz (varsayılan, sürüm ID'leri yoktur), Sürüm oluşturma etkin (tüm yeni nesneler benzersiz sürüm ID'leri alır, tüm üzerine yazma işlemleri yeni sürümler oluşturur) veya Sürüm oluşturma askıya alınmış (yeni nesneler null sürüm ID'si alır, ancak mevcut sürümler korunur). Sürüm oluşturmayı etkinleştirdikten sonra silemezsiniz; yalnızca askıya alabilirsiniz. Sürüm oluşturma etkinleştirilmeden önce oluşturulan nesnelerin null sürüm ID'si vardır ve üzerlerine yazılana veya silinene kadar etkilenmezler.
Önceki Bir Sürümü Geri Yükleme
Sürümlenmiş bir nesnenin eski sürümünü geri yüklemek için iki seçeneğiniz vardır. Seçenek 1: eski sürüm ID'sini aynı anahtara geri kopyalayın; bu işlem eski içeriğin kopyası olan yeni bir sürüm oluşturur ve onu geçerli sürüm hâline getirir. Seçenek 2: önceki sürümün geçerli sürüm olarak görünmesini sağlamak için geçerli sürümü veya silme işaretçisini silin. Sürümlenmiş bir bucket'taki nesneyi, sürüm ID'si belirtmeden konsol aracılığıyla 'sildiğinizde' S3 bir silme işaretçisi ekler; nesne sürüm belirtmeyen isteklerde silinmiş görünür, ancak tüm sürümler hâlâ oradadır.
# Restore a specific version by copying it back to the same key
aws s3api copy-object \
--bucket my-important-bucket \
--copy-source 'my-important-bucket/my-document.pdf?versionId=abc123'\
--key my-document.pdfMFA Delete: Ek Koruma
MFA Delete, sürümlenmiş bucket'lar için ikinci bir koruma katmanı ekler. Etkinleştirildiğinde, belirli bir sürümü kalıcı olarak silmek veya bucket'ın sürüm oluşturma durumunu değiştirmek (etkin → askıya alınmış), API isteğinde geçerli MFA kimlik bilgileri sağlanmasını gerektirir. Bu koruma şunları kapsar: AWS kimlik bilgilerinizi ele geçiren bir saldırganın kritik sürümleri kalıcı olarak silmesi; sabitlenmiş nesne sürümlerinin yanlışlıkla veya otomatik olarak silinmesi; denetim izlerini yok etmeye çalışan içeriden gelen tehditler. MFA Delete yalnızca kök kullanıcı tarafından CLI aracılığıyla etkinleştirilebilir ve devre dışı bırakılabilir.
# Enable MFA Delete (must be done as root user)
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled,MFADelete=Enabled \
--mfa 'arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456'S3 Object Lock
S3 Object Lock, mevzuata uyumluluk için bir kez yazıp çok kez okuma (WORM) modelini zorunlu kılar. Object Lock ile kilitlenen nesneler, belirtilen saklama süresi boyunca hesap kök kullanıcısı tarafından bile silinemez veya üzerlerine yazılamaz. İki mod vardır: Yönetişim modu (özel izinlere sahip kullanıcılar kilidi geçersiz kılabilir veya kaldırabilir) ve Uyumluluk modu (AWS bile saklama süresi boyunca nesneyi silemez; en güçlü korumadır). Object Lock, bucket oluşturulurken etkinleştirilmelidir ve sürüm oluşturma gerektirir.
# Apply a retention rule to an object
aws s3api put-object-retention \
--bucket my-compliance-bucket \
--key audit-log-2024.csv \
--version-id abc123 \
--retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2027-01-01T00:00:00Z"}'S3 Bölgeler Arası Çoğaltma (CRR)
Cross-Region Replication (CRR), bir Bölgedeki kaynak bucket'taki yeni nesneleri ve güncellemeleri farklı bir Bölgedeki hedef bucket'a otomatik olarak çoğaltır. Kullanım alanları: uyumluluk (verilerin bir kopyasını belirli bir ülkede tutmak), felaket kurtarma (ikinci bir Bölgede kopya bulundurarak kritik veriler için RPO'yu azaltmak) ve gecikmeyi azaltma (nesneleri kullanıcılara en yakın Bölgeden sunmak). CRR, hem kaynak hem de hedef bucket'ta sürüm oluşturmanın etkin olmasını ve gerekli çoğaltma izinlerine sahip bir IAM rolünü gerektirir.
# Apply a replication configuration
aws s3api put-bucket-replication \
--bucket source-bucket-us-east-1 \
--replication-configuration file://replication-config.json
# Config specifies Role ARN, destination bucket ARN, and filter rulesAynı Bölge İçinde Çoğaltma (SRR)
Same-Region Replication (SRR), nesneleri aynı Bölge içinde çoğaltır. Kullanım alanları: günlük toplama (birden çok kaynak bucket'taki günlükleri tek bir merkezi bucket'ta çoğaltmak), test ortamı eşitlemesi (üretim verilerinin bir kopyasını aynı Bölgedeki bir geliştirme bucket'ında tutmak) ve birden çok AWS AZs bulunan tek bir ülke içindeki veri egemenliği uyumluluğu. CRR gibi SRR de her iki bucket'ta sürüm oluşturmayı ve bir IAM rolünü gerektirir. Yalnızca çoğaltma etkinleştirildikten sonra oluşturulan yeni nesneler otomatik olarak çoğaltılır; mevcut nesneleri çoğaltmak için S3 Batch Replication kullanın.
Çoğaltma: Neler Çoğaltılır, Neler Çoğaltılmaz
S3 çoğaltması şunları çoğaltır: yeni nesneler, meta veriler, etiketler, ACLs ve şifreleme durumu. Varsayılan olarak çoğaltma şunları çoğaltmaz: çoğaltma etkinleştirilmeden önce var olan nesneler (bunlar için S3 Batch Replication kullanın), silme işaretçileri (Delete Marker Replication'ı etkinleştirmediğiniz sürece), Glacier'daki nesneler (çoğaltılamaz; önce geri yükleyin) ve çoğaltılmış nesneler (üç bucket arasında zincirleme çoğaltma yoktur). Bu sınırları anlamak, geçmiş verilerin ve silme olaylarının da çoğaltılması gereken eksiksiz DR stratejilerini tasarlamak için önemlidir.
S3 Replication Time Control (RTC)
Replication Time Control (RTC), CRR için isteğe bağlı bir eklentidir ve bir Hizmet Düzeyi Anlaşması sağlar: nesnelerin %99,99'u 15 dakika içinde çoğaltılır; CloudWatch'ta çoğaltma ölçümleri ve bildirimleri sunulur. RTC olmadan çoğaltmanın zaman garantisi yoktur; çoğu nesne hızlıca çoğaltılır, ancak istisnai durumlar saatler sürebilir. RTC, DR veya uyumluluk gereksinimleriniz S3'teki veriler için maksimum bir Recovery Point Objective (RPO) belirttiğinde gereklidir. Standart çoğaltma veri aktarım maliyetine ek olarak GB başına çoğaltma ücreti ekler.
Sürüm Oluşturma ve Depolama Maliyetine Etkisi
Sürüm oluşturmayı etkinleştirmek depolama maliyetlerini artırır; çünkü S3, açıkça silinene kadar her nesnenin tüm sürümlerini saklar. Üzerine 10 kez yazılan 100 MB'lık bir dosya artık 1.000 MB depolama alanı kullanır. Bunu, belirli bir gün sayısından sonra güncel olmayan sürümlerin süresini otomatik olarak dolduran yaşam döngüsü kuralları kullanarak azaltabilirsiniz (örneğin, 30 günden eski güncel olmayan sürümleri silmek) veya güncel olmayan sürümleri Glacier gibi daha ucuz depolama sınıflarına geçirebilirsiniz. Üretim ortamlarında depolama maliyetlerini kontrol etmek için sürüm oluşturmayı her zaman yaşam döngüsü kurallarıyla birlikte kullanın.
# Lifecycle rule to expire non-current versions after 30 days
aws s3api put-bucket-lifecycle-configuration \
--bucket my-important-bucket \
--lifecycle-configuration '{"Rules":[{"ID":"expire-old-versions","Status":"Enabled","NoncurrentVersionExpiration":{"NoncurrentDays":30}}]}'Fidye Yazılımlarına Karşı Koruma
S3 sürüm oluşturma ile Nesne Kilidi'nin (Uyumluluk modu) birlikte kullanılması, fidye yazılımlarına karşı güçlü koruma sağlar. Bir saldırgan nesnelerinizi şifreler veya silerse sürüm oluşturma, önceki sürümlerin saklanmasını sağlar (saldırgan bunları kalıcı olarak silebilir; bu nedenle Nesne Kilidi, saklama süresi boyunca kalıcı silmeyi engeller). En üst düzey koruma için sürüm oluşturmayı etkinleştirin, MFA Delete'i etkinleştirin, kritik veriler için Nesne Kilidi'ni Uyumluluk modunda uygulayın ve tüm kopyaların tek bir hesap ele geçirildiğinde yok edilmesini önlemek için ayrı IAM kimlik bilgileriyle ikinci bir Bölgeye çoğaltma yapın.
Kısa Kontrol
Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: sürüm oluşturma, her nesnenin tüm sürümlerini korur ve yanlışlıkla silinmeye karşı koruma sağlar, MFA Delete ve Nesne Kilidi, uyumluluk ve fidye yazılımı koruması için ek değişmezlik sağlar ve CRR ile SRR, DR ve uyumluluk gereksinimlerini karşılamak üzere nesneleri diğer bucket'lara çoğaltır. Sırada S3 depolama sınıflarını ve maliyet optimizasyonu için yaşam döngüsü ilkelerini inceleyeceğiz.
Sıkça Sorulan Sorular
“Sürümleme, MFA Delete ve Çoğaltma” dersi ücretsiz mi?
Evet — “Sürümleme, MFA Delete ve Çoğaltma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“Sürümleme, MFA Delete ve Çoğaltma” dersinde ne öğreneceğim?
Yanlışlıkla silmeye karşı korunmak için sürümlemeyi etkinleştirecek, bölgeler arası çoğaltmayı yapılandıracak ve MFA Delete ekleyeceksiniz. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Sürümleme, MFA Delete ve Çoğaltma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Bucket'lar, Nesneler ve Bölgeler
- S3 Erişim Denetimi: Bucket İlkeleri ve ACL'ler
- Sürümleme, MFA Delete ve Çoğaltma
- Depolama Sınıfları ve Yaşam Döngüsü İlkeleri