กล่องคนจรจัดส่วนใหญ่คล้ายกับ Amazon EC2 อินสแตนซ์


37

มีกล่อง 'ให้ดาวน์โหลดสำหรับ Vagrant ที่ทำมิรเรอร์เวอร์ชัน Linux และแพ็คเกจสำหรับ Amazon EC2 อินสแตนซ์อย่างใกล้ชิดหรือไม่?

ฉันกำลังทดสอบในเครื่องโดยใช้ Vagrant กำลังใช้ช่อง Precise32 ฉันกำลังปรับใช้รหัสของฉันกับอินสแตนซ์ Amazon EC2 ด้วย 'Amazon Linux AMI 2013.03' AMI

ปัญหาที่ฉันกำลังเผชิญอยู่คือแพ็คเกจที่ติดตั้งในกล่อง Precise32 มีชื่อแตกต่างกันเช่น

  • php5-fpm - ในกล่องคนจรจัด
  • php54-fpm - ในอินสแตนซ์ Amazon EC2

แม้ว่าฉันจะสามารถแก้ไขได้โดยใช้ตัวแปรในไฟล์ Puppet เพื่อจัดการชื่อแพ็คเกจต่าง ๆ แต่ฟังดูเหมือนแฮ็ค

ดังนั้นจะมีกล่องคนพเนจรที่จะสะท้อนสภาพแวดล้อมของ Amazon EC2 อย่างใกล้ชิด

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

เพื่อชี้แจงสิ่งหนึ่ง - เหตุผลที่ฉันต้องการทำสิ่งนี้คือเพื่อให้ฉันสามารถทดสอบในพื้นที่โดยไม่ต้องทำทุกอย่างก่อน แม้ว่า Vagrant จะสนับสนุน AWS ในฐานะผู้ให้บริการ แต่ก็ไม่สามารถทดสอบในพื้นที่ได้


หวังว่านี่จะเป็นคำตอบที่มีประโยชน์ฉันยินดีที่จะติดตั้ง Amazon Linux ในเครื่องสำหรับกรณีการใช้งานประเภทนี้
ceejayoz

1
อย่าใช้ Amazon Linux?
Michael Hampton

1
@MichaelHampton มันเป็นเรื่องดีที่มี Amazon ที่สร้างและสนับสนุน Linux Linux Variant การมีสิ่งต่าง ๆ เช่นเครื่องมือ AWS นั้นสามารถประเมินค่าได้อย่างไม่น่าเชื่อ
ceejayoz

@ceejayoz ใช่มันมีประโยชน์ แต่ไม่มากเมื่อส่วนที่เหลือของระบบไม่ทำงาน ฉันไม่เคยประทับใจกับการสร้างคุณภาพของ Amazon Linux ดูเหมือนจะมีบางสิ่งที่สำคัญที่หัก
Michael Hampton

YMMV ฉันเดา ฉันยังไม่ได้พบกับความแตกแยกในคลัสเตอร์ nginx / php-fpm / percona ของเรา
ceejayoz

คำตอบ:


11

ไม่ไม่มีวิธีใช้ Amazon Linux นอก EC2 หากคุณต้องการใช้อนุพันธ์ Red Hat Enterprise Linux (ซึ่งเป็น Amazon Linux) ฉันแนะนำให้ใช้ CentOS 6 ทั้งใน Vagrant และ EC2 คุณจะพบ CentOS หลายกล่องฐานที่นี่และมิร์ทอย่างเป็นทางการมีการระบุไว้ที่นี่


1
ที่ดูเหมือนจะคล้ายกันมากที่สุด แต่ก็ยังแตกต่างกันเล็กน้อยเช่น Amazon Linux มี PHP 5.3 และ PHP 5.4 แยกต่างหากในแพ็คเกจ ฉันคิดว่าความคิดของฉันเกี่ยวกับสภาพแวดล้อม Vagrant ที่จะใกล้เคียงพอที่จะตรงกับสภาพแวดล้อมของอเมซอนเพื่อให้เหมือนกันสำหรับสคริปต์การติดตั้งนั้นไม่สามารถทำได้โดยไม่ต้องทำงานมากในการสร้างกล่องกำหนดเอง
Danack

