2017-05-11 3 views
2

일부 EC2 인스턴스를 만들고 싶습니다.하지만 시작하기 전에이 인스턴스에 대해 생성 된 인스턴스 ID를 사용하여 몇 가지 작업을 수행하십시오. aws ec2 run-instances 또는 다른 aws ec2 명령에 AWS EC2 인스턴스를 시작하지 않고 만들 수있는 옵션이 있습니까? 이 인스턴스에 태그를 지정하고 인스턴스 ID 대신이 UUID를 연결하거나 인스턴스 실행 직후에 중지 할 수있는 해결 방법이 있지만 더 똑똑한 솔루션을 선호합니다.시작하지 않고 EC2 인스턴스 만들기

+0

"할 일"이란 무엇을 의미합니까? 인스턴스가 작동하기 전에 인스턴스에 작용하는 올바른 방법은 인스턴스에 일부 [userdata] (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)를 지정하는 것입니다. 인스턴스를 종료하고 올바른 데이터로 시작하기를 원할 경우 다른 인스턴스에서 'EBS'볼륨을 준비하고 부팅에 첨부 할 수 있지만 권장하지는 않습니다. userdatas가 방법입니다. – iMil

+0

@iMil "do some stuff"은 인스턴스에서 사용할 리소스를 만드는 것을 의미합니다. '/ etc/rc.local'에 존재하지 않는다면 그것들을 설정할 수 있습니다. 그러나 이것은 좀 더 조건부 코드를 만듭니다. 어떻게 사용자 데이터가 작동하는지 알지만, 인스턴스에서 기존 작업을 시작할 때 어떤 작업을 수행하는 데 도움이 될지 알 수는 없습니다. 인스턴스를 재설정하고 리소스를 다시 만들지 못하게하고 싶습니다. – pt12lol

+0

실제로 당신이하려고하는 것은 userdatas가 무엇을위한 것인지,'rc.local' 전에 실행되며 실제로 리눅스 시스템이 다중 사용자 단계에 들어가기 전에 실행됩니다. 또 다른 옵션은 인스턴스 생성시 필요한 것을 설정하는 AMI (예 : [packer] (https://www.packer.io/) 사용)를 작성하는 것입니다. 그리고 btw, packer는 AMI를 빌드하기 위해 인스턴스를 시작합니다 :) – iMil

답변

3

을 내가 코멘트에 @ pt12lol에 얘기했던대로,이 userdata가 정확히 것입니다.

아마존의 문서에서

:

당신이 아마존 EC2에서 인스턴스를 실행하면, 당신은 인스턴스 후 스크립트를 일반 자동화 된 구성 작업을 수행하고, 심지어 실행하는 데 사용할 수있는 인스턴스에 사용자 데이터를 전달하는 옵션이 있습니다 시작됩니다. Amazon EC2에 쉘 스크립트 및 클라우드 초기화 지시문의 두 가지 유형의 사용자 데이터를 전달할 수 있습니다. 이 데이터를 일반 텍스트, 파일 (명령 줄 도구를 통해 인스턴스를 시작하는 데 유용함) 또는 base64 인코딩 텍스트 (API 호출의 경우)로 실행 마법사에 전달할 수도 있습니다.

사용자 datas는 aws CLI 또는 AWS 콘솔의 유저 데이터 텍스트 상자에 --user-data 플래그를 사용하여 예를 들어, 작성시 인스턴스에 전달 될 수 있습니다.

+0

이것은 질문을위한 가장 적용 가능한 해결책이다. _ – kosa