Amazon EC2 인스턴스와 가장 유사한 Vagrant Box


37

Amazon EC2 인스턴스에 사용할 수있는 Linux 버전 및 패키지를 밀접하게 반영하는 Vagrant 용 '상자'를 다운로드 할 수 있습니까?

현재 Precise32 상자를 사용하여 Vagrant를 사용하여 로컬로 테스트하고 있습니다. 'Amazon Linux AMI 2013.03'AMI를 사용하여 코드를 Amazon EC2 인스턴스에 배포하고 있습니다.

내가 직면하고있는 문제는 Precise32 상자에 설치할 수있는 패키지의 이름이 다릅니다.

  • php5-fpm-방랑 상자에
  • php54-fpm-Amazon EC2 인스턴스에서.

다른 패키지 이름을 처리하기 위해 Puppet 구성 파일의 변수를 사용 하여이 문제를 해결할 수 있지만 해킹처럼 들립니다.

따라서 Amazon EC2 환경을 밀접하게 반영 할 수있는 방랑 상자가 있습니까?

아니면 방랑 상자에 Amazon EC2 인스턴스와 동일한 패키지 소스를 사용하도록 지시 할 수 있습니까?

한 가지를 명확히하기 위해-내가하고 싶은 이유는 모든 것을 먼저 커밋하지 않고 로컬에서 테스트 할 수 있기 때문입니다. Vagrant는 제공자로서 AWS를 지원하지만 실제로 로컬에서 테스트 할 수는 없습니다.


이것이 유용한 답변을 얻기를 바랍니다. 이런 유스 케이스에 Amazon Linux 로컬 설치를하고 싶습니다.
— ceejayoz

1
Amazon Linux를 사용하지 않습니까?
— Michael Hampton

1
@MichaelHampton 아마존에서 리눅스를 지원하고 지원하는 것이 좋은 경우가 많습니다. AWS 도구와 같은 기능이 기본적으로 제공되는 것은 매우 중요합니다.
— ceejayoz

@ceejayoz 예, 유용하지만 나머지 시스템이 작동하지 않을 때는 그리 유용하지 않습니다. Amazon Linux의 빌드 품질에 깊은 인상을받지 못했습니다. 항상 중요한 무언가가 깨져있는 것 같습니다.
— Michael Hampton

YMMV, 나는 추측한다. nginx / php-fpm / percona 클러스터에서 아직 이러한 손상이 발생하지 않았습니다.
— ceejayoz

답변:


11

아니요, EC2 외부에서 Amazon Linux를 사용할 수있는 방법이 없습니다. Red Hat Enterprise Linux 파생 제품 (Amazon Linux)을 사용하려면 Vagrant 및 EC2에서 CentOS 6을 사용하는 것이 좋습니다. 여기 에는 많은 CentOS 기본 상자가 있으며 공식 AMI는 여기 에 나열되어 있습니다 .


1
그것은 대부분의 것보다 더 비슷해 보이지만 여전히 약간 다릅니다. 예를 들어 Amazon Linux에는 별도의 PHP 5.3과 PHP 5.4가 패키지로 제공됩니다. 필자는 사용자 정의 상자를 만드는 데 많은 노력을 기울이지 않으면 Amazon의 환경과 일치하여 설치 스크립트와 동일 할 정도로 가까운 Vagrant 환경을 갖는 아이디어를 실현할 수 없다고 생각합니다.
— Danack

Amazon Linux는 RHEL 및 CentOS에 포함 된 것 이상의 새로운 소프트웨어를 추가합니다. 그렇기 때문에 Amazon Linux를 사용하지 않는 것이 좋습니다.
— sciurus

1
5 년 후인 2018 년에 저와 같은 사람들을 위해, 이제는 더 이상 사실이 아닙니다.> "EC2 외부에서 Amazon Linux를 사용할 수있는 방법이 없습니다"Amazon은 이제 가상 머신 이미지 (VirtualBox, Amazon Linux의 ansible, VMWare, Windowz-hyper-z-whatever 및 Docker)는 기본적으로 Amazon API 도구 및 cloudinit 패키지가 사전 설치되어 EC2에 최적화되고 사전 구성된 바닐라 최근 CentOS 배포판 일 뿐이며, 사전 설치되어 있으며 완전히 지원하고 격려합니다. Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
— gigawatt

19

참고 :이 답변은 "Amazon Linux"에 대한 빈 상자를 찾는 것이 아닙니다. 이 답변은 오리지널 포스터가 데비안에서와 같은 프로덕션 환경에서 우분투와 같은 시스템을 사용한다는 목표를 해결하도록 돕는 것입니다. 아래 의견에서 알 수 있듯이 OP는 이것이 그의 문제를 해결할 것이라고 동의했습니다.


Canonical은 EC2의 공식 Ubuntu AMI 및 해당 공식 Vagrant 상자를 다운로드 할 수 있도록 제공합니다.

Ubuntu 12.04 Precise의 경우 AMI는

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

