[AWS] 어플리케이션 로드밸런서 PHP SDK
AWS에서 제공하는 로드밸런스는 한가지가 아닙니다. 그리고 그에 따른 SDK도 다릅니다.
아래는 가장 많이 사용한다고 볼 수 있는 어플리케이션 로드밸런스의 PHP SDK 사용에 대한 간단한 예 입니다.
require 'vendor/autoload.php';
use Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client;
$client = new ElasticLoadBalancingV2Client([
'version' => 'latest',
'region' => '<region name>',
'profile' => '<profile in your aws credentials file>'
]);
// 여기에 로드 밸런서의 이름을 입력하세요.
$result = $client->describeLoadBalancers([
'Names' => ['my-load-balancer']
]);
print_r($result);
use Aws\ElasticLoadBalancingV2\ElasticLoadBalancingV2Client;
require __DIR__ . '/aws-autoloader.php';
$aAwsConfig = [
'region' => 'ap-northeast-2',
'version' => 'latest',
'credentials' => [
'key' => '본인 aws_access_key_id',
'secret' => '본인 aws_secret_access_key',
]
];
$oElbClient = new ElasticLoadBalancingV2Client($aAwsConfig);
$oAwsResult = $oElbClient->describeLoadBalancers([ 'Names' => ['elbtest2'] ]);
print_r($oAwsResult);
* AWS에 있는 로드밸런서 유성은 다음과 같습니다.
- Classic Load Balancer
- Application Load Balancer
- Network Load Balancer
이 문제는 여러 가지 원인으로 인해 발생할 수 있지만 아래의 가능성을 확인 체크
1.오타 또는 대소문자 오류
로드 밸런서 이름은 대소문자를 구분합니다. 따라서 정확한 이름을 사용했는지 다시 한 번 확인해 보세요. 그런 경우 있습니다. 중간에 글자 2개 들어가는 경우 1개만 사용해서 오타에 의한 문제가 발생한 적이 있다.
2. 로드 밸런서 유형
AWS에는 Classic Load Balancer와 Application Load Balancer, Network Load Balancer 등 여러 유형의 로드 밸런서가 있습니다.
3. 리전 설정
'region' 설정이 실제 로드밸랜서가 위치한 리전과 일치하는지 확인
4. 권한 문제
이 작업을 수행하는 IAM 사용자/롤에 ELB를 읽어오는 권한이 있는지 체크
5. SDK 버전 문제
혹시 너무 오래된 버전의 SDK를 사용하고 있다면 최신 버전으로 업데이트
관련링크