Başlamadan önce
- Bir AWS hesabı ve IAM’de kullanıcı ve politika oluşturma yetkisi
- Kule’ye eklenmiş, Dokploy kurulu bir sunucuda bir veritabanı
- Bucket’ı Avrupa (Frankfurt), yani eu-central-1 bölgesinde açman gerekiyor. Kule S3 için şimdilik bu bölgeyi kullanıyor.
1Bucket’ı oluştur
AWS konsolunda S3’ü aç, üst çubuktan bölge olarak Europe (Frankfurt) eu-central-1’i seç ve Create bucket’a bas. Bucket’ın bölgesi sonradan değiştirilemez.
Bir ad ver, örneğin merttopuz-yedek. Ad 3 ile 63 karakter arası olmalı; yalnızca küçük harf, rakam, nokta ve tire içerebilir. Ad bütün AWS hesapları arasında benzersiz olmalı. Block Public Access ayarlarının hepsi varsayılan olarak açık gelir; öyle kalsın.
2Yalnızca bu bucket’a yetki
Yedekler için hesabının ana anahtarlarını kullanma. IAM’de yeni bir politika oluştur ve JSON düzenleyicisine aşağıdakini yapıştır. Bu politika yalnızca bu bucket’ı listeleme, içine dosya yazma, okuma ve silme izni verir; silme, eski yedekleri temizlemek için gerekiyor.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::merttopuz-yedek"]
},
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Resource": ["arn:aws:s3:::merttopuz-yedek/*"]
}
]
}Bucket adını kendi bucket’ınınkiyle değiştir. Sonra yedekler için ayrı bir IAM kullanıcısı oluştur; konsol erişimi gerekmez. Politikayı bu kullanıcıya ya da kullanıcının dahil olduğu bir gruba bağla.
3Access key oluştur
Kullanıcının Security credentials sekmesinden yeni bir access key oluştur. Karşına iki değer çıkar: Access key ID ve Secret access key.
4Kule’de yedeklemeyi aç
Veritabanları’nda yedeklemek istediğin veritabanının kartında Yedeklemeyi aç’a bas. Hedef seçiminde + S3 uyumlu depo’yu seç.
- Sağlayıcı olarak AWS S3’ü seç.
- Bucket alanına bucket’ın adını yaz: merttopuz-yedek.
- Access key ve Secret alanlarına IAM’den aldığın iki değeri yapıştır ve kaydet.
- Yedekleme penceresine dönünce hedef olarak bu bucket seçili gelir. Onayla.
Depoyu ekledikten sonra yedeklemeyi aynı pencerede aç. Depo, onu kullanan ilk yedeklemeyle birlikte Dokploy’a kaydedilir.
5Bundan sonra
Kule bucket’ı Dokploy’a yedek hedefi olarak ekler ve veritabanı için bir gece planı kurar. Dokploy her gece 03:00’te (sunucunun saatiyle) yedeği alır ve bucket’ta veritabanının Dokploy’daki adını taşıyan bir klasöre koyar; en yeni 14 yedek tutulur. Mac’inin açık olması gerekmez.
Geri yükleme şimdilik elle yapılır: yedek dosyası bucket’ta durur, Kule otomatik geri yükleme yapmaz. Yedekleri bu Mac’te de tutmak istersen aynı veritabanı için bu Mac’e yedeklemeyi de açabilirsin; PostgreSQL’de her yedek geçici bir kopyaya geri yüklenerek denenir. O yolda Mac’in yedek saatinde açık olmalı.