ตอบได้สำหรับ AWS - การจัดการระบบคลาวด์ทำได้ง่าย



บล็อก Ansible สำหรับ AWS นี้พูดถึงการมีส่วนช่วยเหนือกว่าในการใช้ Ansibe กับ AWS ซึ่งแสดงให้เห็นถึงการสร้างและจัดเตรียมอินสแตนซ์ EC2 โดยอัตโนมัติ

บริษัท ต่างๆได้ลงทุนเวลาและเงินจำนวนมากในการพัฒนาและติดตั้งซอฟต์แวร์เพื่อปรับปรุงการดำเนินงาน การแนะนำระบบคลาวด์คอมพิวติ้งทำให้ธุรกิจของพวกเขาเข้าถึงซอฟต์แวร์บนอินเทอร์เน็ตเป็นบริการซึ่งพิสูจน์แล้วว่ามีประสิทธิภาพและปลอดภัยมากขึ้น การผสานรวมเครื่องมือ IT อัตโนมัติเช่น Ansible ซึ่งจะจัดเตรียมและจัดการโครงสร้างพื้นฐานระบบคลาวด์ของคุณได้อย่างง่ายดายเช่น AWS ก็เหมือนกับการกดแจ็คพอต และนั่นคือสิ่งที่เราจะพูดถึงในบล็อก Ansible for AWS นี้

ไดอารี่:





หากคุณต้องการที่จะเชี่ยวชาญ DevOps ' แน่นอนจะเป็นตัวเลือกที่คุณต้องการ

ทำไม บริษัท ต่างๆจึงย้ายไปที่คลาวด์

ดังที่ได้กล่าวไว้ก่อนหน้านี้คอมพิวเตอร์สามารถช่วยให้ บริษัท ต่างๆเข้าถึงเซิร์ฟเวอร์เช่นซอฟต์แวร์ผ่านทางอินเทอร์เน็ต เพื่อให้ชัดเจน Cloud Computing ก็เหมือนกับการเสียบเข้ากับโครงข่ายไฟฟ้าส่วนกลางแทนที่จะสร้างพลังงานของคุณเอง คลาวด์กลายเป็นเรื่องปกติใหม่และทำให้ประหยัดเวลาและเงินได้มาก มาดูข้อดีบางประการเกี่ยวกับสาเหตุที่ บริษัท ต่างๆย้ายมาใช้ระบบคลาวด์



1. ความยืดหยุ่น:

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

2. การกู้คืนจากภัยพิบัติ:

ทุกธุรกิจควรมีการลงทุนในการกู้คืนระบบ บริษัท โชคลาภทุกแห่งต้องลงทุนเป็นจำนวนมากในการกู้คืนระบบ บริษัท สตาร์ทอัพและ บริษัท งบประมาณต่ำขาดเงินและทักษะที่จำเป็นสำหรับสิ่งนี้และไม่สามารถมีลักษณะการกู้คืนระบบที่เหมาะสม Cloud นำเสนอโซลูชันการกู้คืนระบบสำหรับลูกค้าในการพัฒนาแผนที่มีประสิทธิภาพและคุ้มค่า

3. การอัปเดตซอฟต์แวร์อัตโนมัติ:

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



4. ต้นทุนที่ลดลง:

การสร้างศูนย์ข้อมูลตั้งแต่ต้นอาจมีราคาแพง การวิ่งและการบำรุงรักษาจะเพิ่มค่าใช้จ่าย คุณต้องการเทคโนโลยีที่เหมาะสมฮาร์ดแวร์ที่เหมาะสมพนักงานที่เหมาะสมพร้อมความรู้และประสบการณ์ที่ถูกต้องซึ่งดูเหมือนจะเป็นงานสำหรับฉัน นอกจากนี้ยังไม่มีแนวโน้มมากนักมีหลายล้านวิธีที่อาจผิดพลาด การย้ายข้อมูลไปยังระบบคลาวด์ช่วยให้คุณมีจุดบวกนี้

5. ความสามารถในการปรับขนาด:

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

6. ความปลอดภัยของข้อมูล:

โดยส่วนใหญ่แล้วการเก็บข้อมูลของคุณบนระบบคลาวด์จะดีกว่าการจัดเก็บไว้ในอุปกรณ์จริงเช่นแล็ปท็อปหรือฮาร์ดดิสก์ มีโอกาสสูงที่อุปกรณ์ทางกายภาพเหล่านี้จะถูกขโมยหรือแตกเป็นเสี่ยง ๆ ระบบคลาวด์ช่วยให้คุณสามารถลบข้อมูลจากระยะไกลหรือถ่ายโอนไปยังเซิร์ฟเวอร์อื่นเพื่อให้แน่ใจว่าข้อมูลยังคงสมบูรณ์และปลอดภัย

7. การทำงานร่วมกันที่เพิ่มขึ้น:

การใช้แพลตฟอร์มคลาวด์ช่วยให้ทีมสามารถเข้าถึงแก้ไขและแชร์เอกสารได้ทุกที่ทุกเวลา พวกเขาสามารถทำงานร่วมกันได้จึงเพิ่มประสิทธิภาพ นอกจากนี้ยังมีการอัปเดตแบบเรียลไทม์และโปร่งใส

คุณสมบัติที่ตอบได้

Ansible มีคุณลักษณะเฉพาะบางอย่างและเมื่อคุณลักษณะดังกล่าวทำงานร่วมกับ Amazon Web Services จะทิ้งเครื่องหมายไว้ มาดูคุณสมบัติที่น่าทึ่งเหล่านี้กัน:

  1. Ansible มีพื้นฐานมาจากสถาปัตยกรรมแบบไม่ใช้ตัวแทนซึ่งแตกต่างจาก Chef และ Puppet
  2. Ansible เข้าถึงโฮสต์ผ่าน SSH ซึ่งทำให้การสื่อสารระหว่างเซิร์ฟเวอร์และโฮสต์เป็นไปอย่างรวดเร็ว
  3. ไม่จำเป็นต้องมีโครงสร้างพื้นฐานด้านความปลอดภัยที่กำหนดเอง
  4. การกำหนดค่า playbooks และโมดูลนั้นง่ายมากเพราะเป็นไปตามรูปแบบ YAML
  5. มีโมดูลที่หลากหลายสำหรับลูกค้า
  6. ช่วยให้สามารถจัดการการกำหนดค่าการจัดเตรียมและการปรับใช้ที่สมบูรณ์
  7. Ansible Vault เก็บความลับไว้อย่างปลอดภัย

เหตุใดจึงต้องใช้ Ansible สำหรับ AWS

ตอนนี้เราได้ใช้ประโยชน์จากการใช้แพลตฟอร์มคลาวด์เช่น AWS และคุณลักษณะเฉพาะของ Ansible แล้วเรามาดูความมหัศจรรย์ที่สร้างขึ้นโดยการรวมตำนานทั้งสองนี้

1. คลาวด์เป็นกลุ่มบริการ

คลาวด์ไม่ได้เป็นเพียงกลุ่มเซิร์ฟเวอร์บนศูนย์ข้อมูลของคนอื่น แต่เป็นมากกว่านั้น คุณจะรู้ว่าเมื่อคุณได้ทำให้บริการของคุณใช้งานได้แล้ว มีบริการมากมายที่ช่วยให้คุณปรับใช้และปรับขนาดแอปพลิเคชันของคุณได้อย่างรวดเร็ว Ansible Automation ช่วยให้คุณจัดการสภาพแวดล้อม AWS ของคุณเช่นกลุ่มบริการแทนที่จะใช้เป็นกลุ่มเซิร์ฟเวอร์

อ่านไฟล์ xml ในตัวอย่าง java

2. โมดูล Ansible ที่รองรับ AWS

Ansible ใช้เพื่อกำหนดปรับใช้และจัดการบริการที่หลากหลาย สภาพแวดล้อม AWS ที่ซับซ้อนส่วนใหญ่สามารถจัดเตรียมได้อย่างง่ายดายโดยใช้ playbook คุณสมบัติที่ดีที่สุดคือคุณสร้างการเชื่อมต่อเซิร์ฟเวอร์ - โฮสต์จากนั้นเรียกใช้ playbook บนระบบเดียวและจัดเตรียมระบบอื่น ๆ หลายระบบพร้อมตัวเลือกในการปรับขนาดและลดขนาดตามความต้องการ

Ansible มีโมดูลหลายร้อยโมดูลที่รองรับ AWS และบางส่วนประกอบด้วย:

  • กลุ่มการปรับขนาดอัตโนมัติ
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • ยืดหยุ่น Cloud Compute (EC2)
  • Identity Access Manager (IAM)
  • แลมด้า
  • บริการฐานข้อมูลเชิงสัมพันธ์ (RDS)
  • เส้นทาง 53
  • กลุ่มความปลอดภัย
  • บริการจัดเก็บข้อมูลอย่างง่าย (S3)
  • Virtual Private Cloud (VPC)
  • และอื่น ๆ อีกมากมาย

3. สินค้าคงคลังแบบไดนามิก

