Amazon EC2 无法使用用户数据 php

Amazon EC2 无法使用用户数据 php

我正在使用我的 PHP 代码启动一个 ubuntu EC2 实例并将用户数据传递给它。我不拥有该实例..但他们提供了对它的用户级访问权限。

首先,我尝试通过传递用户数据来运行一项特定的作业,但似乎没有效果。

我把它弄得非常简单,并发送“touch test.txt”作为用户数据。实例已正确启动,但我猜文件没有按预期创建。

我是否遗漏了任何步骤?我检查了文件是否未使用 ssh 连接到实例来创建。有一件事是我在实例中不是 root 用户。这会产生什么影响吗?

<?php
error_reporting(-1);
header("Content-type: text/plain; charset=utf-8");
require_once '../sdk.class.php';
 // Instantiate the class
$ec2 = new AmazonEC2();
$userdata2="touch hi".".txt";
echo $userdata2;
$response = $ec2->run_instances('ami-5f21e236', 1, 1,
array('KeyName' => 'radix2'),
array('UserData' => $userdata2),
array('InstanceType' => 'm1.small')
);
var_dump($response->isOK());
?>

答案1

如果您的 UserData 不以#!它开头,则会假定它不是脚本。

你应该读一读UserData 脚本示例了解如何在 shell 脚本的第一行指定 shell 命令。

假设您的 Ubuntu 实例对用户数据的处理基于ec2-运行-用户数据

相关内容