一直試圖部署一個自定義AMI *,它具有啓動守護進程和自定義包)我有我的AMI編號/ ID。所以現在做的:通過PHP-SDK在EC2上提供自定義AMI
$result = $ec2Client->runInstances(array(
'ImageId' => $privateID, // This is my private AMI number
'Region' => 'us-west-2', // EDITED
'MinCount' => 1,
'MaxCount' => 1,
'InstanceType' => $InstanceType,
'KeyName' => $keyPairName,
'SourceSecurityGroupName' => $securityGroupName,
'SourceSecurityGroupOwnerId' => $myID,
'UserData' => $serverID //user-data
));
上面說的是AMI不存在,我的猜測是,這是因爲它是私有的(我想保持私營)。我試圖尋找在EC2類,但沒有找到如何使用私人AMI:http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.Ec2.Ec2Client.html
我基於這個博客的這個代碼:https://blogs.aws.amazon.com/php/post/TxMLFLE50WUAMR/Provision-an-Amazon-EC2-Instance-with-PHP
編輯:ERROR:
PHP Fatal error: Uncaught exception 'Aws\Ec2\Exception\Ec2Exception' with message 'Error executing "RunInstances" on "https://ec2.us-east-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://ec2.us-east-1.amazonaws.com` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>InvalidAMIID.NotFound</Code><Message>The image id (truncated...)
InvalidAMIID.NotFound (client): The image id '[ami-b35db1d3]' does not exist - <?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>InvalidAMIID.NotFound</Code><Message>The image id '[ami-b35db1d3]' does not exist</Message></Error></Errors><RequestID>51d03326-47da-422a-ba21-404614fd1c1b</RequestID></Response>'
奇怪的是當我的acocunt設置在區域us-west2(abc)
看到了錯誤,你可以試試我的第二個解決方案嗎? – BMW