ในสภาพแวดล้อมการพัฒนาโฮสต์ยังคงหมุนและปิดตัวลงด้วยความต้องการทางธุรกิจที่หลากหลาย ในกรณีเช่นนี้การใช้สินค้าคงคลังคงที่อาจไม่เพียงพอ สถานการณ์ดังกล่าวเรียกร้องให้ใช้สินค้าคงคลังแบบไดนามิก สิ่งนี้ช่วยให้คุณสามารถแมปโฮสต์ตามกลุ่มที่จัดเตรียมโดยสคริปต์สินค้าคงคลังซึ่งแตกต่างจากพื้นที่โฆษณาปกติที่บังคับให้คุณแมปโฮสต์ด้วยตนเองซึ่งน่าเบื่อมาก

4. ระบบอัตโนมัติที่ปลอดภัย

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

Ansible Tower มอบคุณสมบัตินี้เพื่อ จำกัด การอนุญาต โดยพื้นฐานแล้วคุณเลือกได้ว่าใครทำอะไรได้บ้างซึ่งจะช่วยให้กลั่นกรองได้ง่ายขึ้นนอกจากนี้ Ansible Tower ยังเข้ารหัสข้อมูลประจำตัวและข้อมูลที่ละเอียดอ่อนอื่น ๆ และคุณให้สิทธิ์ผู้ใต้บังคับบัญชาเข้าถึงทรัพยากรที่เกี่ยวข้องเท่านั้นในขณะที่ จำกัด การเข้าถึงบุคคลที่ไม่เกี่ยวข้อง

การสาธิต: จัดเตรียมอินสแตนซ์ EC2 โดยอัตโนมัติโดยใช้ Ansible

ในส่วนการสาธิตนี้ฉันจะสาธิตวิธีที่ Ansible รองรับ AWS โดยการแสดงวิธีการเริ่มต้นและการจัดเตรียมอินสแตนซ์ EC2 โดยอัตโนมัติ มาเริ่มกันเลย.

ขั้นตอนที่ 1 :

ติดตั้ง Ansible บนโหนดเซิร์ฟเวอร์ของคุณและทำการเชื่อมต่อ SSH ระหว่างเซิร์ฟเวอร์ของคุณและโหนดไคลเอนต์บน AWS ในกรณีนี้ฉันได้สร้างอินสแตนซ์ EC2 สองรายการโดยเซิร์ฟเวอร์หนึ่งที่ติดตั้ง Ansible และอีกเซิร์ฟเวอร์หนึ่งเป็นไคลเอนต์

ขั้นตอนที่ 2:

ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งข้อกำหนดทั้งหมดแล้ว ตามเอกสารเหล่านี้เป็นข้อกำหนดต่อไปนี้:

  • Python> = 2.6
  • โหวต

ติดตั้ง python โดยใช้คำสั่งต่อไปนี้:

$ sudo apt ติดตั้ง python

ติดตั้ง boto โดยใช้คำสั่งต่อไปนี้:

$ sudo apt ติดตั้ง python-pip
$ pip ติดตั้ง boto

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

$ python
ปุ่ม $ import
ทางออก $ ()

boto - ตอบได้สำหรับ AWS - Edureka

ขั้นตอนที่ 3:

คุณต้องกำหนดค่า AWS ของคุณ ใช้คำสั่งต่อไปนี้เหมือนกัน:

$ aws กำหนดค่า

และเพิ่มรหัสคีย์การเข้าถึง AWS คีย์ลับและภูมิภาคเริ่มต้น (ซึ่งเป็นทางเลือก)

ขั้นตอนที่ 4:

เขียน playbook เพื่อเริ่มและจัดเตรียมอินสแตนซ์ EC2

$ sudo vi /etc/ansible/launch.yml

--- - ชื่อ: สร้างโฮสต์อินสแตนซ์ ec2: web collect_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm งาน: - ชื่อ: สร้าง ec2 อินสแตนซ์ ec2: aws_access_key : '********************' aws_secret_key: '************************ **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'wait: true region:' {{region}} 'จำนวน: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: yes register: ec2

เป็นแนวทางปฏิบัติที่ดีในการทราบว่าโค้ดทำหน้าที่อะไรก่อนที่จะเรียกใช้งานจริง ให้ฉันอธิบาย Playbook นี้เพื่อความเข้าใจที่ดีขึ้น

ชื่อ: มันสามารถเป็นอะไรก็ได้ แนวปฏิบัติที่ดีคือการตั้งชื่อที่ให้คำอธิบายพื้นฐานของงานที่ดำเนินการ

โฮสต์: พูดถึงชื่อของรายการโฮสต์ที่ต้องเรียกใช้เพลย์บุ๊ก ในกรณีของฉันมันเป็น เว็บ .

