1
작곡가가 설치되어 있고 ec2 클라이언트를 설치해야한다고 가정합니다.AWS에서 인스턴스 수를 계산하는 방법 PHP SDK2
작곡가가 설치되어 있고 ec2 클라이언트를 설치해야한다고 가정합니다.AWS에서 인스턴스 수를 계산하는 방법 PHP SDK2
Composer를 사용하여 권장되는 방법으로 SDK를 설정한다고 가정합니다. 먼저 aws_setup
을 호출 한 다음 보안 자격 증명을 사용하여 ec2 클라이언트 개체를 만듭니다. 작곡가가 호출되었으므로 필요한 라이브러리가 자동으로로드됩니다.
그런 다음 DescribeInstances를 사용하여 실행중인 인스턴스를 모두 가져옵니다.
countInstances 함수를 패키지화하여 재사용 할 수 있도록했습니다. 배열에 으로 DescribeInstances를 호출하여 끝에 게시 된 결과를 필터링 할 수 있습니다.
설정은 다음과 같이
require('/PATH/TO/MY/COMPOSER/vendor/autoload.php');
function aws_setup()
{
$conf_aws = array();
$conf_aws['key'] = 'MYKEY';
$conf_aws['secret'] = 'MYSECRET';
$conf_aws['region'] = 'us-east-1';
return $conf_aws;
}
function countInstances($list)
{
$count = 0;
foreach($list['Reservations'] as $instances)
{
foreach($instances['Instances'] as $instance)
{
$count++;
}
}
return $count;
}
$config = aws_setup();
$ec2Client = \Aws\Ec2\Ec2Client::factory($config);
$list = $ec2Client->DescribeInstances();
echo "Number of running instances: " . countInstances($list);
당신이 당신의 결과를 필터링하려면
가 DescribeInstances에 매개 변수로이 같은 시도 :array('Filters' => array(array('Name' => 'tag-value', 'Values' => array('MY_INSTANCE_TAG'))));
코드는 오류없이 실행,하지만 난 적응했다 여기에 게시하십시오.
EDIT : countInstances 함수에 인스턴스 목록을 추가했습니다. 그렇지 않으면 보이지 않을 것입니다.
왜 당신이 질문을 게시하고 직접 대답합니까? –
@ 무언가 "맑은 결정을 위해서, 당신이 묻는 질문에 대답하는 것만이 아니며, 분명히 권장됩니다." [stackoverflow.com] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) –