【问题标题】:Run a command remotely on ec2在 ec2 上远程运行命令
【发布时间】:2014-10-07 11:49:56
【问题描述】:

我有 Ubuntu 14.04 ec2 实例和我的脚本上传到那里。当我想使用我的 mac 终端远程运行脚本时,我会使用 ssh myaws "python MyFolder/myscript.py" 运行完美。但是,即使在我关闭我的 mac 上的终端窗口或关闭我的 mac 之后,我也希望脚本在 ec2 上运行。一旦我弄清楚这一点,我将继续使用 cron 来安排我的脚本在 ec2 上运行,而无需我 ssh 进入。这是否可能,如果是的话,我将如何去做?如果您需要更多说明,现在让我说。谢谢。

【问题讨论】:

  • 如果你想从 cron 运行它,是什么阻止你这样做?为什么你认为首先从 ssh 运行它会有所帮助?
  • 在这里提出并回答了类似的问题:stackoverflow.com/questions/29142/…
  • 您可以使用 Lambda for cron 和 SSM Run Command 在 EC2 实例上远程调用脚本。

标签: amazon-web-services ssh amazon-ec2 terminal ubuntu-14.04


【解决方案1】:

是的,您可以使用 AWS 系统管理器执行此操作。 AWS Systems Manager Run Command 允许您在 EC2 以及本地服务器上远程安全地运行命令集。 以下是实现此目的的高级步骤。

  1. 附加实例 IAM 角色:

ec2 实例必须具有具有策略 AmazonSSMFullAccess 的 IAM 角色。此角色使实例能够与 Systems Manager API 进行通信。

  1. 安装 SSM 代理:

EC2 实例上必须安装 SSM 代理。 SSM 代理处理运行命令请求并根据命令配置实例。

  1. 执行命令:

通过 AWS CLI 的使用示例:

执行以下命令检索实例上运行的服务。将 Instance-ID 替换为 ec2 实例 ID。

aws ssm send-command --document-name "AWS-RunShellScript" --comment "listing services" --instance-ids "Instance-ID" --parameters commands="service --status-all" --region us-west-2 --output text

更多详细信息: https://www.justdocloud.com/2018/04/01/run-commands-remotely-ec2-instances/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    相关资源
    最近更新 更多