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.