ขวา Amazon Linux เพิ่มซอฟต์แวร์เพิ่มเติมและใหม่กว่า RHEL และ CentOS รวม นั่นเป็นเหตุผลว่าทำไมฉันถึงไม่แนะนำให้ใช้ Amazon Linux
sciurus

1
สำหรับผู้ที่ (เช่นฉัน) ที่พบสิ่งนี้มากกว่า 5 ปีต่อมาในปี 2018 คำตอบนี้ไม่เป็นความจริงอีกต่อไป:> "ไม่มีทางที่จะใช้ Amazon Linux นอก EC2" ตอนนี้อเมซอนให้ภาพเครื่องเสมือน (สำหรับ VirtualBox ansible, VMWare, Windowz-hyper-z-Anything และ Docker) ของ Amazon Linux ซึ่งเป็นเพียงแค่ CentOS distro ล่าสุดของ Vanilla ที่ได้รับการปรับแต่งและกำหนดค่าล่วงหน้าสำหรับ EC2 ด้วยเครื่องมือ API ของ Amazon และแพ็คเกจ cloudinit ที่ติดตั้งไว้ล่วงหน้า เพื่อเรียกใช้ในสถานที่เช่นเดียวกับใน AWS: Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
gigawatt

19

หมายเหตุ: คำตอบนี้ไม่เกี่ยวกับการหาช่องคนพเนจรสำหรับ "Amazon Linux" คำตอบนี้เกี่ยวกับการช่วยโปสเตอร์ต้นฉบับแก้ปัญหาเป้าหมายของการใช้ระบบเดียวกันในการผลิตเช่นเดียวกับใน dev ซึ่งเกิดขึ้นกับ Ubuntu ดังที่คุณเห็นในความคิดเห็นด้านล่าง OP ยอมรับว่าสิ่งนี้จะช่วยแก้ปัญหาของเขาได้


Canonical ให้บริการ AMI ของ Ubuntu อย่างเป็นทางการใน EC2 และกล่อง Vagrant อย่างเป็นทางการที่เกี่ยวข้องสำหรับการดาวน์โหลด

สำหรับ Ubuntu 12.04 แม่นยำ AMIs มีการระบุไว้ที่

http://cloud-images.ubuntu.com/precise/current/

และกล่อง Vagrant มีการระบุไว้ที่

http://cloud-images.ubuntu.com/vagrant/precise/current/

คุณสามารถใช้สิ่งนี้เพื่อเริ่มต้นด้วยการกำหนดค่าฐานเดียวกันบน EC2 เช่นเดียวกับที่คุณใช้ในเครื่องใน dev


1
สิ่งเหล่านั้นจะไม่ทำอะไรอย่าง Amazon Linux AMI ที่ทำงานบน RHEL
ceejayoz

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

1
@ceejayoz: ฉันกำลังเสนอการแก้ปัญหาหลักของ OP ว่ามีภาพเหมือนกันใน dev + prod โดยการสลับ prod แทนการเปลี่ยน dev ไม่ใช่คำตอบทั้งหมดที่จำเป็นต้อง จำกัด ตัวเองให้อยู่ในสมมุติฐานที่เราอ่านเข้าไปในคำถาม สิ่งที่เราพยายามทำคือช่วยให้ผู้ถามแก้ปัญหาในโลกแห่งความจริงด้วยโซลูชั่นที่ใช้งานได้จริง "ไม่คุณไม่สามารถทำได้" เป็นคำตอบที่ถูกต้อง แต่ฉันขอขอบคุณ "คุณสามารถบรรลุเป้าหมายที่สำคัญของคุณได้ด้วย ... "
Eric Hammond

6

เมื่อวันที่ 13 ธ.ค. 2017, Amazon ปล่อยออกAmazon ลินุกซ์ 2 ด้วย Amazon นี้ให้ภาพที่สามารถดาวน์โหลดได้ซึ่งจะทำงานใน VirtualBox, VMWare, MS Hyper-V

ก่อนหน้านี้คุณได้มีตัวเลือกที่จะใช้ภาพ Amazon ECS เทียบท่า ที่ยังคงมีอยู่สำหรับทั้ง v1 และ v2

มีลักษณะที่เล่น Amazon ลินุกซ์ 2 เป็นเครื่องเสมือนอยู่ในสถานที่

ฉันสงสัยว่าบางคนจะเผยแพร่กล่องคนจรจัดในไม่ช้า ใน interrim มันค่อนข้างง่ายที่จะสร้างกล่องฐานด้วยตัวเอง


4

นอกจากนี้ควรดูที่http://www.packer.ioมันสามารถใช้เพื่อให้ภาพ Ami เดียวกันสำหรับคนจรจัดภายนอกของคุณ


1
ยินดีต้อนรับสู่ Server Fault! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
slm

1
ตั้งข้อสังเกตว่าไม่ต้องการทิ้งคำตอบให้กับเนื้อหาหน้าการติดตั้งและการใช้งานเต็มรูปแบบใช่หรือไม่ แต่ถ้าเป็นการตั้งค่าที่ฉันจะทำในครั้งต่อไป
digitaladept

มันก็โอเคที่จะแปลความหมายมันไม่จำเป็นต้องเป็นรายละเอียดที่สมบูรณ์ แต่เป็นเพียงแก่นสาร
slm

1
Packer จะไม่ให้ "ภาพอามิเดียวกันกับคนจรจัดภายนอกของคุณ" ตามที่ฉันเข้าใจแล้ว Packer สามารถใช้อิมเมจพื้นฐาน amiและเรียกใช้สคริปต์การจัดสรรที่กำหนดเองของคุณได้เพื่อสร้างเอาต์พุต ami นอกจากนี้ยังสามารถใช้ภาพคนจรจัด (ovf) หรือภาพ. isoเป็นฐานสำหรับการเรียกใช้สคริปต์การจัดสรรเดียวกันเพื่อสร้างกล่องคนจรจัดเอาท์พุท ในขณะที่สคริปต์การจัดสรรจะเหมือนกัน แต่กล่องฐานจะแตกต่างกันในระดับหนึ่ง คุณไม่สามารถสร้างกล่องคนพเนจรโดยตรงจาก AMI
poshest

@poshest ดังนั้นเรายังต้องการการพัฒนาและสภาพแวดล้อมการผลิตเดียวกัน (เช่น Ubuntu) เพื่อให้กล่อง Vagrant ทำงาน (เกือบ) เหมือนกับ AMI หรือไม่
Franklin Yu

2

Amazon Linux ใช้ Redhat / CentOS ดังนั้นชื่อจะจับคู่อย่างใกล้ชิดยิ่งขึ้นหากคุณเรียกใช้หนึ่งในนั้น

Linux OS ที่ใช้ Debian / Ubuntu จะเปลี่ยนชื่อแพ็กเกจเช่น "dev" แทน "devel" เป็นคำต่อท้ายสำหรับแพ็คเกจการพัฒนา

อย่างไรก็ตามคุณอาจต้องการตรวจสอบผลลัพธ์ของ "rpm -qa" บนอินสแตนซ์ของ Amazon Linux แล้วทำการจับคู่ชื่อ CentOS / Redhat แพ็คเกจแล้วคิดว่าการสร้างเวอร์ชั่นระบบปฏิบัติการของคุณเองที่ตรงกับของ Amazon


1

ณ วันที่ 2017 ใช่

ชื่อของกล่อง Vagrant คือmvbcoding / awslinux ที่โฮสต์ในเมฆ Vagrant (เช่นเดียวกับกล่อง Vagrant สาธารณะอื่น ๆ ทั้งหมด)

คุณสามารถเปิดกล่องด้วยคำสั่งดังต่อไปนี้

vagrant init mvbcoding/awslinux; vagrant up --provider virtualbox

ยินดีต้อนรับคุณช่วยกรุณาตอบรายละเอียดเพิ่มเติมได้ไหม?
bgtvfr

@bgtvfr เขาหมายถึงว่าตอนนี้เราจะมี“คนจรจัดกล่องคล้ายกับกรณี Amazon EC2” นั่นคือmvbcoding / awslinux นั่นคือกล่องเดียวที่ตั้งชื่อawslinuxโดยไกล
Franklin Yu

การใช้กล่องสาธารณะที่โฮสต์บนคลาวด์ Vagrant ปลอดภัยหรือไม่ เมฆ Vagrant ทำการตรวจสอบใด ๆ ก่อนรับกล่องสาธารณะหรือไม่
Varun

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