(Amazon Elastic Container Service (Amazon ECS) üzerinden)

Amazon Elastic Container Service (Amazon ECS) Docker uygulamalarını ölçeklenebilir bir kümede çalıştırmak için kullandığınız Amazon Web Hizmetidir. Bu öğreticide yük dengeleyicinin arkasındaki Amazon ECS kümesinde Docker özellikli bir örnek uygulama çalıştırmayı, örnek uygulamayı test etmeyi ve ücretlerden kaçınmak için kaynaklarınızı silmeyi öğreneceksiniz.

Bu öğreticide gerçekleştirilen tüm işlemler ücretsiz kullanım için uygundur.

AWS Kaynaklarınızı Yönetin

Konsolda Oturum Açın

Amazon ECS ilk çalıştırma sihirbazı bir küme oluşturma ve örnek bir web uygulaması başlatma konusunda size rehberlik edecektir. Bu adımda Amazon ECS konsoluna girecek ve sihirbazı başlatacaksınız.



b. Amazon ECS ile bir görüntü deposu oluşturmak ve bir görüntüyü ilk çalıştırma sihirbazının bir parçası olarak göndermek için Amazon Elastic Container Registry’i (Amazon ECR) kullanma seçeneğiniz vardır (sağdaki ekran görüntüsüne bakın). Bu özellik şu anda belirli bölgelerde kullanılabilmektedir. 

  • Amazon ECR seçenekleriniz yoksa 2. adıma atlayın.
  • Amazon ECR seçenekleriniz varsaAmazon ECS Kümesi üzerine örnek bir uygulama dağıtın seçeneğinin yanındaki kutunun onay işaretini kaldırın ve Devam et'i seçin.
deploy-docker-container-1

(yakınlaştırmak için tıklayın)

deploy-docker-container-1

Bir görev tanımı uygulamanız için ayrıntılı bir şema gibidir. Bu adımda Amazon ECS'nin container’lar için hangi Docker görüntüsünü kullanacağını, görevde kaç container kullanacağını ve her container için kaynak tahsisini bilmesi için bir görev tanımı belirleyeceksiniz.


Görev tanımı varsayılan yapılandırma değerleriyle önceden yüklenmiştir.

  • Varsayılan değerleri inceleyin ve Sonraki Adım öğesini seçin.

Yapılandırmaları değiştirmeyi tercih ederseniz veya daha fazla bilgi edinmek isterseniz Görev Tanımı Parametreleri konusuna bakın.

deploy-docker-container-2

(yakınlaştırmak için tıklayın)

deploy-docker-container-2

Artık bir görev tanımı oluşturduğunuza göre Amazon ECS hizmetini yapılandıracaksınız. Bir hizmet, kümenizdeki görev tanımının kopyalarını başlatır ve korur. Örneğin, bir uygulamayı hizmet olarak çalıştırarak Amazon ECS durdurulan tüm görevleri otomatik olarak kurtaracak ve belirttiğiniz kopya sayısını koruyacaktır.


a. Hizmet seçeneklerini yapılandırın:

  • Hizmet Adı: Varsayılan örnek-webapp AWS tarafından sağlanan web tabanlı bir "Hello World" uygulamasıdır. Süresiz olarak çalışması amaçlanmıştır; bu nedenle bir hizmet olarak çalıştırıldığında görev sağlıksız hale gelirse veya beklenmedik bir şekilde durursa yeniden başlatılır.
  • İstenen görev sayısı: AWS ücretsiz kullanım kapsamında kalmak için varsayılan 1 değerini aynı şekilde bırakın. Bu, görevinizin 1 kopyasını oluşturacaktır.
deploy-docker-container-3

(yakınlaştırmak için tıklayın)

deploy-docker-container-3

b. Elastic load balancing: Hizmetinizde bir yük dengeleyici kullanma seçeneğiniz vardır. Amazon ECS, trafiği görevinizin başlatıldığı container bulut sunucuları arasında dağıtmak için bir Elastic Load Balancing (ELB) yük dengeleyicisi oluşturabilir.

  • Container adı: konak bağlantı noktası: Simple-app:80’ını seçin.
  • ELB dinleyici protokolü, ELB dinleyici bağlantı noktası ve ELB durum denetimi için varsayılan değerler örnek uygulama için ayarlanır. Yük dengeleme yapılandırması hakkında daha fazla bilgi için, bk. Service Load Balancing.
deploy-docker-container-3b

