1 |
pip install boto3 |
*หากยังไม่มี pip ก็ให้ Install ก่อน
1 |
aws configure |
ระบบจะให้ใส่
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
ซึ่ง key ของเราดูได้ที่ตามรูปด้านล่าง
region : ให้ใส่โค๊ดตามลิ้งค์นี้ครับ https://docs.aws.amazon.com/general/latest/gr/rande.html
output format : json
สร้างไฟล์ awscli_ec2_change_instancetype.py ขึ้นมาโดยใช้คำสั่ง
1 |
sudo nano awscli_ec2_change_instancetype.py |
จากนั้นก็ให้เขียนโค๊ดด้านล่างนี้ในไฟล์ awscli_ec2_change_instancetype.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import boto3 client = boto3.client('ec2') # Insert your Instance ID here my_instance = 'i-xxxxxxxx' # Stop the instance client.stop_instances(InstanceIds=[my_instance]) waiter=client.get_waiter('instance_stopped') waiter.wait(InstanceIds=[my_instance]) # Change the instance type client.modify_instance_attribute(InstanceId=my_instance, Attribute='instanceType', Value='t3a.medium') # Start the instance client.start_instances(InstanceIds=[my_instance]) |
จากนั้นรันไฟล์
1 |
python awscli_ec2_change_instancetype.py |
EC2 Instance Type ของเราก็ถูกเปลี่ยนเรียบร้อย
ก่อนอื่นให้เราสร้างไฟล์ awscli_ec2_change_instancetype.py และใส่โค๊ดด้านบน เก็บใว้ในโฟลเดอร์ /usr/local/sbin/
1 |
sudo nano /usr/local/sbin/awscli_ec2_change_instancetype.py |
สร้างไฟล์ ec2_change_instancetype เพื่อเอาใว้รันไฟล์ awscli_ec2_change_instancetype.py
1 |
sudo nano /usr/local/sbin/ec2_change_instancetype |
โดยใส่โค๊ดด้านล่างดังนี้
1 2 |
#!/bin/sh python /usr/local/sbin/awscli_ec2_change_instancetype.py |
กำหนดให้ไฟล์สามารถ Execute ได้
1 |
sudo chmod +x /usr/local/sbin/ec2_change_instancetype |
จากนั้นสร้าง Conjob เพื่อรัน
1 |
crontab -e |
เพิ่มโค๊ดด้านล่างนี้ลงไป เพื่อตั้งเวลารันสคริปครับ
1 |
30 17 * * * /usr/local/sbin/ec2_change_instancetype >/dev/null 2>&1 |
รีสตามเซอร์วิส
1 |
sudo service cron restart |
ดูเพิ่มเติม
https://stackoverflow.com/questions/38664328/resizing-an-ec2-instance-using-boto3
https://aws.amazon.com/th/sdk-for-python/
ป้ายกำกับ:aws, Change Instance Type, ec2