AWS 인스턴스 / VPC / LB / AMI /보안그룹 설정 실습 노션
생각보다 로드밸런싱이 2개로 원활하게 되지 않았다. 그래서 SG, 서브넷 무한 생성끝에 드디어 로드밸런스 성공

<?php
echo "<table>";
echo "<tr><th>Meta-Data</th><th>Value</th></tr>";
# The URL root is the AWS meta data service URL where metadata
# requests regarding the running instance can be made
$urlRoot = "http://169.254.169.254/latest/meta-data/";
# 1. 먼저 토큰을 생성합니다
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://169.254.169.254/latest/api/token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-aws-ec2-metadata-token-ttl-seconds: 21600" // 토큰 유효시간 설정 (6시간)
));
$token = curl_exec($ch);
curl_close($ch);
# 2. 토큰을 사용하여 InstanceId 가져오기
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlRoot . "instance-id");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-aws-ec2-metadata-token: $token"
));
$instanceId = curl_exec($ch);
curl_close($ch);
# 3. 토큰을 사용하여 Availability Zone 가져오기
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlRoot . "placement/availability-zone");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-aws-ec2-metadata-token: $token"
));
$availabilityZone = curl_exec($ch);
curl_close($ch);
# 4. 결과 출력
echo "<tr><td>InstanceId</td><td><i>" . $instanceId . "</i></td><tr>";
echo "<tr><td>Availability Zone</td><td><i>" . $availabilityZone . "</i></td><tr>";
echo "</table>";
?>
AWS S3 버킷생성완료