您好,登錄后才能下訂單哦!
最近開始從頭學習Lambda 在AWS里面的自動化運用。我的操作主要是基于Python 3.7的版本,AWS的Python模塊叫做Boto。具體的語法和概念都不贅述了,直接來看具體的例子。
首先來看看第一個簡單的操作,如何創建一個新的EC2實例。
第一步,創建一個新的lambda函數,選擇 author from scratch,這里他默認會自動創建一個IAM的role,并賦予訪問cloudwatch log的權限
默認的權限顯示如下
這里我們需要授予創建EC2的權限 ,因此需要修改對應的JSON。我們可以在IAM的role里面找到這個默認創建的Role,在默認的權限上面添加對 ec2:runinstances 訪問就可以了。當然我們也可以一開始就手動創建一個新的role。
下面是更新之后的權限圖
接下來是Lambda函數。Lambda函數都是靠事件來觸發的,因此傳入參數里面有event和context。
函數里面首先是導入模塊
接下來傳入幾個環境變量,這幾個環境變量是直接在函數下面的表格里面自定義的
然后在lambda_handler這個入口函數里面,直接創建一個新的EC2實例,傳入參數。注意這個函數有2個形式參數event和context,這個是函數自帶的,這里我們用不上,但是仍然需要寫上
這幾個環境變量分別代表 AMI的代碼,實例類型,Key pair的名字和 subnet的子網代碼
點擊test,會提醒配置test的事件,這里我們不需要傳入任何參數,因此選擇最簡單的hello world模板,傳入一個空的參數就行了
保存之后再次點擊test, 會顯示成功執行
查看一下EC2實例 ,的確一個新的實例已經創建了!
這個例子創建成功了,但是我已經發現在控制臺里面輸入腳本不那么方便了。豆子寫Python更習慣在windows下使用Pycharm,那么如何在Pycharm里面使用boto3呢?
首先需要安裝boto3
pip install boto3
然后還需要安裝一個工具叫做 pyboto3, 這是因為默認情況下Pycharm沒法自動為boto3 進行autocomplete,安裝pyboto3之后就可以提示函數了,不過目前只支持boto3.client的使用。
pip install pyboto3
最后打開Pycharm的設置,添加Project Interpreter
為了訪問我的aws賬戶,我還需要配置credential。下載安裝
AWS CLI。然后在cmd里面輸入
aws configure
根據提示填寫對應的信息。
配置完成之后,下面簡單的測試一下是否工作。
執行一下
import boto3
def getEC2():
ec2=boto3.client('ec2')
""" :type : pyboto3.ec2 """
instance=ec2.describe_instances()
print(instance)
if __name__ == '__main__':
getEC2()
獲取到我剛剛創建的EC2 信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。