IT & IoT Security | Cloud | It's all about the life itself

Nothing in life is as important as you think it is, while you are thinking about it.

AWS Restore ve Static Content ’in S3 ’e aktarılması

Merhaba,

Bölüm 1 ve Bölüm 2 ‘de farklı servis sağlayıcısında yayınlanan web uygulamasının yedeğini AWS S3 ‘e almıştık ve web uygulamamızı çalıştıracağımız yeni ortamı Elastic Beanstalk ve CloudFront servislerini kullanarak yapılandırmıştık. Bu bölümde, S3 ‘teki yedeğimizi yeni ortama geri yükyeceğiz(restore) ve CloudFront için içeriğin bazı kısımlarını S3’e upload edeceğiz.

CloudFront servisinin web adresini açtığınızda ilk olarak wordpress uygulamasının kurulum arayüzüne ulaşırsınız. Çünkü elastic beanstalk ile yüklediğiniz ilk sürümünüz normal şartlarda sadece wordpress ’i ve wordpress’in varsayılan halini içermektedir. WordPress’in kurulum ekranını takip ederek wordpress uygulamasını varsayılan ayarları ile kurabilirsiniz.Wordpress uygulaması için veritabanına ihtiyacınız olacak. Test ortamımda veritabanı hizmetini AWS RDS MySQL ile sağladım.

WordPress’in genel kurulumundan sonra ilk yapılması gereken updraftplus isimli backup/restore eklentisinin yeni web sitenize yüklenmesi olmalıdır(backup/restore için kullandığınız eklenti farklı ise onu kurabilirsiniz). Böylece S3 ‘teki yedeğinizi yeni web uygulamanıza/sitenize geri yükleyerek diğer servis sağlayıcısında çalışmakta olan prod web sitenizi, yeni ortamda elde edebileceksiniz.

clip_image002

 

Hatırlarsanız Bölüm 1 ‘de updraftplus eklentisini prod’daki(diğer servis sağlayıcında yayınlan) bloguma kurarak aktifleştirmiştim. Aynı işlemi aws üzerinde kurduğum web sitesinde de yaptım. Böylece üstteki ekrana ulaşmış oldum. Yeni blog’um, updraft’ın AWS entegrasyonundan dolayı S3 ’e aktarılmış olan yedeği algıladı! Bu arada updraft’ı premium olarak kullanıyorsanız, her aktivasyon sırasında, değişen web url’ine göre üyeliğinizden bir kayıt(activation/subscription) hakkınızı kullanmış sayılıyorsunuz. Geri dönüşü yok!

clip_image004

Üstteki ayarlar ile restore işlemini başlatabilirsiniz. Restore işlemi bittikten sonra, restore ettiğiniz data’nı niteliğine bağlı olarak yeni ortamdaki web siteniz eskisi gibi olacaktır.

Bu aşamadan sonra yeni sitenin static içeriğini ve/veya istediğiniz içeriği w3 total cache eklentisi ile AWS S3’e upload edebilirsiniz(incelediğim senaryoya göre cloudfront’un devreye girmesi için bu adım gerekiyor!). W3 total cache eklentisini AWS CloudFront ile çalışmak üzere yapılandırmak için önceki yazılarımı ve/veya kaynaklar kısmında paylaştığım çeşitli blog’ları inceleyebilirsiniz.

clip_image005

W3 total cache eklentisinde yapılandırmanız gereken ayarlardan biri üstteki görülmektedir. Seçenekler hakkında w3 total cache eklentisinin dokumantasyonunu inceleyebilirsiniz veya wordpress blog/forum’larını inceleyebilirsiniz.

clip_image006

Bir diğer yapılandırma seçeneği ise üstteki kısımdır. Bu aşamada kullanmanız gereken bilgileri, AWS IAM servisini kullanarak oluşturuyorsunuz. Ayarları kaydettikten sonra siteninizin içeriğini AWS S3’e upload edebilirsiniz.

clip_image007

Üstte görüldüğü üzere wp-content, S3’e upload ediliyor.

clip_image008

Belirlediğiniz diğer içeriği/içerikleri de sırayla upload edebilirsiniz.

clip_image010

Daha önce cache’lenmiş media’nın güncellenmesi için üstteki seçeneği kullanabilirsiniz. Yaptığınız işlemlerin ardından AWS S3 ‘e aktardığımız içerik aşağıdaki gibidir(test ortamımdaki içerik bu şekildeydi,sizin aktardığınız içerk farklı ise, görünüm farklı olacaktır!).

clip_image011

Web uygulamanızı web brower ile gezerek AWS CloudFront ’a gelen talepleri aşağıdaki menüleri kullanarak gözleyebilirsiniz.

clip_image013

Bölüm 3 ‘ün de sonuna gelmiş oldum. Daha önce alınmış olan yedeği yeni ortama geri yükledik. W3 total cache eklentisi ile static içeriği(veya sizin belirleyeceğiniz içeriği) AWS S3’e yükledik. Dolayısıyla web uygulamama gelen talepler cloudfront((bölüm iki de belirttiğim ayarlar ile) distribution’una göre işlem görmeye başlamış oldu(cache).

Not: W3 total cache eklentisinde kullandığınız access key id’ye ait IAM user’ın en azından aşağıdaki izine sahip olması gerekir.

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “ABC2229XXXX689070”,
“Effect”: “Allow”,
“Action”: [
“s3:DeleteObject”,
“s3:GetObject”,
“s3:GetObjectAcl”,
“s3:ListBucket”,
“s3:PutObject”,
“s3:PutObjectAcl”
],
“Resource”: [
“arn:aws:s3:::bucket_ismi”,
“arn:aws:s3:::bucket_ismi/*”
]
}
]
}

Herkese sorunsuz ve neşeli günler dilerim.

Kaynaklar:

http://aws.amazon.com/cloudfront/

https://aydogmusoglu.com/?s=cloudfront

http://www.admin-magazine.com/Articles/Supercharge-Your-Website-with-Amazon-CloudFront

https://tinkertry.com/easy-install-amazon-cloudfront-cdn-with-wordpress-plugin-w3-total-cache

https://rtcamp.com/tutorials/cdn/amazon-cloudfront-wordpress-w3-total-cache/

http://publishingwithwordpress.com/activating-amazon-cloudfront/

http://www.elegantthemes.com/blog/tips-tricks/how-to-use-amazon-s3-and-cloudfront-with-wordpress