[AWS] LB AWS S3 , AMI , VPC 실습 2편

Commit·2025년 3월 13일
0

[8] AWS

목록 보기
2/8

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 버킷생성완료

profile
helloworld

0개의 댓글