(yakınlaştırmak için tıklayın)

deploy-docker-container-3b

c. Bir Amazon ECS hizmetine bir yük dengeleyici eklemeden önce, hizmetlerinizin kullanması için bir Identity and Access Management (IAM) rolü oluşturmanız gerekir. Bu, Amazon ECS'nin yük dengeleyicilerinize bulut sunucuları kaydetmek ve kayıtlarını silmek için Amazon EC2 ve Elastic Load Balancing API'lerine çağrı yapmasını sağlar.

  • Zaten bir Hizmet IAM Rolünüz yoksa Amazon ECS, ecsServiceRole adlı bir rol oluşturur.
  • Mevcut bir Amazon ECS hizmet rolünüz varsa açılır menüden onu seçin.
deploy-docker-container-3c

(yakınlaştırmak için tıklayın)

deploy-docker-container-3c

d. Ayarlarınızı gözden geçirin ve Sonraki Adım'ı seçin.

deploy-docker-container-3d

(yakınlaştırmak için tıklayın)

deploy-docker-container-3d

Amazon ECS görevleriniz Amazon ECS container aracısını çalıştıran container bulut sunucular kümesi olan bir kümede çalışırBu adımda kümeyi yapılandıracak, güvenlik ayarlarını gözden geçirecek ve IAM rollerini ayarlayacaksınız. 


a. Aşağıdaki yapılandırma ayarlarını takip edin:

  • Küme adı:örnek-küme girin.
  • EC2 bulut sunucusu tipi: Varsayılan t2.micro bulut sunucusu tipi sizi ücretsiz kullanım dâhilinde tutacaktır. Daha fazla CPU ve bellek kaynağına sahip bulut sunucusu tipleri daha fazla görevi gerçekleştirebilir. Çeşitli bulut sunucusu tipleri hakkında daha fazla bilgi için bk.: Amazon EC2 Bulut Sunucusu Tipleri.
  • Bulut sunucusu sayısı: Görevlerin yerleştirilmesi için kümenizde başlatmak üzere bir Amazon EC2 bulut sunucusu başlatmak için varsayılan 1 değerini aynı şekilde bırakın. Kümenizde ne kadar çok bulut sunucusu varsa o kadar fazla görev gerçekleştirebilirsiniz.  
  • Anahtar çifti: Bulut sunucularınıza daha sonra SSH eklemek için bir anahtar çifti gerekir. Yok - SSH yapılamıyor seçeneğini seçerek, mevcut bir anahtar çiftini seçerek veya Amazon EC2 konsolunda bir tane oluşturarak devam edebilirsiniz. 
deploy-docker-container-5a

(yakınlaştırmak için tıklayın)

deploy-docker-container-5a

b. (İsteğe bağlı) Güvenlik Grubu: Varsayılan değer (Her Yerde) tüm İnternetten erişime izin verir. Ayrıca, bulut sunucularınıza erişimi kısıtlayan bir CIDR bloğu seçme seçeneğiniz de vardır.

deploy-docker-container-5b

(yakınlaştırmak için tıklayın)

deploy-docker-container-5b

c. Container bulut sunucusu IAM rolü:

  • Bir IAM rolünüz yoksa Amazon ECS sihirbazı sizin için bir tane oluşturacaktır.
  • Mevcut bir container bulut sunucusu IAM rolünüz varsa açılır listeden onu seçin.
deploy-docker-container-5c

(yakınlaştırmak için tıklayın)

deploy-docker-container-5c

d. İncele ve Başlat seçeneğini seçin.

deploy-docker-container-5d

(yakınlaştırmak için tıklayın)

deploy-docker-container-5d

Önceki adımlarda görev tanımınızı (bir uygulama şablonu gibi), Amazon ECS hizmetini (görev tanımlarınızın kopyalarını başlatan ve koruyan) ve kümenizi (container aracını çalıştıran container bulut sunucuları kümesi) yapılandırdınız. Bu adımda oluşturduğunuz kaynakları gözden geçirecek, başlatacak ve görüntüleyeceksiniz.


a. Başlatmadan önce görev tanımınızı, görev yapılandırmanızı ve küme yapılandırmalarınızı gözden geçirmek için son bir şansınız var.

  • Bulut sunucusunu başlat ve hizmeti çalıştır’ı seçin. 
deploy-docker-container-6

(yakınlaştırmak için tıklayın)

deploy-docker-container-6