ather_facts: พารามิเตอร์นี้บอกให้ Ansible รวบรวมข้อเท็จจริงตัวแปรและข้อมูลอื่น ๆ ที่เกี่ยวข้องทั้งหมดเพื่อใช้อ้างอิงในอนาคต ในกรณีของเราเราได้ตั้งค่าเป็นเท็จเนื่องจากเราไม่ได้ใช้การรวบรวมข้อเท็จจริง (ที่อยู่ IP ชื่อโฮสต์ ฯลฯ )

ใคร: ส่วนนี้กำหนดและเริ่มต้นตัวแปรทั้งหมดที่เราจะใช้ใน Playbook นี้ เรามีตัวแปรสี่ตัวที่นี่:

ข้อผิดพลาดที่สำคัญใน python คืออะไร
  • ภูมิภาค กำหนดพื้นที่ที่อินสแตนซ์ EC2 ต้องเกิดขึ้น
  • instance_type กำหนดประเภทของอินสแตนซ์ที่เราพยายามนำเสนอ ในกรณีของเราเราใช้ t2.micro
  • ที่ กำหนด AMI ของอินสแตนซ์ที่เราพยายามนำเสนอ

  • คู่กุญแจ กำหนดคีย์คู่ที่เราจะใช้เพื่อเรียกใช้อินสแตนซ์

ec2: นี่คือโมดูลที่ Ansible จัดเตรียมไว้เพื่อเริ่มหรือยุติอินสแตนซ์ EC2

โมดูลนี้มีพารามิเตอร์บางอย่างที่เราจะใช้เพื่อระบุฟังก์ชันอื่น ๆ ของอินสแตนซ์ EC2 ที่เรากำลังพยายามเริ่มต้น

  • เราเริ่มต้นด้วยการกล่าวถึงรหัสคีย์การเข้าถึง AWS และคีย์ลับโดยใช้พารามิเตอร์ aws_access_key และ aws-secret_key .
  • key_name: ส่งผ่านตัวแปรที่กำหนดคีย์คู่ที่ใช้ที่นี่
  • กลุ่ม: พูดถึงชื่อของกลุ่มความปลอดภัย นี่เป็นการกำหนดกฎความปลอดภัยของอินสแตนซ์ EC2 ที่เราพยายามนำมาใช้
  • instance_type: ส่งผ่านตัวแปรที่กำหนดประเภทของอินสแตนซ์ที่เราใช้ที่นี่
  • ภาพ: ส่งผ่านตัวแปรที่กำหนด AMI ของรูปภาพที่เรากำลังพยายามเริ่มต้น
  • รอ: ค่านี้มีค่าบูลีนเป็นจริงหรือเท็จ หากเป็นจริงระบบจะรอให้อินสแตนซ์ไปถึงสถานะที่ต้องการก่อนที่จะกลับมา
  • ภูมิภาค: ส่งผ่านตัวแปรที่กำหนดภูมิภาคที่ต้องสร้างอินสแตนซ์ EC2
  • นับ: พารามิเตอร์นี้ระบุจำนวนอินสแตนซ์ที่ต้องสร้าง ในกรณีนี้ฉันพูดถึงเพียงเรื่องเดียว แต่ขึ้นอยู่กับความต้องการของคุณ
  • vpc_subnet_id: ส่งรหัสเครือข่ายย่อยที่คุณต้องการสร้างอินสแตนซ์
  • assign_public_ip: พารามิเตอร์นี้มีค่าบูลีน หากเป็นจริงเช่นในกรณีของเรา IP สาธารณะจะถูกกำหนดให้กับอินสแตนซ์เมื่อจัดเตรียมภายใน VPC

ขั้นตอนที่ 5:

เมื่อคุณเข้าใจทุกบรรทัดในเพลย์บุ๊กแล้วเรามาเริ่มต้นใช้งานได้เลย ใช้คำสั่งต่อไปนี้:

$ ansible-playbook /etc/ansible/launch.yml


เมื่อคุณดำเนินการ Playbook แล้วคุณจะเห็นอินสแตนซ์ที่กำลังสร้างขึ้น


และ TADA! คุณดำเนินการจัดเตรียมอินสแตนซ์ EC2 โดยอัตโนมัติเรียบร้อยแล้ว เช่นเดียวกับที่คุณสามารถเขียน playbook เพื่อหยุดอินสแตนซ์ EC2

เรามาถึงจุดสิ้นสุดของบล็อก Ansible For AWS หากคุณพบว่าบทความนี้มีประโยชน์โปรดดูไฟล์ ' นำเสนอโดย Edureka ครอบคลุมเครื่องมือทั้งหมดที่ทำให้อุตสาหกรรมไอทีมีประสิทธิภาพ