使用Python啟動AWS EC2例項
隨著越來越多的公司將運營遷移到雲端,對精通Amazon Web Services (AWS)等雲服務工程師的需求日益增長。AWS提供的最知名的服務之一EC2(彈性計算雲)提供了可擴充套件的處理能力。由於其龐大的生態系統和易用性,Python經常被用來管理AWS資源,包括啟動EC2例項。這篇文章將向您展示如何使用Python啟動AWS EC2例項。為了加強我們的理解,我們還將介紹一些真實的場景。
瞭解AWS EC2和Python Boto3
AWS EC2服務在雲中提供可調整的計算能力。它的目標是簡化網路規模的雲計算,減少客戶獲取和配置容量所需的摩擦。
我們使用Boto3庫,即Amazon Web Services (AWS)的Python軟體開發工具包(SDK),來與AWS服務進行通訊。它使Python程式設計師能夠建立利用Amazon S3、Amazon EC2等服務的應用程式。
設定您的AWS和Boto3
在開始之前,您必須擁有一個AWS賬戶,並在您的計算機上設定AWS憑證。安裝AWS CLI(命令列介面)並執行aws configure將允許您設定憑證。
必須在您的Python環境中安裝Boto3模組。使用pip來完成此操作:
pip install boto3
安裝後,您可以在Python程式中匯入Boto3來與AWS服務進行通訊。
啟動AWS EC2例項:分步指南
現在,讓我們指導您如何使用Python和Boto3啟動EC2例項。
匯入Boto3模組
用Python編寫的指令碼應該匯入boto3包。
import boto3
建立會話
使用您的AWS登入資訊建立一個Boto3會話。
session = boto3.Session( aws_access_key_id='YOUR_ACCESS_KEY', aws_secret_access_key='YOUR_SECRET_KEY', region_name='us-west-2' )
“YOUR_ACCESS_KEY”和“YOUR_SECRET_KEY”應該分別更改為您的AWS訪問金鑰和秘密訪問金鑰。您可以根據您的偏好選擇區域。
建立EC2資源物件
使用會話物件建立一個EC2資源物件。
ec2_resource = session.resource('ec2')
啟動EC2例項
使用create_instances()方法啟動EC2例項。
instance = ec2_resource.create_instances( ImageId='ami-0c55b159cbfafe1f0', MinCount=1, MaxCount=1, InstanceType='t2.micro' )
在create_instances()函式中,ImageId是AMI ID,MinCount和MaxCount是啟動例項的最低和最大數量,InstanceType是例項的型別。
使用Python啟動AWS EC2例項的示例
讓我們看看幾個EC2例項啟動示例。
啟動單個EC2例項
下面的Python程式碼在“us-west-2”區域啟動一個EC2例項。
import boto3
session = boto3.Session(
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY',
region_name='us-west-2'
)
ec2_resource = session.resource('ec2')
instance = ec2_resource.create_instances(
ImageId='ami-0c55b159cbfafe1f0',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro'
)
```
您的AWS登入憑證應替換為“YOUR_ACCESS_KEY”和“YOUR_SECRET_KEY”。當您執行此指令碼時,它將使用提供的AMI ID在“us-west-2”區域啟動一個“t2.micro”例項。
啟動多個EC2例項
如果您需要啟動更多例項,可以輕鬆更改“MinCount”和“MaxCount”引數。這是一個啟動三個例項的示例
import boto3
session = boto3.Session(
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY',
region_name='us-west-2'
)
ec2_resource = session.resource('ec2')
instances = ec2_resource.create_instances(
ImageId='ami-0c55b159cbfafe1f0',
MinCount=1,
MaxCount=3,
InstanceType='t2.micro'
)
此指令碼在“us-west-2”區域啟動三個“t2.micro”例項。
新增EC2例項標籤
在啟動時,您還可以將標籤應用於您的例項。方法如下:
import boto3
session = boto3.Session(
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY',
region_name='us-west-2'
)
ec2_resource = session.resource('ec2')
instances = ec2_resource.create_instances(
ImageId='ami-0c55b159cbfafe1f0',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
TagSpecifications=[
{
'ResourceType': 'instance',
'Tags': [
{
'Key': 'Name',
'Value': 'MyInstance'
},
]
},
]
)
此指令碼將名為“MyInstance”的名稱標籤賦予新啟動的EC2例項。
結論
正如我們在本文中所展示的,由於Boto3,使用Python管理AWS資源相對簡單。為了避免支付意外費用,請記住有效地管理您的例項。在您完成使用例項後,務必終止它。
這些是很簡單的示例,但是可以根據您的需求進行擴充套件,以涵蓋更復雜的設定,例如新增儲存、建立安全組或使用不同型別的例項。
對於管理和自動化您的AWS雲資源,Python和Boto3提供了一個強大的工具包。只需少量Python知識,您就可以顯著簡化與AWS服務的互動,從而騰出更多時間進行應用程式開發。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP