如何在 EC2 上远程执行带有命令行参数的程序(java 程序)?
How to execute a program with command line arguments on EC2 remotely (java program)?
我想从 java 代码启动一个 EC2 实例并在该 EC2 实例上执行 python 代码。
- 使用 python 控制台应用程序创建自定义 AMI
- 使用来自 java 应用程序的 AMI 启动 EC2 实例
- 使用来自 java 代码的不同命令行参数启动 python 程序的多个实例。
我做了一些分析,我可以使用 python 代码创建 AMI 并启动 EC2 实例,但我正在寻找一种方法来使用命令行参数启动 python 程序的多个实例。
基本上我想构建一个可扩展的系统,它将启动 EC2 实例并根据要求启动多个 python 进程,并在工作完成后删除 EC2 实例。
更新:虽然接受的答案是正确的,但还有另一种方法可以使用 JSCH java 库使用 ssh 隧道远程执行脚本,这里是
Gist 示例代码
这可用于与启用 SSH 服务的非 AWS 机器通信。
您可以使用 AWS Systems Manager 在远程 EC2 实例上调用 shell 命令。
- 在 AWS SSM 中创建一个调用 shell 命令的文档。
- 创建一个 EC2 角色,允许 SSM 代表您在 EC2 实例上 运行 命令。
- 将该角色附加到该实例并等待该实例在 SSM 中进入
Managed Instance
。
- 运行 该实例上的 SSM 文档来自 Java。
我想从 java 代码启动一个 EC2 实例并在该 EC2 实例上执行 python 代码。
- 使用 python 控制台应用程序创建自定义 AMI
- 使用来自 java 应用程序的 AMI 启动 EC2 实例
- 使用来自 java 代码的不同命令行参数启动 python 程序的多个实例。
我做了一些分析,我可以使用 python 代码创建 AMI 并启动 EC2 实例,但我正在寻找一种方法来使用命令行参数启动 python 程序的多个实例。
基本上我想构建一个可扩展的系统,它将启动 EC2 实例并根据要求启动多个 python 进程,并在工作完成后删除 EC2 实例。
更新:虽然接受的答案是正确的,但还有另一种方法可以使用 JSCH java 库使用 ssh 隧道远程执行脚本,这里是 Gist 示例代码
这可用于与启用 SSH 服务的非 AWS 机器通信。
您可以使用 AWS Systems Manager 在远程 EC2 实例上调用 shell 命令。
- 在 AWS SSM 中创建一个调用 shell 命令的文档。
- 创建一个 EC2 角色,允许 SSM 代表您在 EC2 实例上 运行 命令。
- 将该角色附加到该实例并等待该实例在 SSM 中进入
Managed Instance
。 - 运行 该实例上的 SSM 文档来自 Java。