Скринька, що найбільше схожа на екземпляри Amazon EC2


37

Чи є якісь "скриньки" для завантаження для Vagrant, які тісно відображають версію Linux та пакети, доступні для екземплярів Amazon EC2?

Я тестую локально за допомогою Vagrant, зараз використовую поле Precise32. Я розгортаю свій код в екземплярах Amazon EC2 за допомогою AMI 'Amazon Linux AMI 2013.03'.

Проблема, з якою я стикаюся, полягає в тому, що пакети, доступні для встановлення у полі Precise32, мають різні назви, наприклад

  • php5-fpm - у вікні бродячого
  • php54-fpm - в екземплярі Amazon EC2.

Хоча я міг би це виправити, використовуючи змінні у файлах конфігурації Puppet для обробки різних імен пакетів, це трохи схоже на злом.

Тож чи є якісь бродячі скриньки, які б тісно відображали середовище Amazon EC2.

Чи можна мені сказати, що бродячий ящик використовував той самий джерело пакетів, що й екземпляр Amazon EC2?

Щоб уточнити одне - причиною, яку я хочу зробити це, є те, що я можу протестувати локально, не спершу все робити. Хоча Vagrant має підтримку AWS в якості постачальника, це фактично не зможе досягти можливості тестування на місцевому рівні.


Сподіваючись, що це отримає корисну відповідь, я хотів би встановити локальну установку Amazon Linux для таких випадків використання.
ceejayoz

1
Не використовуєте Amazon Linux?
Майкл Хемптон

1
@MichaelHampton Часто приємно створити варіант Amazon, який підтримує Linux. Такі речі, як функція інструментів AWS поза коробкою, можуть бути неоціненними.
ceejayoz

@ceejayoz Так, це корисно, але не так багато, коли решта системи не працює. Мене не вразила якість збірки Amazon Linux; завжди здається, що щось важливе, що порушено.
Майкл Хемптон

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, яке було б досить близько, щоб відповідати оточенню Amazon, щоб бути ідентичним для сценаріїв встановлення, неможливо без великої роботи над створенням власної коробки.
Данак

Правильно, Amazon Linux додає додаткове та новіше програмне забезпечення, окрім RHEL та CentOS. Ось чому я б не рекомендував використовувати Amazon Linux.
sciurus

1
Для тих (як я), які знайшли це 5+ років пізніше, тепер, у 2018 році, ця відповідь більше не відповідає дійсності:> "немає можливості використовувати Amazon Linux за межами EC2" Amazon тепер надає зображення віртуальних машин (для VirtualBox, ansible, VMWare, Windowz-hiper-z-будь-що і Docker) Amazon Linux, який в основному є лише ванільним останнім дистрибутивом CentOS, який оптимізований і попередньо налаштований для EC2 за допомогою попередньо встановлених інструментів API Amazon та cloudinit пакетів, які повністю підтримують і заохочують вас запускати його як локально, так і в AWS: Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
gigawatt

19

ПРИМІТКА. Ця відповідь не стосується пошуку бродячого вікна для "Amazon Linux". Ця відповідь стосується того, щоб допомогти оригінальному плакату вирішити мету використання тієї ж системи у виробництві, що і в розробниках, що, як і Ubuntu. Як видно з коментарів нижче, ОП погодилася, що це вирішить його проблему.


Canonical надає офіційні AMI Ubuntu на EC2 та відповідні офіційні коробки Vagrant для завантаження.

Для Ubuntu 12.04 Precision AMI перераховані на

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

і вікна Vagrant вказані на

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

Ви можете використовувати це, щоб почати з того самого базового конфігурації на EC2, який ви використовуєте локально у програмі dev.


1
Вони не діятимуть нічого подібного на базі RHEL Amazon Linux AMI.
ceejayoz

2
Завдяки цьому я вирішив би проблему для себе, оскільки мені особливо не цікаво, який аромат Linux я використовую. Однак все-таки було б добре дізнатися, чи хтось вирішив це, зробивши коробку з ароматом Amazon з ароматизованим смаком.
Данак

1
@ceejayoz: Я пропоную вирішити основну проблему ОП із тим, що мати однакове зображення на програмі dev + prod, перемикаючи prod, а не перемикаючи розробник. Не всі відповіді повинні обмежуватися припущеннями, які ми читаємо у питанні. Що ми намагаємось зробити, це допомогти питаючому вирішити свої реальні проблеми з практичними рішеннями. "Ні, ти не можеш цього зробити" - це правдива відповідь, але я вдячний "Ви можете досягти своєї основної мети шляхом ..."
Ерік Хаммонд

6

13 грудня 2017 року Amazon випустила Amazon Linux 2 . Завдяки цьому Amazon тепер забезпечує завантажувані зображення, які працюватимуть у VirtualBox, VMWare, MS Hyper-V.

До цього у вас була можливість використовувати зображення Docker від Amazon ECS . Це продовжує бути доступним і для v1, і для v2.

Погляньте на Запуск Amazon Linux 2 як віртуальну машину в приміщенні .

Підозрюю, що незабаром хтось опублікує бродячий ящик. В інтермері досить легко самостійно побудувати базовий ящик .


4

Також варто поглянути на http://www.packer.io, за допомогою якого ви зможете дати вам точно таке ж зображення Ami для вашого зовнішнього бродячого


1
Ласкаво просимо до помилки сервера! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
slm

1
зауважив, не хочете відповісти на повний вміст сторінки встановлення та використання? але якщо це перевага, я зроблю це наступного разу
digitaladept

Якщо перефразовувати це нормально, це не обов'язково повинні бути повні деталі, а лише суть.
slm

1
Пакер не дасть вам "точно такий же образ ami для вашого зовнішнього бродячого". Як я розумію, Пакер може сформувати базовий образ ami та запустити свій власний сценарій забезпечення над цим, щоб створити вихідний ami. Він також може використовувати поле бродячого (ovf) або .iso зображення в якості основи для запуску того ж сценарію забезпечення для створення вихідного бродячого поля. Хоча сценарій забезпечення буде однаковим, базові поля будуть певною мірою відрізнятися. Ви не можете створити бродячий ящик безпосередньо з AMI.
найвищий

@poshest Отже, нам все-таки потрібно те саме середовище розробки та виробництва (як Ubuntu), щоб змусити коробку Vagrant (майже) так само, як AMI?
Франклін Юй

2

Amazon Linux базується на Redhat / CentOS, тож імена будуть ближче відповідати, якщо ви запускаєте одне з таких локально.

ОС Linux на базі 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.
Франклін Ю

Чи безпечно користуватися громадськими скриньками, розміщеними на хмарі Vagrant? Чи робить хмара Vagrant будь-який аудит, перш ніж приймати загальнодоступні скриньки?
Варун

Хто знає? Вам потрібно запитати Мітча Хашимото.
eneset
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.