2015-01-02 5 views
0

빌드를 실행하는 데 사용할 인스턴스를 만드는 EC2 AMI가 있습니다. 추가 된 프로그램이 필요하기 때문에이 AMI를 수정해야합니다. 내가 원하는 것은 루트 드라이브 (새 프로그램이 설치된 스냅 샷)로 사용할 다른 스냅 샷에서 내 AMI 지점을 만들고 모든 것이 좋고 좋을 것입니다. 그러나 나는 이것을 할 길을 찾을 수 없다. 포럼에 아마존에서 온 누군가가 가능하지 않다고 말했다. 그러나 나는 그렇게 확신하지는 않는다. 그래서 저는 여기서 물어보고 싶었습니다.EC2 AMI 루트 드라이브 업데이트

내가 원하는 업데이트 된 스냅 샷을 가져 와서 완전히 새로운 AMI를 만들 수는 있지만 새로운 AMI ID가 생겨 이제는 새 스크립트를 실행하기 위해 내 스크립트에서 사용하는 AMI ID를 변경해야합니다. 예. AMI 설정을 변경해야 할 때마다이 작업을 수행하고 싶지 않습니다.

+1

전 전문가가 아니지만 AMI는 본질적으로 인스턴스의 루트 드라이브 이미지입니까? 그렇다면 AMI가 루트 드라이브로 사용할 스냅 샷을 '가리키는'것은 의미가 없습니다. AMI에서 작성된 새 인스턴스에 루트로 사용할 새 볼륨이 할당됩니다. 내가 옳다면 유일한 해결책은 새 프로그램으로 실행중인 인스턴스에서 새 AMI를 저장하는 것입니다. – millinon

+0

그런 식으로 해 주셔서 감사합니다. 내 생각 엔 당신이 맞다. – gfree

+0

당신은 아마 당신 자신을 알아 냈을 것입니다. @ gfree하지만, 스크립트에서 사용하는 AMI ID를 넣고 싶을 수도 있습니다. - 예를 들어, 환경에서 스크립트를 사용하지 않을 때, 당신이 변경할 필요가있는 곳은 오직 한 곳 밖에 없습니다. 새로운 AMI로 가십시오. 미안하다. – boardrider

답변

0

당신은 존재하는 ec2 인스턴스로부터 개인 AMI를 구축 할 수 있습니다 (물론 공개 할 수도 있습니다). 그런 다음 설치된 모든 응용 프로그램/패키지를 사용하여 "My AMI"에서 새 ec2 인스턴스를 직접 시작할 수 있습니다.

는 지난 달 AWS 도입 Docker 같은 새로운 기능이 있습니다

Amazon Machine Images (AMI)

이 문서에 봐,하지만 대중이 현재 사용에가 준비되지 않았습니다.

개인 AMI 이미지를 만드는 또 다른 이점은 새 인스턴스를 실행해야 할 때 많은 시간을 절약 할 수 있다는 것입니다.

새 AMI를 만든 후 구성 파일을 업데이트해야한다면 Jenkins를 통해 CI 트리거를 만드는 것이 좋습니다. 스크립트에서 awscli 명령을 실행하면 설정 파일이 쉽게 업데이트됩니다. 이러한 모든 작업은 Jenkins/bamboo에서 새 AMI 만들기, 구성 파일 업데이트 등을 자동으로 수행 할 수 있습니다. 이 방법으로에 자신이없는 경우

는 다음에 대한 cloudformation 템플릿을 생각합니다. 그것은 당신의 시스템을 크게 개선시킬 것입니다. 그러나 완전히 설정하면 cloudformation 방법은 향후 변경 사항에 많은 시간을 절약 할 수 있습니다.

Cloudformation에서 실행 구성과 자동 확장 그룹을 설정해야하지만 개인용 AMI 이미지를 만들어야하지만 새 이미지를 만든 후에는 시작 이미지에서 ami 이미지를 업데이트해야합니다. 새 인스턴스는 자동으로 새 AMI를 사용합니다.

+0

예, 알고 있습니다. 하지만, 그 결과 새로운 AMI ID가 생깁니다. 이는 특별히 코드 나 구성 파일을 업데이트해야하기 때문에 원하지 않는 것입니다. AMI ID 대신 '별칭'또는 다른 것으로 시작할 수 있다면 괜찮을 것입니다. – gfree

+0

내 업데이트를보고, 당신은 구름에 의해 시도 할 수 있습니다. – BMW

관련 문제