簡體   English   中英

在AWS上的現有EC2實例中運行Python腳本

[英]Running Python Script in an existing EC2 instance on AWS

我有一個必須在已經運行的EC2實例內更改文件的API(在python中)。 我正在搜索boto3文檔,但只能找到啟動新EC2實例的功能,而不能連接到已經存在的實例。

我目前正在考慮復制API函數以更改EC2實例內部腳本中的文件,並讓API可以通過使用某種SSH庫對其進行訪問來在EC2實例上簡單地啟動該腳本。

那將是正確的方法嗎?或者是否存在一些boto3函數(或在其他一些Amazon / AWS庫中)允許我在現有實例中啟動腳本?

除非您在該計算機上運行了特定的服務,該服務允許您修改提到的文件。 我將嘗試通過網絡登錄到EC2實例以及其他任何計算機上。

您可以使用paramiko或pexpect庫通過ssh訪問EC2機器。

如果要在現有EC2實例中使用執行腳本-您可以在此處使用現有答案中的引用: Boto在ec2實例上執行shell命令

IMO為了能夠在EC2內啟動腳本,該腳本應位於EC2上。

Amazon EC2實例就像互聯網上的任何計算機一樣。 它運行的是操作系統(例如Linux或Windows),並且具有內置的標准安全性。 它是Amazon EC2實例這一事實沒有影響。

因此,問題實際上變成了: 如何在遠程計算機上運行命令?

這樣做的典型方法包括:

  • 連接到計算機(例如通過SSH)並運行命令
  • 在偵聽特定端口的計算機上運行服務(例如,響應API請求)
  • 使用遠程Shell命令在另一台計算機上運行操作

幸運的是,AWS提供了一個附加選項:使用AWS Systems Manager Run Command

通過AWS Systems Manager Run Command,您可以遠程安全地管理托管實例的配置。 受管實例是混合環境中已為Systems Manager配置的任何Amazon EC2實例或本地計算機。 運行命令使您能夠自動執行常見的管理任務並大規模執行臨時配置更改 您可以從AWS控制台,AWS命令行界面,適用於Windows PowerShell的AWS工具或AWS開發工具包使用運行命令。 免費提供運行命令。

管理員使用“運行命令”在其托管實例上執行以下類型的任務: 安裝或引導應用程序 ,構建部署管道,在實例從Auto Scaling組終止時捕獲日志文件,以及將實例加入Windows域以進行命名一些。

基本上,它是安裝在實例 (或就此而言,在Internet上的任何計算機上)上的代理,並且可以將命令發送到由代理執行的計算機。 實際上,如果需要,可以將同一命令發送到數百台計算機。

可以通過API調用 (例如使用boto3的程序)來觸發 AWS Systems Manager運行命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM