2012-01-21 11 views
0

PHPコードでubuntu EC2インスタンスを起動し、ユーザーデータを渡しています。 私はそのインスタンスを所有していませんが、ユーザーレベルのアクセスを提供しています。Amazon EC2がユーザーデータで動作しないPHP

まず、ユーザーデータを渡して特定のジョブを実行しようとしましたが、動作していないようです。

非常に簡単に作成し、ユーザーデータとして「touch test.txt」を送信しました。インスタンスは正常に起動されましたが、ファイルは作成されていないと思われます。

手順がありません。インスタンスにsshを使用してファイルが作成されていないことを確認しました。 1つは、私は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()); 
?> 
+0

ServerFaultでより良い回答が得られます。 – ceejayoz

+1

@ceejayozマイグレーションに言及することなくそのようなコメントを残す[クロスポストを推奨する](http://serverfault.com/questions/352313/amazon-ec2-not-working-with-user-data-php)希望。 –

+0

"[変更なしでサイト間で質問をコピーして貼り付けることは、不正行為とみなされます](http://meta.stackexchange.com/a/75012)"だからやめてください。各サイトの質問を慎重に調整しない限り、クロスポストしないでください。あなたが投稿した場合、良い答えを得られず、あなたの質問が別のサイトでうまくいくと思って、それにフラグを立てて、それを移行するように頼んでください。 – freiheit

答えて

1

ユーザーデータスクリプトとしてコードを実行しようとしている場合、2つの文字#!でユーザーデータを開始する必要があります。

たとえば、自分のタッチコマンドは次のようになります。

#!/bin/bash 
touch /tmp/hello-world.txt 

私は、PHPプログラマーないんだけど、私は、これは私の研究に基づいて動作するかもしれないと思う:

#!/usr/bin/php 
<?php 
[...your code here...] 
?> 

はここでどこの記事です私は、ユーザー・データのスクリプトの概念が導入されました:

http://alestic.com/2009/06/ec2-user-data-scripts

これは、UbuntuとAmazon Linuxを含む多くのAMIディストリビューションで使用されているUbuntuのクラウド初期化パッケージに組み込まれています。

cloud-initには起動時にもっと柔軟な方法を指定できますが、shabang(#!)メソッドは最初の起動時に任意のスクリプトを実行する簡単な方法です。

+0

あなたが言ったようにいくつかのことを試しました.. $ userdata2 = "#!/ bin/bash touch /tmp/hello-world."."txt "; PHPコードを起動する前に#!/ usr/bin/phpを置いてください。 EC2に渡されたユーザーデータがbashで実行されていることを知りたがっていますか?もしそうなら、私のuserdataは動作するはずです。しかし、私が言ったように、sshでチェックしているファイルは見えません。 – amitchhajer

+0

コマンドラインスクリプトと同じように、改行を含める必要があります。ファイルを作成し、テストした後、そのファイルをユーザデータファイルとして(ユーザデータ文字列の代わりに)ピタスすることができます。 –

+0

はい、それは働きました..ありがとうございました。 – amitchhajer

関連する問題