Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AWS上的现有EC2实例中运行Python脚本_Python_Amazon Web Services_Amazon Ec2_Boto3 - Fatal编程技术网

在AWS上的现有EC2实例中运行Python脚本

在AWS上的现有EC2实例中运行Python脚本,python,amazon-web-services,amazon-ec2,boto3,Python,Amazon Web Services,Amazon Ec2,Boto3,我有一个API(python),它必须修改已经运行的EC2实例中的文件。我正在搜索boto3文档,但只能找到启动新EC2实例的函数,而不能连接到现有实例 我目前正在考虑复制API函数来更改EC2实例中脚本中的文件,并让API通过使用某种SSH库访问EC2实例来启动该脚本 这是正确的方法吗?或者是否有某个boto3函数(或其他一些Amazon/AWS库)允许我在现有实例中启动脚本?如果您想在现有EC2实例中使用执行脚本-您可以在此处使用现有答案中的参考: 依我看,为了能够在EC2内启动脚本,该脚本

我有一个API(python),它必须修改已经运行的EC2实例中的文件。我正在搜索boto3文档,但只能找到启动新EC2实例的函数,而不能连接到现有实例

我目前正在考虑复制API函数来更改EC2实例中脚本中的文件,并让API通过使用某种SSH库访问EC2实例来启动该脚本


这是正确的方法吗?或者是否有某个boto3函数(或其他一些Amazon/AWS库)允许我在现有实例中启动脚本?

如果您想在现有EC2实例中使用执行脚本-您可以在此处使用现有答案中的参考:


依我看,为了能够在EC2内启动脚本,该脚本应该出现在EC2上。

如果您想在现有EC2实例内使用执行脚本-您可以在此处使用现有答案中的参考:


在我看来,为了能够在EC2内部启动脚本,脚本应该出现在EC2上。

除非您在该机器上运行特定的服务,该服务允许您修改提到的文件。我会尝试通过网络登录EC2实例,就像登录任何其他机器一样


您可以使用paramiko或pexpect库通过ssh访问EC2机器。

除非您在该机器上运行特定的服务,该服务允许您修改上述文件。我会尝试通过网络登录EC2实例,就像登录任何其他机器一样


您可以使用paramiko或pexpect库通过ssh访问EC2计算机。

Amazon EC2实例与Internet上的任何计算机一样。它运行的是一个操作系统(如Linux或Windows),并且内置了标准的安全性。它是AmazonEC2实例这一事实没有任何影响

因此,问题真的变成了:如何在远程计算机上运行命令?

这方面的典型方法包括:

  • 连接到计算机(如通过SSH)并运行命令
  • 在计算机上运行侦听特定端口的服务(例如响应API请求)
  • 使用远程shell命令在另一台计算机上运行操作
幸运的是,AWS提供了一个附加选项:使用:

AWS Systems Manager运行命令允许您远程安全地管理托管实例的配置。托管实例是混合环境中已为Systems Manager配置的任何Amazon EC2实例或本地计算机。“运行”命令使您能够自动化常见的管理任务,并按比例执行特殊配置更改。您可以从AWS控制台、AWS命令行界面、AWS Tools for Windows PowerShell或AWS SDK使用Run命令。运行命令是免费提供的

管理员使用Run命令在其托管实例上执行以下类型的任务:安装或引导应用程序、构建部署管道、在实例从自动缩放组终止时捕获日志文件,以及将实例加入Windows域等等

基本上,它是一个安装在实例上的代理(或者,在Internet上的任何计算机上),可以将命令发送到由代理执行的计算机。事实上,如果需要,同样的命令可以发送到数百台计算机


AWS Systems Manager Run命令可以由API调用触发,例如使用boto3的程序。

Amazon EC2实例与Internet上的任何计算机一样。它运行的是一个操作系统(如Linux或Windows),并且内置了标准的安全性。它是AmazonEC2实例这一事实没有任何影响

因此,问题真的变成了:如何在远程计算机上运行命令?

这方面的典型方法包括:

  • 连接到计算机(如通过SSH)并运行命令
  • 在计算机上运行侦听特定端口的服务(例如响应API请求)
  • 使用远程shell命令在另一台计算机上运行操作
幸运的是,AWS提供了一个附加选项:使用:

AWS Systems Manager运行命令允许您远程安全地管理托管实例的配置。托管实例是混合环境中已为Systems Manager配置的任何Amazon EC2实例或本地计算机。“运行”命令使您能够自动化常见的管理任务,并按比例执行特殊配置更改。您可以从AWS控制台、AWS命令行界面、AWS Tools for Windows PowerShell或AWS SDK使用Run命令。运行命令是免费提供的

管理员使用Run命令在其托管实例上执行以下类型的任务:安装或引导应用程序、构建部署管道、在实例从自动缩放组终止时捕获日志文件,以及将实例加入Windows域等等

基本上,它是一个安装在实例上的代理(或者,在Internet上的任何计算机上),可以将命令发送到由代理执行的计算机。事实上,如果需要,同样的命令可以发送到数百台计算机

AWS Systems Manager运行命令可由API调用触发,例如使用boto3的程序