คำถามของคุณ
ECS เป็นเพียงนักเทียบท่าที่ติดตั้งใน EC2 หรือไม่? หากฉันมี EC2 อยู่แล้วฉันเริ่ม ECS หมายความว่าฉันมีสองอินสแตนซ์หรือไม่
ไม่ใช่AWS ECS
เป็นเพียงการจัดกลุ่มเชิงตรรกะ (คลัสเตอร์) ของEC2
อินสแตนซ์และอินสแตนซ์ทั้งหมดที่เป็นEC2
ส่วนหนึ่งของการECS
กระทำในฐานะDocker
โฮสต์เช่น ECS สามารถส่งคำสั่งเพื่อเรียกใช้คอนเทนเนอร์บนอินสแตนซ์( EC2
) หากคุณมี EC2 แล้วเปิดใช้ ECS คุณจะยังมีอินสแตนซ์เดียว หากคุณเพิ่ม / ลงทะเบียน (โดยการติดตั้ง AWS ECS Container Agent) EC2 ไปยัง ECS จะกลายเป็นส่วนหนึ่งของคลัสเตอร์ แต่ยังคงเป็นอินสแตนซ์เดียวของ EC2
Amazon ECS ที่ไม่มีการลงทะเบียน EC2 (เพิ่มลงในคลัสเตอร์) นั้นไม่มีประโยชน์อะไรเลย
TL; DR
ภาพรวม
EC2
- เป็นเพียงเครื่องระยะไกล (เสมือน)
ECS
ย่อมาจากElastic Container Service
- ราคาตามความหมายพื้นฐานของคอมพิวเตอร์คลัสเตอร์ , ECS
เป็นพื้นกลุ่มตรรกะของ
EC2
เครื่องจักร / อินสแตนซ์ ในทางเทคนิคECS
เป็นเพียงการกำหนดค่าสำหรับการใช้งานและการจัดการทรัพยากรEC2
อินสแตนซ์ของคุณอย่างมีประสิทธิภาพเช่นพื้นที่จัดเก็บหน่วยความจำ CPU เป็นต้น
เพื่อให้ง่ายขึ้นหากคุณได้เปิดตัวAmazon ECS
โดยไม่มีEC2
อินสแตนซ์เพิ่มเข้ามาก็เป็นการดีที่จะไม่ทำอะไรเลยเช่นคุณไม่สามารถทำอะไรกับมันได้ ECS
มีเหตุผลเพียงครั้งเดียวที่เพิ่มEC2
อินสแตนซ์หนึ่ง (หรือมากกว่า) เข้าไป
สิ่งที่ทำให้สับสนต่อไปในที่นี้คือคำว่าcontainerซึ่งไม่ใช่อินสแตนซ์ของเครื่องเสมือนจริงและDockerเป็นเทคโนโลยีหนึ่งที่เราสามารถใช้สร้างอินสแตนซ์คอนเทนเนอร์ Docker
เป็นยูทิลิตี้ที่คุณสามารถติดตั้งบนเครื่องของเราซึ่งทำให้เป็นDocker
โฮสต์และบนโฮสต์นี้คุณสามารถสร้างคอนเทนเนอร์ได้ (เช่นเดียวกับเครื่องเสมือน - แต่มีน้ำหนักเบากว่ามาก) เพื่อสรุปECS
เป็นเพียงเกี่ยวกับการจัดกลุ่มของ EC2 กรณีและการใช้Docker
ภาชนะ instantiate / กรณี / เครื่องเสมือนบนเหล่านี้ ( EC2
) เจ้าภาพ
สิ่งที่คุณต้องทำคือเปิดECS
และลงทะเบียน / เพิ่มEC2
อินสแตนซ์ให้มากที่สุดเท่าที่คุณต้องการ คุณสามารถเพิ่ม / ลงทะเบียนอินสแตนซ์ EC2 สิ่งที่คุณต้องมีคือ Amazon ECS Container Agent ที่ทำงานบนอินสแตนซ์ / เครื่อง EC2 ของคุณซึ่งสามารถทำได้ด้วยตนเองหรือโดยตรงโดยใช้ AMI พิเศษ (Amazon Machine Image) เช่น AMI ที่ปรับให้เหมาะสมกับ Amazon ECS ซึ่งมีอยู่แล้ว Amazon ECS Container Agent ในระหว่างการเปิดตัวอินสแตนซ์ EC2 ใหม่ Agent จะลงทะเบียนโดยอัตโนมัติกับคลัสเตอร์ ECS เริ่มต้น
ตัวแทนภาชนะทำงานในแต่ละกรณี ( EC2
อินสแตนซ์) ภายในAmazon ECS
คลัสเตอร์ส่งข้อมูลเกี่ยวกับงานเช่นในปัจจุบันการทำงานและการใช้ทรัพยากรที่ Amazon ECS และเริ่มต้นและหยุดงานเมื่อใดก็ตามที่ได้รับการร้องขอจาก Amazon ECS สำหรับข้อมูลเพิ่มเติมโปรดดูที่Amazon ECS ตัวแทนคอนเทนเนอร์ เมื่อตั้งค่าแล้วแต่ละอินสแตนซ์คอนเทนเนอร์ที่สร้างขึ้น (ของEC2
เครื่อง / โหนดใด ๆ ก็ตาม) จะเป็นอินสแตนซ์ในAmazon ECS
ฝูง
สำหรับข้อมูลเพิ่มเติมโปรดอ่านขั้นตอนที่ 10 จากเอกสารนี้: การเปิดใช้งาน Amazon ECS Container Instance :
เลือก AMI สำหรับอินสแตนซ์คอนเทนเนอร์ของคุณ คุณสามารถเลือก AMI ที่ปรับให้เหมาะสมกับ Amazon ECS หรือระบบปฏิบัติการอื่นเช่น CoreOS หรือ Ubuntu หากคุณไม่ได้เลือก Amazon ECS เพิ่มประสิทธิภาพ AMI คุณจะต้องปฏิบัติตามขั้นตอนในการติดตั้ง Amazon ECS ตัวแทนคอนเทนเนอร์
ตามค่าเริ่มต้นอินสแตนซ์คอนเทนเนอร์ของคุณจะเปิดใช้ในคลัสเตอร์เริ่มต้นของคุณ หากคุณต้องการเปิดใช้งานในคลัสเตอร์ของคุณเองแทนที่จะเป็นค่าดีฟอลต์ให้เลือกรายการ Advanced Details และวางสคริปต์ต่อไปนี้ลงในฟิลด์ User data โดยแทนที่ your_cluster_name ด้วยชื่อคลัสเตอร์ของคุณ
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
หรือถ้าคุณมีไฟล์ ecs.config ใน Amazon S3 และเปิดใช้งานการเข้าถึง Amazon S3 แบบอ่านอย่างเดียวสำหรับบทบาทอินสแตนซ์คอนเทนเนอร์ของคุณให้เลือกรายการรายละเอียดขั้นสูงและวางสคริปต์ต่อไปนี้ลงในฟิลด์ข้อมูลผู้ใช้แทนที่ your_bucket_name ด้วยชื่อของ ที่เก็บข้อมูลของคุณเพื่อติดตั้ง AWS CLI และเขียนไฟล์การกำหนดค่าของคุณในเวลาเปิดตัว หมายเหตุสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่านี้โปรดดูการจัดเก็บการกำหนดค่าอินสแตนซ์คอนเทนเนอร์ใน Amazon S3
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
เพียงชี้แจงมันต่อไป - คุณสามารถสร้างภาชนะเดียวของคุณตัวอย่างเช่นโดยไม่ต้องEC2
ECS
ติดตั้งเทคโนโลยี containerization ใด ๆ เช่นDocker
และเรียกใช้คำสั่ง create container ตั้งค่าของคุณEC2
เป็นDocker
โฮสต์และมีDocker
คอนเทนเนอร์มากเท่าที่คุณต้องการ (หรือเท่าที่EC2
ทรัพยากรของคุณอนุญาต)