使用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服務的互動,從而騰出更多時間進行應用程式開發。

更新於:2023年7月17日

瀏覽量:298

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.