บน Amazon Elastic Container Service (Amazon ECS)

Amazon Elastic Container Service (Amazon ECS) คือ Amazon Web Service ที่คุณใช้งานเพื่อเรียกใช้แอปพลิเคชัน Docker บนคลัสเตอร์ที่ปรับขนาดได้ ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีการเรียกใช้แอปพลิเคชันตัวอย่างแบบเปิดใช้งาน Docker บนคลัสเตอร์ Amazon ECS เบื้องหลังโหลดบาลานเซอร์ ทดสอบแอปพลิเคชัน และลบทรัพยากรเพื่อหลีกเลี่ยงค่าใช้จ่าย

ทุกสิ่งที่ทำในบทแนะนำสอนการใช้งานนี้สามารถใช้กับ Free Tier ได้

จัดการทรัพยากร AWS ของคุณ

ลงชื่อเข้าใช้คอนโซล

ตัวช่วยเริ่มต้น Amazon ECS จะช่วยนำคุณไปในการสร้างคลัสเตอร์และเปิดใช้งานเว็บแอปพลิเคชันตัวอย่าง ในขั้นตอนนี้ คุณจะต้องเข้าสู่คอนโซล Amazon ECS และเปิดใช้ตัวช่วย



ข. ด้วย Amazon ECS คุณมีตัวเลือกที่จะใช้ Amazon Elastic Container Registry (Amazon ECR) เพื่อสร้างคลังเก็บข้อมูลอิมเมจและนำอิมเมจเข้าไปเก็บไว้เป็นส่วนหนึ่งของตัวช่วยเริ่มต้น (ดูภาพหน้าจอด้านขวา) คุณสมบัตินี้มีให้บริการเฉพาะในเขตที่คัดสรรแล้วเท่านั้น 

  • หากคุณไม่มีตัวเลือก Amazon ECR ให้ข้ามไปยังขั้นตอนที่ 2
  • หากคุณมีตัวเลือก Amazon ECR ให้นำเครื่องหมายออกจากช่องที่อยู่ถัดจาก Deploy a sample application onto an Amazon ECS Cluster (ปรับใช้แอปพลิเคชันตัวอย่างลงในคลัสเตอร์ Amazon ECS) และเลือก Continue (ดำเนินการต่อ)
deploy-docker-container-1

(คลิกเพื่อซูม)

deploy-docker-container-1

คำจำกัดความของงานเปรียบเหมือนแบบแผนสำหรับแอปพลิเคชันของคุณ ในขั้นตอนนี้ คุณจะต้องกำหนดคำจำกัดความของงานเพื่อให้ Amazon ECS รู้ว่าอิมเมจ Docker ใดที่จะใช้สำหรับคอนเทนเนอร์ จำนวนของคอนเทนเนอร์ที่จะใช้กับงานนี้มีเท่าใด และการจัดสรรทรัพยากรสำหรับแต่ละคอนเทนเนอร์


คำจำกัดความของงานมาพร้อมกับค่าการกำหนดค่าเริ่มต้น

  • ตรวจสอบค่าเริ่มต้นและเลือก Next Step (ขั้นตอนถัดไป)

หากคุณต้องการดัดแปลงการกำหนดค่าหรือเรียนรู้เพิ่มเติม ดูที่ พารามิเตอร์คำจำกัดความของงาน

deploy-docker-container-2

(คลิกเพื่อซูม)

deploy-docker-container-2

ในตอนนี้เมื่อคุณสร้างคำจำกัดความของงานแล้ว คุณจะต้องกำหนดค่า Amazon ECS service บริการที่เปิดใช้งานและรักษาสำเนาของคำจำกัดความของงานในคลัสเตอร์ของคุณ ตัวอย่างเช่น ด้วยการใช้งานแอปพลิเคชันเป็นบริการ Amazon ECS จะกู้คืนงานที่หยุดไปโดยอัตโนมัติและรักษาจำนวนของสำเนาที่คุณกำหนดไว้


ก. ตัวเลือกการกำหนดค่าบริการ:

  • ชื่อของบริการ:sample-webapp เริ่มต้นคือแอปพลิเคชัน "Hello World" ที่มีพื้นฐานบนเว็บซึ่งจัดเตรีัยมโดย AWS โดยถูกกำหนดให้ทำงานอย่างไม่มีจำกัด ดังนั้นด้วยการใช้งานเป็นบริการ แอปพลิเคชันจะรีสตาร์ทหากงานไม่อยู่ในสภาพที่ดีหรือหยุดทำงานอย่างไม่คาดคิด
  • จำนวนงานที่ต้องการ: เพื่อให้อยู่ภายใน AWS free tier ปล่อยค่าเริ่มต้นไว้ที่ 1 ซึ่งจะเป็นการสร้าง 1 สำเนาจากงานของคุณ
deploy-docker-container-3

(คลิกเพื่อซูม)

deploy-docker-container-3

ข. Elastic load balancing: คุณมีตัวเลือกที่จะใช้งานโหลดบาลานเซอร์กับบริการของคุณ Amazon ECS สามารถสร้างโหลดบาลานเซอร์ Elastic Load Balancing (ELB) เพื่อกระจายการใช้งานในอินสแตนซ์คอนเทนเนอร์ที่งานของคุณจะเปิดใช้งาน

  • ชื่อคอนเทนเนอร์: พอร์ตโฮสต์: เลือก Simple-app:80
  • ค่าเริ่มต้นสำหรับ โปรโตคอลกระบวนการรองรับ ELB, พอร์ตกระบวนการรองรับ ELB และการตรวจสอบสภาพ ELB ถูกตั้งไว้สำหรับแอปพลิเคชันตัวอย่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า Load Balancing Service Load Balancing
deploy-docker-container-3b

(คลิกเพื่อซูม)

deploy-docker-container-3b

ค. ก่อนที่คุณจะติดตั้งโหลดบาลานเซอร์เข้ากับ Amazon ECS service คุณจะต้องสร้างบทบาท Identity and Access Management (IAM) สำหรับบริการที่จะใช้งาน ซึ่งจะช่วยให้ Amazon ECS สามารถเรียก Amazon EC2 และ Elastic Load Balancing API เพื่อลงทะเบียนและถอนการลงทะเบียนอินสแตนซ์ด้วยโหลดบาลานเซอร์ของคุณ

  • หากคุณไม่มีบทบาท IAM บริการอยู่ก่อนหน้า Amazon ECS จะสร้างขึ้นมาหนึ่งรายการชื่อว่า ecsServiceRole
  • หากคุณมีบทบาท Amazon ECS service อยู่แล้ว ให้เลือกจากเมนูดรอปดาวน์
deploy-docker-container-3c

(คลิกเพื่อซูม)

deploy-docker-container-3c

ง. ตรวจสอบการตั้งค่าและเลือก ขั้นตอนถัดไป

deploy-docker-container-3d

(คลิกเพื่อซูม)

deploy-docker-container-3d

งาน Amazon ECS ของคุณใช้งานคลัสเตอร์ ซึ่งเป็นชุดของอินสแตนซ์คอนเทนเนอร์ที่ใช้งานเอเจนต์คอนเทนเนอร์ Amazon ECS ในขั้นตอนนี้ คุณจะต้องกำหนดค่าคลัสเตอร์ ตรวจสอบการตั้งค่าความปลอดภัย และตั้งบทบาท IAM 


ก. ดำเนินการตามการตั้งค่าการกำหนดค่าด้านล่าง:

  • ชื่อคลัสเตอร์: ให้ป้อน sample-cluster
  • ประเภท EC2 instance: ประเภทอินสแตนซ์ t2.micro เริ่มต้นจะให้คุณยังอยู่ในแบบ free tier ประเภทอินสแตนซ์ที่มีทรัพยากร CPU และหน่วยความจำมากกว่าสามารถจัดการกับงานได้มากกว่า สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอินสแตนซ์ที่แตกต่างกัน ดูที่ ประเภท Amazon EC2 Instance
  • จำนวนของอินสแตนซ์: ปล่อยเป็นค่าเริ่มต้นที่ 1 เพื่อเปิดใช้ Amazon EC2 instance หนึ่งตัวให้เปิดใช้กับคลัสเตอร์ของคุณสำหรับงานที่วางไว้ ยิ่งมีอินสแตนซ์ในคลัสเตอร์มากขึ้น ยิ่งสามารถจัดการกับงานได้มากขึ้น  
  • คู่คีย์: คู่คีย์นั้นจำเป็นต่อการ SSH ในอินสแตนซ์ของคุณในภายหลัง คุณสามารถดำเนินการต่อได้โดยเลือก ไม่มี - ไม่สามารถ SSH ได้ เลือกคู่คีย์เดิมที่มีอยู่หรือโดยการสร้างขึ้นมาหนึ่งรายการในคอนโซล Amazon EC2 
