khá mới với aws sdk, đang tìm cách bắt đầu. Tôi đã cài đặt các sdk và tất cả mọi thứ nhưng làm thế nào để tôi bắt đầu các trường hợp ec2 bằng cách sử dụng sdk php? Một số mẫu mã thực sự hữu ích.cách bắt đầu và dừng các phiên bản ec2 bằng cách sử dụng php aws sdk
6
A
Trả lời
8
Dưới đây là một ví dụ cơ bản bắt đầu một máy từ một AMI định nghĩa:
$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";
}
này là giả sử bạn có các thông tin thiết lập AWS của bạn đúng cách ... Hy vọng điều này giúp bạn chỉ đi đúng hướng ...
3
Dưới đây là một kịch bản chi tiết hơn nếu bạn quan tâm:
// 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;
Khá nhiều giống như @ dleiftah của, ngoại trừ việc nó ra tên máy của dâu mới về lập trường khi hoàn thành.
Các vấn đề liên quan
- 1. Bắt đầu một bản sao EC2 đã dừng bằng Boto
- 2. Cách bắt đầu với kiểm soát phiên bản và PHP
- 3. Cách lưu tệp phương tiện trên AWS với nhiều phiên bản EC2 trên AWS
- 4. Cách chuyển tệp giữa AWS s3 và AWS ec2
- 5. Truy cập các phiên bản AWS EC2 qua ELB
- 6. Cách kích hoạt các phiên bản EC2 và tải lên/chạy tập lệnh khởi động trên mỗi phiên bản?
- 7. Làm thế nào để bắt đầu/dừng một cronjob bằng cách sử dụng PHP?
- 8. Làm thế nào để có được danh sách các phiên bản EC2 với Amazon PHP SDK 2?
- 9. Bộ nhớ chia sẻ giữa nhiều phiên bản AWS EC2
- 10. Tải tệp bên ngoài lên thùng AWS S3 bằng cách sử dụng PHP SDK
- 11. Không thể tải lên hình ảnh trong các nút bằng cách sử dụng aws-sdk
- 12. Làm thế nào để bắt đầu và dừng một cá thể Amazon EC2 lập trình trong java
- 13. Ping các phiên bản EC2
- 14. sử dụng ScheduledExecutorService để bắt đầu và dừng hẹn giờ
- 15. Không thể đăng nhập vào EC2 (AWS) bằng cách sử dụng Putty
- 16. aws sdk php để liệt kê các thư mục s3
- 17. Đầu ra logstash cho Elasticsearch trên AWS EC2
- 18. Chạy nhiều môi trường trên một phiên bản AWS EC2 (Elastic Beanstalk)
- 19. Bắt đầu và dừng firefox từ C#
- 20. PHP AWS SDK ném chưa biết lỗi
- 21. Cách bắt đầu chủ đề đã dừng
- 22. AWS EC2 FTP/HTML
- 23. Cách sử dụng phiên bản php riêng biệt cho các tệp php khác nhau
- 24. JetS3t và AWS Java SDK
- 25. miền sẽ không giải quyết được aws ec2 - sử dụng tuyến 53 và ip đàn hồi
- 26. Cách truy xuất phiên bản sdk android?
- 27. Bắt đầu CMD bằng cách sử dụng ProcessBuilder
- 28. aws CloudFormation AWS :: EC2 :: Instance BlockDeviceMappings and Volumes
- 29. SDK Nintendo DSi: Bắt đầu
- 30. Kết hợp đăng nhập facebook, sử dụng facebook php-sdk (v.3.0.0), với phiên và cookie
Cảm ơn bạn vì mã hữu ích này. Có thể bắt đầu một cá thể hiện tại không? Tôi dường như không thể tìm thấy thông tin này. –
@SSHThãy thử startInstances –
Thực sự là "start_instances" http://docs.aws.amazon.com/AWSSDKforPHP/latest/#m=AmazonEC2/start_instances –