b. Başlatma durumunuzu gösteren ve işlemin her adımını açıklayan bir Başlatma Durumu sayfasındasınız. 

  • Başlatma işlemi tamamlandıktan sonra Hizmeti görüntüle seçeneğini seçin.
deploy-docker-container-7

(yakınlaştırmak için tıklayın)

deploy-docker-container-7

Bu adımda tarayıcınızı yük dengeleyici DNS adına yönlendirerek örnek uygulamanın çalışır durumda olduğunu doğrulayacaksınız.


a. Örnek web uygulaması sayfasında Yük Dengeleyici Adınıza tıklayın.

deploy-docker-container-10

(yakınlaştırmak için tıklayın)

deploy-docker-container-10

b. Şimdi örnek uygulamayı test edeceksiniz:

  • ELB DNS adını kopyalayın.
  • Yeni bir tarayıcı penceresine yapıştırın.
  • Örnek uygulamayı görüntülemek için klavyenizdeki Enter tuşuna basın (bu durumda statik bir web sayfasıdır).
deploy-docker-container-12a

(yakınlaştırmak için tıklayın)

deploy-docker-container-12a

Bu öğretici boyunca üç kaynak başlattınız: Bir Amazon ECS kümesi, bir Amazon EC2 bulut sunucusu ve bir yük dengeleyici. Bu adımda, istenmeyen masraflardan kaçınmak için tüm kaynaklarınızı temizleyeceksiniz.


a. Amazon ECS konsol sayfasına geri dönün 

  • Küme adına (örnek küme) tıklayın.
deploy-docker-container-13

(yakınlaştırmak için tıklayın)

deploy-docker-container-13

b. Örnek web uygulamasının yanındaki onay kutusunu işaretleyin ve Güncelle seçeneğini tıklayın.

deploy-docker-container-15

(yakınlaştırmak için tıklayın)

deploy-docker-container-15

c. Etkin görevleri olan bir hizmeti yanlışlıkla silmediğinizden emin olmak için Amazon ECS bir hizmeti silmeden önce tüm görevleri durdurmanız gerekir. 

  • Görev sayısını 0 olarak ayarlayın ve Güncelleme Hizmeti seçeneğini seçin.
  • Hizmetinizi güncelledikten sonra Sil’i seçin.
deploy-docker-container-14

(yakınlaştırmak için tıklayın)

deploy-docker-container-14

d. Kümenizle birlikte başlatılan Amazon EC2 bulut sunucularını silin:

  • Amazon EC2 konsoluna girin
  • Sol taraftaki panoda Bulut Sunucuları seçeneğini seçin.
  • ECS Bulut Sunucusu - EC2ContainerService-default adlı bulut sunucusunun yanındaki onay kutusunu seçin.
  • Eylemler>  Bulut Sunucusu Durumu > Sonlandır seçeneklerini seçin.

 

 

deploy-docker-container-17

(yakınlaştırmak için tıklayın)

deploy-docker-container-17

e. Yük dengeleyicilerinizi silin:

  • Sol panoda Dengeleyicileri Yükle’yi seçin.
  • Hizmetiniz için oluşturduğunuz yük dengeleyicinin yanındaki onay kutusunu işaretleyin (EC2Contai-EcsElast ile başlamalıdır). 
  • Sağ tıklayın ve Sil’i seçin.

 

deploy-docker-container-19a

(yakınlaştırmak için tıklayın)

deploy-docker-container-19a

Tebrikler! Docker özellikli uygulamanızı Amazon Elastic Container Hizmeti'ne (Amazon ECS) nasıl yapılandıracağınızı, dağıtacağınızı ve Amazon Elastic Container Hizmeti’nden nasıl sileceğinizi öğrendiniz. Amazon ECS, Docker container’larını destekleyen ve Amazon EC2 bulut sunucularının yönetilen bir kümesinde uygulamaları kolayca çalıştırmanızı sağlayan son derece ölçeklenebilir, yüksek performanslı bir container yönetim hizmetidir.

Artık Docker özellikli uygulamanızı Amazon ECS'ye dağıtmayı öğrendiğinize göre container görüntülerinizi depolamak için bir Docker Kayıt Defteri oluşturmayı öğreneceğiniz bir sonraki öğreticiye geçebilirsiniz. Bir Docker görüntüsü oluşturacak, onu bir depoya aktaracak ve daha sonra Amazon ECS'ye bir uygulama dağıtmak için kullanacaksınız.

Docker Kayıt Defteri Oluşturun

Evet
Hayır