방랑자 상자는

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

이를 사용하여 dev에서 로컬로 사용하는 것과 동일한 기본 구성으로 EC2에서 시작할 수 있습니다.


1
RHEL 기반 Amazon Linux AMI와 같은 기능은 수행하지 않습니다.
— ceejayoz

2
내가 사용하는 Linux의 맛을 특별히 신경 쓰지 않기 때문에 문제는 스스로 해결할 것입니다. 그러나 아마존 풍미 Vagrant 상자를 만들어서 누군가가 그것을 풀 었는지 확인하는 것이 좋습니다.
— Danack

1
@ceejayoz : dev를 전환하는 대신 prod를 전환하여 dev + prod에서 동일한 이미지를 갖는 OP의 핵심 문제를 해결할 것을 제안하고 있습니다. 모든 답변이 우리가 질문에 읽은 가정으로 스스로를 제한 할 필요는 없습니다. 우리가하려는 것은 실제 솔루션을 통해 질문자가 실제 문제를 해결하도록 돕는 것입니다. "당신은 그것을 할 수 없습니다"는 올바른 대답이지만, "당신은 당신의 기본 목표를 달성 할 수 있습니다 ..."
— Eric Hammond

6

2017 년 12 월 13 일 Amazon은 Amazon Linux 2를 출시했습니다 . 이제 Amazon은 VirtualBox, VMWare, MS Hyper-V에서 실행되는 다운로드 가능한 이미지를 제공합니다.

이전에는 Amazon ECS Docker image 를 사용하는 옵션이 있었습니다. 이는 v1과 v2 모두에서 계속 사용할 수 있습니다.

온 프레미스 가상 머신으로 Amazon Linux 2 실행을 살펴보십시오 .

누군가가 곧 방랑 상자를 출판 할 것으로 의심됩니다. interrim에서는 기본 상자를 직접 만드는 것이 매우 쉽습니다 .


4

또한 http://www.packer.io를 살펴볼 가치가 있습니다. 외부 vagrant에 대해 정확히 동일한 ami 이미지를 제공하는 데 사용할 수 있습니다


1
서버 결함에 오신 것을 환영합니다! 이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직 합니다.
— slm

1
참고로, 전체 설치 및 사용 페이지 내용으로 답변을 정리하고 싶지 않습니까? 그러나 그것이 선호된다면, 나는 다음에 그렇게 할 것입니다
— digitaladept

변역해도 괜찮습니다. 자세한 내용 일 필요는 없지만 요점 일뿐입니다.
— slm

1
패커는 "외부 방랑자와 정확히 같은 ami 이미지"를 제공하지 않습니다. 내가 알기로 Packer는 ami 기본 이미지를 가져 와서 그 위에 사용자 지정 프로비저닝 스크립트를 실행하여 출력 ami를 만들 수 있습니다. 또한 vagrant box (ovf) 또는 .iso 이미지 를 동일한 프로비저닝 스크립트를 실행하여 출력 vagrant box를 만들기위한 기반으로 사용할 수 있습니다. 프로비저닝 스크립트는 동일하지만 기본 상자는 어느 정도 다릅니다. AMI에서 직접 방랑 상자를 만들 수 없습니다.
— poshest

@poshest 그렇다면 우분투와 같은 개발 및 프로덕션 환경이 여전히 필요하므로 Vagrant 상자가 (거의) AMI와 동일하게 작동합니까?
— Franklin Yu

2

Amazon Linux는 Redhat / CentOS를 기반으로하므로 로컬로 실행하면 이름이 더 밀접하게 일치합니다.

데비안 / 우분투 기반 Linux OS는 패키지 이름을 변경합니다 (예 : 개발 패키지의 접미사로 "devel"대신 "dev").

Btw, Amazon Linux 인스턴스에서 "rpm -qa"의 출력을 확인하고 CentOS / Redhat 패키지 이름과 일치하도록 뮤지션 한 다음 Amazon과 거의 일치하는 고유 한 OS 버전을 생성 할 수 있습니다.


1

2017 년 현재입니다.

Vagrant 상자의 이름은 Vagrant 클라우드에서 호스팅되는 mvbcoding / awslinux입니다 (다른 모든 공용 Vagrant 상자와 동일).

다음 명령으로 상자를 시작할 수 있습니다.

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

환영합니다. 더 자세한 답변을 해주시겠습니까?
— bgtvfr

@bgtvfr 그는 이제“Amazon EC2 인스턴스와 유사한 Vagrant box”즉 mvbcoding / awslinux를 가지고 있음을 의미 합니다. 그것은 awslinux지금까지 명명 된 유일한 상자 입니다.
— Franklin Yu

Vagrant 클라우드에서 호스팅되는 퍼블릭 박스를 사용하는 것이 안전합니까? Vagrant 클라우드는 공개 박스를 수락하기 전에 감사를 수행합니까?
— Varun

누가 알아? 미치 하시모토에게 물어보십시오.
— eneset
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.