แนวปฏิบัติที่ดีที่สุดสำหรับการสื่อสารระหว่างอินสแตนซ์ Amazon EC2 คืออะไร


41

ฉันได้ตั้งค่าอินสแตนซ์ Amazon EC2 สำหรับโครงการที่กำลังจะมา เป็นอินสแตนซ์ขนาดเล็กทั้งหมดที่ใช้งาน Ubuntu Server 64 บิต นี่คือสิ่งที่ฉันได้ติดตั้ง:

  • เว็บเซิร์ฟเวอร์ - Apache
  • เซิร์ฟเวอร์ฐานข้อมูล - MySQL
  • เซิร์ฟเวอร์สำหรับการพัฒนา - Apache & MySQL
  • ไฟล์เซิร์ฟเวอร์ - SVN & Bacula (การสำรองข้อมูลถูกทำกับ S3 buckets)

ปัจจุบันมีเพียงเว็บเซิร์ฟเวอร์เดียว แต่ในที่สุดจะมีอีกมาก

คำถามแรกของฉันคือวิธีที่ดีที่สุดและปลอดภัยที่สุดสำหรับอินสแตนซ์ Amazon EC2 ในการสื่อสารระหว่างกันคืออะไร ตอนนี้ฉันกำลังใช้ SSH นั่นเป็นวิธีที่ดีที่สุดเหรอ?

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

นั่นคือคำถามที่สองของฉันคุณจะใช้ประโยชน์จาก IP ส่วนตัวของอินสแตนซ์ของ Amazon ได้อย่างไรหากพวกเขาไม่คงที่

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

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

หมายเหตุ: ฉันไม่เคยใช้ Bacula มาก่อนและยังไม่มีการตั้งค่า แต่ฉันคิดว่ามันจะต้องมีที่อยู่ IP ของลูกค้าในการสำรองข้อมูล


2
+1 - ฉันจะรัก IP ส่วนตัวที่ยืดหยุ่น โปรดทราบด้วยว่าฉันคิดว่าคุณไม่สามารถสื่อสารระหว่างภูมิภาคผ่าน IP ส่วนตัวได้
Joel K

ฉันคิดว่าคุณจะพบว่า m1.small ตัวเดียวจะให้ประสิทธิภาพที่ดีขึ้นมากกว่า t1.micro หลายตัว จากนั้นอัปเกรดเป็น c1.medium จากนั้นเริ่มต้นเรียกใช้หลาย c1.medium หรือใช้อินสแตนซ์ที่มีขนาดใหญ่กว่า อย่างไรก็ตามโปรดทราบว่า m1.small และ c1.medium รองรับเฉพาะ 32 บิตไม่ใช่ 64 บิต
Eric Hammond

คำตอบ:


29

อ่านบทความของ Eric Hammond ที่อธิบายวิธีใช้ที่อยู่ IP แบบยืดหยุ่นได้จากใน EC2 วิธีนี้จะไม่ส่งผลให้มีการเรียกเก็บแบนด์วิดท์ใด ๆ เนื่องจากการแก้ไขที่อยู่ IP ยืดหยุ่น (ตามชื่อ) จากภายใน EC2 จะส่งคืนที่อยู่ IP ส่วนตัว

http://alestic.com/2009/06/ec2-elastic-ip-internal

สำหรับตัวเลือกเพิ่มเติมฉันมีบทความตรวจสอบทางเลือกสองสามข้อ:

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html


ขอบคุณสำหรับคำตอบของคุณ ฉันคิดว่า DNS ไดนามิกเป็นสิ่งที่ต้องทำมากขึ้นเรื่อย ๆ แม้ว่าฉันจะไม่เคยตั้งค่า DNS มาก่อน คุณรู้จักเว็บไซต์ที่ให้คำแนะนำโดยละเอียดเกี่ยวกับวิธีการทำหรือไม่?
ks78

6

ปรับใช้อินสแตนซ์ EC2 ของคุณใน AWS Virtual Private Cloud (VPC) เมื่อคุณกำหนดค่า VPC ของคุณคุณจะกำหนด CIDR ให้กับอินสแตนซ์ EC2 ทั้งหมดใน VPC และ IP ภายในจะคงที่


นี่คือวิธีที่ดีที่สุด
ceejayoz

2
  • วิธีการสื่อสารที่ปลอดภัยที่สุด

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

  • IP ส่วนตัวที่ไม่ใช่แบบคงที่

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


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

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

ขอบคุณ ฉันแค่สงสัยว่าความคิดเห็นของคุณเกี่ยวกับโซลูชันนั้นจะเป็นอย่างไร ฉันจะดูเป็น mcollective และ capistrano
ks78

ขออภัยที่จะฟื้นเธรดเก่า แต่ IP ส่วนตัวยังคงไม่คงที่บน ec2 หรือไม่ นั่นไม่ใช่สิ่งที่ฉันได้เห็นในการตั้งค่า ec2 ใหม่ - ส่วนต่อประสานเครือข่ายติดอยู่หลังจากที่ฉันหยุดเซิร์ฟเวอร์และที่อยู่ IP ส่วนตัวยังไม่ได้เปลี่ยนเลย ฉันก็ดูเหมือนจะสามารถเลือกที่อยู่ IP ส่วนตัวรองหากจำเป็น
icyitscold
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.