【AWS를 코드로 조종한다】 Python boto3로 AWS EC2 인스턴스를 제어한다
tl;dr
Mac에서 Python을 AWS를 제어하는 프로그램의 시작 편입니다.
이 기사에서는 EC2 인스턴스를 AWS EC2 인스턴스 시작 → 중지합니다.
준비하는 것·환경
개발 환경의 구축은 아래의 기사를 참고해 주세요.
【이것조차 읽으면 OK】Mac에서 Python을 사용하여 개발할 준비
h tps:// 퀵했다. 작은 m / 루이치로 001 / MS / 35 A 232 A 430 C41 D512
AWS
AWS는 Amazon Web Services의 약자입니다.
AWS는 공식 사이트가 충실하기 때문에 다음을 읽는 것이 좋습니다.
아마존 웹 서비스(AWS)란?
htps : // 아 ws. 아마존. 이 m/jp/아보 t-ws/
Boto3
AWS를 Python으로 제어하기 위한 패키지입니다.
AWS가 공식적으로 제공합니다.
이 기사에서는 EC2만 제어하지만 다른 AWS 서비스도 제어할 수 있습니다.
준비하는 것
Boto3 설치
pip 명령으로 설치할 수 있습니다.
% pip install boto3
AWS API 키
AWS를 외부 프로그램에서 제어하려면 API 키를 준비해야 합니다.
API 키 가져오기
htps : // 아 ws. 아마존. 이 m / jp /로
API 키는 다음과 같습니다.
이것은 공개하지 마십시오.
API 키가 있으면 누구나 조작을 할 수 있습니다.
Python으로 EC2 인스턴스 시작 → 종료
Boto3에서 사용할 수 있는 서비스는 다음과 같습니다.
htps : // 보토 3. 아마조나 ws. 이 m/v1/도쿠멘들 온/아피/ㅁ st/레후 렌세/세 rゔ ぃ세 s/ 어서 x. HTML
이번에는 EC2 인스턴스를 제어하므로 "ec2"를 지정합니다.
EC2 인스턴스 시작
ec2 = boto3.resource('ec2')
# インスタンス作成
AMI_ID = 'ami-0c3fd0f5d33134a76' # AMI-IDを指定
SUBNET_ID = 'subnet-xxx' # サブネットIDを指定(事前に作成しておく)
instances = ec2.create_instances(ImageId=AMI_ID,
MaxCount=1, MinCount=1,
InstanceType='t2.micro',
SubnetId=SUBNET_ID)
ec2.create_instances로 시작할 수 있습니다.
ec2.create_instances 에는 기재된 파라미터 이외에 다음이 필요합니다.
하지만 API 키를 프로그램 중에 기재하는 것은 위험하므로 환경 변수로 관리하는 것이 좋습니다.
서브넷을 지정하지 않으면 기본값이 사용되는 것 같지만 내 환경에서는 작동하지 않았습니다.
ID를 지정하면 문제없이 시작되었습니다.
환경 변수
아래 환경 변수로 설정하면 자동으로 boto3을 읽어줍니다.
- 액세스 키 ID(access_key_id) → AWS_ACCESS_KEY_ID
- 비밀 액세스 키 (secret_access_key) → AWS_SECRET_ACCESS_KEY
- 시작할 리전 → AWS_DEFAULT_REGION
PyCharm을 사용하면 실행할 때 환경 변수를 지정할 수 있으므로 편리합니다.
AMI-ID
AMI는 Amazon Machine Image의 약자로, EC2 인스턴스는 AMI를 기반으로 생성합니다.
AMI에는 고유 ID가 있으며 AWS 콘솔에서 가져올 수 있습니다.
인스턴스 종료
# インスタンスを終了する
tm = instance.terminate()
instance.terminate로 종료할 수 있습니다.
실제 프로그램
EC2를 시작하고 종료하는 프로그램을 GitHub에 게시하고 있습니다.
htps : // 기주 b. 코 m / 료타 k / 보토 3_ mp ぇ
추천 파이썬 공부법
Udemy의 동영상을 추천합니다.
현역 실리콘 밸리 엔지니어가 가르치는 Python 3 입문 + 응용 + 미국 실리콘 밸리 흐름 코드 스타일
참고 사이트
Python boto3에서 AWS를 자유자재로 조종하자 ~입문편~
htps : // 코 m/키미히로_응/있어 ms/f3세 86472152b2676004
Pycharm의 스크립트 실행에서 환경 변수 PATH 지정
htp // y0m0r. 는 bぉ. jp/엔트리/20131207/1386416022
Reference
이 문제에 관하여(【AWS를 코드로 조종한다】 Python boto3로 AWS EC2 인스턴스를 제어한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryoichiro009/items/106c60a22013407664cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)