2016-10-18 74 views
-1

我正在嘗試編寫一些python代碼,這些代碼幾乎不需要我手動登錄到AWS平臺。使用python的boto3庫登錄AWS實例

在Ubuntu的終端,我以前寫使用

ssh [email protected]<ip.address> 

現在命令

ssh -A [email protected]<ip-address> 

,然後再次登錄到另一個實例我在看的Python代碼就能夠自動完成這個正在登錄進程。直到現在我已經寫下了以下代碼。

import boto3 
ec2 = boto3.resource('ec2') 
+1

boto3是一個SDK,用於與AWS API接口,不用於在終端或實例中執行操作。您是否意味着您想使用boto3根據某些標準檢索EC2實例的IP地址?然後您需要使用另一個庫,也許[paramiko](http://www.paramiko.org/)通過SSH執行任何操作。 – Fishizzle

+0

@Fishizzle - 我不需要實例的IP地址。我已經有了。我只需要登錄到實例,然後執行一些操作。 –

+0

@KshitijMarwah你不想登錄,你想要執行的操作。什麼行爲? –

回答

2

主要有兩種配置boto3庫的方法。

  1. 您需要先在系統上對其進行配置,並在任何地方使用相同的配置。您可以通過在終端上運行aws configure來使用AWS CLI

  2. 設置環境變量,並通過process.env.ENV_KEY調用boto3配置,然後使用它像:

client = boto3.client( 'ec2', aws_access_key_id=process.env.ACCESS_KEY, aws_secret_access_key=process.env.SECRET_KEY, aws_session_token=process.env.SESSION_TOKEN, )

+0

感謝您的答案,但我已經's3'配置。我想在AWS的ec2實例上工作。 –

+0

這是一個例子。您可以將資源編輯爲ec2,s3,sqs等任何內容。回答編輯。 – Anistark

0

如果你想在一個正在運行的實例執行的操作,boto3是不是你正在尋找。你所問的更多是在所謂的配置管理的領域。

雖然您可以使用類似Paramiko這樣的SSH庫編寫自己的東西,但您可能需要查看更多專用軟件包,如Fabric。它建立在上述Paramiko的基礎之上,增加了針對在遠程服務器上運行命令的功能。對於更全面的開源配置管理解決方案,我建議您查看Ansible

AWS還具有用於配置名爲EC2 Run Command的EC2實例的本機服務。

相關問題