deploy-docker-container-5a

(คลิกเพื่อซูม)

deploy-docker-container-5a

ข. (ตัวเลือก) กลุ่มความปลอดภัย: ค่าเริ่มต้น (ทุกที่) ทำให้สามารถเข้าถึงได้จากทุกที่บนอินเทอร์เน็ต คุณยังมีตัวเลือกเพื่อเลือกบล็อก CIDR ซึ่งจำกัดการเข้าถึงอินสแตนส์ของคุณ

deploy-docker-container-5b

(คลิกเพื่อซูม)

deploy-docker-container-5b

ค. บทบาท IAM อินสแตนซ์คอนเทนเนอร์

  • หากคุณไม่มีบทบาท IAM ตัวช่วย Amazon ECS จะสร้างขึ้นมาหนึ่งตัวสำหรับคุณ
  • หากคุณมีบทบาท IAM อินสแตนซ์คอนเทนเนอร์เดิมอยู่แล้ว ให้เลือกมาหนึ่งตัวจากรายการแบบดรอปดาวน์
deploy-docker-container-5c

(คลิกเพื่อซูม)

deploy-docker-container-5c

ง. เลือก ตรวจสอบและเปิดใช้งาน

deploy-docker-container-5d

(คลิกเพื่อซูม)

deploy-docker-container-5d

ในขั้นตอนก่อนหน้านี้ คุณได้กำหนดค่าคำจำกัดความงานของคุณ (ซึ่งเป็นเหมือนแบบแผนของแอปพลิเคชัน) Amazon ECS service (ซึ่งเปิดใช้งานและรักษาสำเนาของคำจำกัดความงานของคุณ) และคลัสเตอร์ของคุณ (ซึ่งเป็นชุดของอินสแตนซ์คอนเทนเนอร์ที่ใช้งานเอเจนต์คอนเทนเนอร์) ในขั้นตอนนี้ คุณจะต้องตรวจสอบ เปิดใช้งาน และดูทรัพยากรที่คุณสร้างขึ้น


ก. คุณมีโอกาสสุดท้ายที่จะตรวจสอบคำจำกัดความของงาน การกำหนดค่าของงาน และการกำหนดค่าคลัสเตอร์ก่อนที่จะเปิดใช้งาน

  • เลือก เปิดใช้งานอินสแตนซ์และใช้งานบริการ 
deploy-docker-container-6

(คลิกเพื่อซูม)

deploy-docker-container-6

ข. คุณจะอยู่ในหน้า สถานะการเปิดใช้งาน ซึ่งแสดงสถานะการเปิดใช้งานของคุณและอธิบายแต่ละขั้นตอนของกระบวนการ 

  • หลังจากเสร็จสิ้นการเปิดใช้งาน ให้เลือก ดูทรัพยากร
deploy-docker-container-7

(คลิกเพื่อซูม)

deploy-docker-container-7

ในขั้นตอนนี้ คุณจะต้องยืนยันว่าแอปพลิเคชันตัวอย่างนั้นพร้อมและทำงานโดยเปิดเบราว์เซอร์ของคุณไปที่ชื่อ DNS ของโหลดบาลานเซอร์


ก. บนหน้า sample-webapp คลิกที่หน้าโหลดบาลานเซอร์ของคุณ

deploy-docker-container-10

(คลิกเพื่อซูม)

deploy-docker-container-10

ข. คุณจะทำการตรวจสอบแอปพลิเคชันตัวอย่าง:

  • คัดลอกชื่อ ELB DNS
  • วางลงในหน้าต่างเบราว์เซอร์ใหม่
  • กดปุ่ม Enter บนแป้นพิมพ์เพื่อดูตัวอย่างแอปพลิเคชัน (ในกรณีนี้จะเป็นหน้าเว็บแบบสแตติก)
deploy-docker-container-12a

(คลิกเพื่อซูม)

deploy-docker-container-12a

ในบทแนะนำสอนการใช้งานนี้ คุณได้เปิดใช้งานทรัพยากรสามรายการได้แก่ คลัสเตอร์ Amazon ECS, Amazon EC2 instance และโหลดบาลานเซอร์ ในขั้นตอนนี้ คุณจะต้องล้างข้อมูลทรัพยากรทั้งหมดเพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่ต้องการ


ก. กลับไปที่หน้าคอนโซล Amazon ECS 

  • คลิกที่ชื่อคลัสเตอร์ (sample-cluster)
deploy-docker-container-13

(คลิกเพื่อซูม)

deploy-docker-container-13

ข. ทำเครื่องหมายในกล่องทำเครื่องหมายถัดจาก sample-webapp และคลิก อัปเดต

deploy-docker-container-15

(คลิกเพื่อซูม)

deploy-docker-container-15

ค. เพื่อรับรองว่าคุณจะไม่ลบบริการที่มีงานซึ่งกำลังดำเนินอยู่โดยไม่ได้ตั้งใจ คุณต้องหยุดการทำงานทั้งหมดก่อนที่ Amazon ECS จะลบบริการ 

  • ตั้งจำนวนงานที่ 0 และเลือก อัปเดตบริการ
  • หลังจากอัปเดตบริการ ให้เลือก ลบ
deploy-docker-container-14

(คลิกเพื่อซูม)

deploy-docker-container-14

ง. ลบ Amazon EC2 instance ที่ถูกเปิดใช้งานด้วยคลัสเตอร์ของคุณ:

  • เข้าสู่คอนโซล Amazon EC2
  • ในแผงทางด้านซ้าย ให้เลือกอินสแตนซ์
  • ทำเครื่องหมายในกล่องทำเครื่องหมายที่อยู่ถัดจากอินสแตนซ์ชื่อว่า ECS Instance - EC2ContainerService-default
  • เลือก การดำเนินการ > สถานะของอินสแตนซ์ > ยกเลิกการใช้งาน

 

 

deploy-docker-container-17

(คลิกเพื่อซูม)

deploy-docker-container-17

จ. ลบโหลดบาลานเซอร์ของคุณ:

  • ในแผงด้านซ้าย ให้เลือก โหลดบาลานเซอร์
  • ทำเครื่องหมายในกล่องทำเครื่องหมายที่อยู่ถัดจากโหลดบาลานเซอร์ที่คุณสร้างขึ้นสำหรับบริการ (ควรจะขึ้นต้นด้วยEC2Contai-EcsElast
  • คลิกขวาและเลือก ลบ

 

deploy-docker-container-19a

(คลิกเพื่อซูม)

deploy-docker-container-19a

ขอแสดงความยินดี! คุณได้เรียนรู้วิธีกำหนดค่า ปรับใช้ และลบแอปพลิเคชันแบบเปิดใช้งาน Docker ของคุณกับ Amazon Elastic Container Service (Amazon ECS) Amazon ECS เป็นบริการจัดการคอนเทนเนอร์ประสิทธิภาพสูงที่ปรับขนาดได้ในระดับสูงซึ่งสนับสนุนคอนเทนเนอร์ Docker และช่วยให้คุณสามารถเรียกใช้แอปพลิเคชันในคลัสเตอร์ที่มีการจัดการของ Amazon EC2 instance

ตอนนี้คุณได้เรียนรู้วิธีการปรับใช้แอปพลิเคชันแบบเปิดใช้งาน Docker กับ Amazon ECS คุณสามารถดำเนินการต่อไปยังบทแนะนำสอนการใช้งานถัดไปซึ่งคุณจะได้เรียนรู้วิธีสร้าง Docker Registry เพื่อจัดเก็บอิมเมจคอนเทนเนอร์ของคุณ คุณจะต้องสร้างอิมเมจ Docker นำเข้าสู่คลัง และใช้เพื่อปรับใช้แอปพลิเคชันบน Amazon ECS

สร้าง Docker Registry

ใช่
ไม่มี