Yereldeki SQL veritabanınız için en büyük endişelerden biri yedeklerin sağlıklı alınması ve ihtiyaç anında sağlıklı olarak geri dönülmesidir.
Artan siber saldırılar sonrası, yerelden yerele alınan yedeklerin de siber saldırılara maruz kaldığı hepimizin malumudur. Bu durumda bulut yedek platformlarına yedeklemek iyi bir alternatif ve güven kaynağı oluyor. Bu yazımda, yerel SQL veritabanlarınızı AWS servislerine nasıl yedekler ve nasıl geri dönersiniz bunu inceleyeceğim.
Bir yedekleme oluşturulmadan önce Amazon RDS sunucusunun S3’te yedeklemeleri tutmasına izin vermek gerekir. Bunu ayarlamak için aşağıdaki adımları kullanın:
AWS RDS Konsoluna gidin ve Options Groups menüsüne tıklayın.
Options Group oluşturun :
SQL veritabanınıza uygun “Engine Version” ve “Engine” Seçin.
“Add Option” butonuna tıklayarak seçeneği bu gruba ekleyin.
“Add Options” butonuna tıklayarak seçeneği bu gruba ekleyin. “SQLSERVER_BACKUP_RESTORE” öğesini seçin ve “IAM rolü” bölümünde yeni bir rol oluşturun. Gerekli tüm izinlere sahip rol oluşturulacaktır.
“S3 Destination” bölümünde yedeklerinizi depolamak istediğiniz bucket’ı belirtin ve “Add Option” butonuna tıklayın.
Şimdi veritabanının ayarlarında “Option Group” seçeneğini ayarlayın. Bunu yapmak için, ihtiyacınız olan veritabanını seçin ve “Modify”e tıklayın. “Database Options” bölümünde, oluşturulan “Option Group”u seçin.
Tüm ayarları kaydedip SQL tarafına geçin ( tüm ayarların aktif olması 10-15dk süre alabilir ):
Ms SQL tarafında SSMS ( SQL Server Management Studio ) kullanarak bir backup job sorgusu ( query) oluşturun :
EXEC [msdb].[dbo].[rds_backup_database] @source_db_name = '<database name>', @S3_arn_to_backup_to = N'arn:aws:s3:::<bucket name>/sample.backup'
Tanımlamalar:
source_db_name : veritabanı adınız
S3_arn_to_backup_to : bucket name ve backup ismi
Yedekleme işlemini izlemek için EXEC [msdb].[Dbo].[Rds_task_status] adlı başka bir prosedürü çalıştırabilirsiniz.
isterseniz bu job’ı zamanlayarak kullanabilirsiniz.
Amazon S3’e aldığınız bu yedeği nasıl restore edersiniz:
Yine aynı şekilde SSMS üzerine bir query çalıştırarak yedeği dönebilirsiniz
T-SQL : exec msdb.dbo.rds_restore_database @restore_db_name='<database name>', @s3_arn_to_restore_from='arn:aws:s3:::<bucket name>/sample.backup';
Yedeği nasıl farklı zone’lara transfer ederek ek bir güvenlik ve yedekleme sağlarsınız ona da başka bir yazıda değineceğim.