AWS Türkçe Blog
Amazon CloudFront’u Kullanarak Uygulamanızın Dinamik İçeriğini Sunun – Başlangıç Şablonu
Orijinal makale: Link (Farhan Farooq, Public Sector Solutions Architect)
Birçok web sitesi ve web uygulaması statik içerik (HTML, CSS, JPG veya tüm son izleyicilerin görebileceği diğer dosyalar) ve her bir son görüntüleyici için kişiselleştirilmiş dinamik içeriğin bir kombinasyonunu sunar. Neyse ki Amazon CloudFront, gecikmeyi azaltmak, mimarinizi korumak ve maliyetleri optimize etmek için her iki tür içeriği de sunabilir. Bu yazıda, dinamik ve statik web siteleri ve web uygulamaları için tek bir dağıtım kullanarak hem statik hem de dinamik içerik sunmak için CloudFront’un nasıl kullanılacağını gösteriyoruz. Dinamik içerik için özel bir origin’e bağlı bir CloudFront dağıtımıyla (bu durumda, bir Amazon EC2 web sunucusu örneği) ve statik içerik için bir Amazon S3 bucket’ıyla bunu nasıl uygulayacağınızı öğreneceksiniz.
Dinamik içerik sağlayan bir origin ayarlamak için önce bir Amazon S3 bucket’ı oluşturursunuz ve ardından CloudFront’un Amazon S3’teki verilere erişmesine izin veren bir politika atarsınız. Ardından, dinamik içeriğinizi içeren bir Amazon EC2 bulut sunucusunda bir web sunucusu oluşturursunuz ve Amazon EC2 bulut sunucusunun üstleneceği bir Amazon IAM Rolü oluşturursunuz. Son olarak, dinamik ve statik içeriği kullanıcılara iki kaynaktan güvenli bir şekilde sunmak için iki origin’li bir CloudFront web dağıtımı oluşturursunuz.
Bu AWS CloudFormation dağıtım şablonunda, bu kurulum sürecini basitleştirdik, böylece yalnızca iki şeyi belirtmeniz gerekiyor: bir S3 bucket adı ve şablonun bir parçası olarak oluşturulan Amazon EC2 bulut sunucusuyla ilişkilendirilecek bir Amazon EC2KeyPair adı. İşte bu kadar!
Bu şablonu bir başlangıç noktası olarak kullanarak kendi özelleştirilmiş iş akışınızı da kolayca oluşturabilirsiniz.
- Parametrelerinizi seçin – Next‘i seçin ve ardından Parameters sayfasındaki seçenekleri belirleyin. Şablonu dağıttığınızda, aşağıdaki parametreleri belirtin:
- Stack Name – Dağıtım yığını için bir ad girin (biraz rastgelelik vermeye çalışın). Oluşturulan tüm kaynaklar (S3 bucket’ı dahil) önek olarak bu ada sahip olacaktır. Not: S3, adlandırma kurallarında büyük harflere izin vermediğinden yığın adınızda büyük harf kullanmayın.
- EC2KeyName – Şablon kullanılarak oluşturulacak Amazon EC2 bulut sunucusuyla ilişkilendirmek için mevcut bir EC2KeyPair adını seçin. Mevcut anahtar çiftiniz yoksa yeni bir EC2Key çifti oluşturmak için Amazon Elastic Compute Cloud Kullanıcı Kılavuzu’ndaki adımları izleyin.
- Ec2vpcid – Örnek dinamik web sitesini sunmak için bir instance oluşturmak istediğiniz VPC’yi seçin.
- Kurulumda adım adım ilerleyin – Next‘i ve ardından tekrar Next‘i seçin. Özel adlarla IAM kaynakları oluşturduğunuzu onaylamanız istendiğinde Yes‘i seçin. Sayfanın altında, Create Change Set‘i ve ardından yeniden Create Change Set‘i tıklayın. Son olarak, CloudFormation yığınını başlatmak için Execute‘ü seçin. Çalışmayı bitirmesi birkaç dakika sürebilir.Yığın aşağıdakileri oluşturur:
- Statik içeriği depolamak ve yalnızca CloudFront aracılığıyla sunmak için bir Amazon S3 bucket’ı
- Örnek dinamik içeriğe sahip bir Amazon EC2 bulut sunucusu
- Daha önce oluşturulan bir EC2 bulut sunucusu tarafından üstlenilecek bir AWS IAM Rolü
- Sırasıyla S3 ve EC2’den statik ve dinamik içerik sunmak için iki origin’li bir Amazon CloudFront dağıtımı
- Web sitesini test edin – Dinamik içerik dağıtımını test etmek için aşağıdakileri yapın:
- Resources sekmesi altında yeni oluşturulan S3 bucket’ını açın ve “static” adlı yeni bir klasör oluşturun. Sonra klasöre örnek bir *.png resmi yükleyin ve “mypic.png” olarak adlandırın.
- Yeni oluşturduğunuz CloudFormation Stack’e giderek web sitesi URL’sini bulun. Yığın sayfasındaki Outputs sekmesine gidin. Aşağıdaki ekran görüntüsünde gösterildiği gibi, görüntülenen statik ve dinamik içerik için web sitesi URL’lerini görebilirsiniz:
- Key altında, MainWebPage değerini görebilirsiniz. Bu satır, dinamik içerik içeren web sunucusunun URL’sini gösterir. Bu web sitesini kendi web sayfanızı oluşturmak için bir başlangıç noktası olarak kullanabilirsiniz. DynamicContentCacheTest satırı, CloudFront’un dinamik içeriği nasıl önbelleğe aldığını gösterir. Son olarak, StaticContent satırı, S3 kaynağındaki statik içerikle CloudFront dağıtımının URL’sini gösterir.
İşte bu kadar! Şimdi, benzer bir süreci izleyerek, CloudFront aracılığıyla statik ve dinamik içerik sunmak için kendi özelleştirilmiş çözümünüzü oluşturabilirsiniz.