aws sdkでかなり新しい、始めようとしています。私はsdkとすべてをインストールしましたが、どのように私はec2インスタンスをPHPのSDKを使用して起動するのですか?いくつかのコードサンプルは本当に便利です。php aws sdkを使用してec2インスタンスを起動および停止する方法
ここ
6
A
答えて
8
が定義されたAMIからマシンを起動する基本的な例である:
$image_id = 'ami-3d4ff254'; //Ubuntu 12.04
$min = 1; //the minimum number of instances to start
$max = 1; //the maximum number of instances to start
$options = array(
'SecurityGroupId' => 'default', //replace with your security group id
'InstanceType' => 't1.micro',
'KeyName' => 'keypair', //the name of your keypair for auth
'InstanceInitiatedShutdownBehavior' => 'terminate' //terminate on shutdown
);
require_once('AWSSDKforPHP/sdk.class.php');
$ec2 = new AmazonEC2();
$response = $ec2->run_instances($image_id, $min, $max, $options);
if(!$response->isOK()){
echo "Start failed\n";
}
これは、あなたが適切にあなたのAWSの資格情報を設定していると仮定している...うまくいけば、これはあなたが正しい方向に向けます...興味のある方はここで
3
は、より詳細なスクリプトです:それは新しいのホスト名を出力することを除いてdleiftahさん、@など
// Sleep time to allow EC2 instance to start up
$sleeptime = 15;
$username = "ec2-user";
// For AWS PHP SDK
putenv('HOME=/home/ec2-user/');
require_once 'AWSSDKforPHP/sdk.class.php';
// Get data from HTTP POST
$ami = $_POST['amis'];
$instancetype = $_POST['instancetype'];
$keyname = $_POST['key'];
$securitygroup = $_POST['securitygroups'];
// Instantiate the AmazonEC2 class
$ec2 = new AmazonEC2();
// Boot an instance of the image
$response = $ec2->run_instances($ami, 1, 1, array(
'KeyName' => $keyname,
'InstanceType' => $instancetype,
'SecurityGroupId' => $securitygroup,
));
if (!($response->isOK())) {
echo "<p class='error'>ERROR! Could not create new instance!</p>";
return;
}
$instance = $response->body->instancesSet->item->instanceId;
$message = "<p>Your instance has been successfully created.</p>";
$message .= ("<p>Instance ID is: <b>$instance</b></p>");
// Give instance some time to start up
sleep ($sleeptime);
// Get the hostname from a call to the DescribeImages operation.
$response = $ec2->describe_instances(array(
'Filter' => array(
array('Name' => 'instance-id', 'Value' => "$instance"),
)
));
if (!($response->isOK())) {
echo "<p class='error'>ERROR! Could not retrieve hostname for instance!</p>";
return;
}
$hostname = $response->body->reservationSet->item->instancesSet->item->dnsName;
// Output the message
$message .= "<p>Your instance hostname is: <b>$hostname</b></p>";
$message .= "<p>You can connect to your instance using this command:<br>" .
"<b>ssh -i $keyname.pem [email protected]" . $hostname . "</b></p>";
echo $message;
ほとんど同じ完了時の姿勢。
関連する問題
- 1. JavaでAmazon EC2インスタンスをプログラムで起動および停止する方法
- 2. スケジュールに基づいてEC2インスタンスを起動および停止する
- 3. AWS cloudformを使用してEC2インスタンスを起動する方法
- 4. aws ec2インスタンスを自動起動/停止できません
- 5. AWS EC2インスタンスは、右の後に停止boto3を使用して
- 6. AWSノードSDKを使用してEC2クラスターにEC2インスタンスを追加する方法
- 7. MacでJenkinsを停止および起動する方法
- 8. Rubyからシェルデーモンを起動および停止する方法
- 9. アンドロイドアプリケーションからビデオレコーダーを起動および停止する方法
- 10. AWS APIで認証してEC2インスタンスを起動する方法
- 11. ANTを使用してTomcatを起動および停止しますか?
- 12. AWS EC2インスタンス:複数のインスタンスを起動
- 13. スプリング制御バスを使用してスプリングファイルインバウンドアダプタを起動および停止する方法は?
- 14. Antスクリプトを使用してTomcatサーバーを起動および停止する方法は?
- 15. ブラウザからphpを使用してawsインスタンスを起動する方法
- 16. AWS EC2インスタンスを別の言語で起動する方法
- 17. EC2インスタンスはランダムに起動/停止しますか?
- 18. 開発用ラップトップでSQL Serverを起動および停止
- 19. スケジュールされたexececutorserviceを複数回起動および停止する方法
- 20. AWS EC2インスタンス起動スクリプトでのAWSコマンドライン関数の使用
- 21. AWS EC2インスタンスがトラフィックヒットで起動する
- 22. クラスタ内でhadoopデーモン/プロセスを起動および停止する
- 23. Main()クラスからWildflyサーバーを起動および停止する
- 24. クラスタ上でapache flumeエージェントを起動および停止する
- 25. Azure Automationを使用してサービスファブリックノードを開始および停止する方法
- 26. AWS SDKを使用してec2インスタンスを起動するときにストレージを指定
- 27. Remminaを使用してAWS EC2インスタンスにsshする方法
- 28. 自動開始のスケジュール時間を設定してAWS EC2でインスタンスを停止する方法
- 29. AWS EC2は、起動10分後に動作を停止します。
- 30. AWS CloudwatchアラームEC2インスタンスを停止しません
この便利なコードをありがとうございました。既存のインスタンスを開始することは可能ですか?私はこの情報を見つけることができないようです。 –
@SSHThis try startInstances –
実際には "start_instances"です。http://docs.aws.amazon.com/AWSSDKforPHP/latest/#m=AmazonEC2/start_instances –