如何将参数发送到 EC2 实例 aws

时间:2021-07-31 01:41:10

标签: amazon-web-services amazon-ec2 aws-step-functions

我对 AWS 还很陌生,希望得到您的建议。我想解决的问题是我想自动化这个过程。我有这个运行 ubuntu 的 ec2 图像,我想在每秒打印“Hello World”的图像中调用这个可执行文件“executable_hello_world_repeat”。并且在调用可执行文件时,我想添加诸如“executable_hello_world_repeat -n10”之类的输入参数,这将打印 10 次“hello world”。

手动我可以执行以下操作:

  1. 转到 AWS 管理控制台并选择要启动的 ec2 映像
  2. 检查实例是否运行成功
  3. 来自终端调用“executable_hello_world_repeat -n10”
  4. 它打印“Hello World”

我想编写一个程序来以编程方式完成所有这些工作。最终我将在 React/JS 中创建一个网页并自动执行此过程。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

当 Amazon EC2 实例首次启动时,可以提供一个 User Data script,它会在引导过程结束时自动作为 root 用户执行。您可以使用此脚本安装软件、配置设置、启动进程等。

请注意,此脚本仅在第一次启动时运行,因为该软件不需要在后续启动时安装。

如果您希望脚本在每次启动时运行,请将其放在 /var/lib/cloud/scripts/per-boot/ 目录中。

如果您稍后想要触发脚本运行,那么您将需要某种机制来接收此请求并运行该脚本。您可以通过以下几种方式执行此操作:

  • 在实例上运行 Web 服务器,请求来自 HTTP/REST 请求,
  • 触发 AWS Systems Manager Run Command 将导致脚本在实例上运行,甚至在多个实例上运行,
  • 在持续轮询 Amazon SQS 队列的实例上运行一个程序或脚本。当从队列中接收到消息时,触发程序/脚本来处理消息。这被称为从队列中拉取的“工人”

EC2 实例基本上只是一个普通的 Linux 实例,因此您需要以某种方式在需要时在实例上触发一些东西。