인프라

Custom AMI를 통한 Public EC2 인스턴스 생성

김도리개발자 2023. 2. 12. 14:46

나만의 머신 이미지를 만들고 Custom AMI를 사용하여 EC2 인스턴스를 생성해보기

 

  • 머신 이미지 만들기

인스턴스 들어가서 public-ec2-a1에 우클릭하기
이미지 및 템플릿의 이미지 생성 클릭
이미지 이름, 설명, 재부팅 안 함, 태그 값을 입력하고 우측 하단의 이미지 생성 버튼 클릭

  • 재부팅 안함 : 이미지가 생성되는 과정에서 EC2 인스턴스가 재부팅 되지 않도록 하는 옵션

이미지 생성 완료

 

  • 생성된 Custom AMI로 새로운 AZ(Availability Zone, 가용성 영역) c에 EC2 인스턴스 만들기
    • AZ : 지역마다 존재하는 데이터센터라고 보면 됨 (서울에는 4개 존재)

인스턴스로 돌아가기
이름 입력 후 내 AMI에서 내가 만들었던 머신 이미지 선택
키페어와 네트워크 설정들은 public-ec2-a1과 동일하게 입력하고, 서브넷은 public-subnet-c1 선택
public-ec2-a1과 동일한 값들로 입력
이전 인스턴스 생성할때와는 다르게 별도로 입력하지 않음

  • public-ec2-a1을 만들 때에는 유저데이터를 추가하여 인스턴스를 생성하는 과정에서 LAMP 웹서버 구성에 필요한 주요 패키지들을 설치했었는데 해당 패키지들이 이미 설치된 인스턴스의 이미지로 만든 AMI를 사용하기 때문에 별도로 설치 및 설정하지 않아도 됨

생성 버튼 클릭하기

 

  • Elastic IP 생성하여 public-ec2-c1에 할당하기

탄력적 IP 주소 할당 버튼 클릭
설정 그대로와 태그 입력하여 할당 버튼 클릭
생성된 탄력적 IP 주소 선택 후 우측의 작업 메뉴에서 연결 버튼 클릭
인스턴스 아까 만든 public-ec2-c1으로 선택하여 연결 버튼 클릭
확인해보니 ip주소 잘 연결되어 있음

 

  • 연결된 IP 주소로 접근

public-ec2-c1에 이미 LAMP가 설치되어 있고, public-ec2-a1에서 생성했던 index.php도 이미 public-ec2-c1에 생성되어 있음

  • LAMP가 설치되어 있고, index.php 파일이 생성되어 있는 인스턴스인 public-ec2-a1의 이미지로 만들어진 AMI를 선택하여 인스턴스를 생성하면 동일한 상태로 인스턴스가 생성되게 된다.

 

  • 스냅샷 확인해보기

AMI 메뉴로 가보기
스토리지 탭으로 이동

  • AMI의 스냅샷 ID : snap-075c5199d7965d0b7

인스턴스의 스토리지 정보로 가보기
인스턴스가 생성될 때 생성된 EBS 볼륨 클릭해보기

  • public-ec2-c1의 스냅샷 ID : snap-075c5199d7965d0b7
  • public-ec2-c1에 마운트 되어있는 EBS 볼륨의 세부 정보를 보면 스냅샷 ID가 위의 AMI의 스냅샷 ID와 같다.
  • 소프트웨어 패키지들이 설치된 상태로, 마운트 되어있는 EBS 볼륨의 정보들이 스냅샷 형태로 AMI에 저장되어 있다.

 

  • 이 스냅샷 ID는 public-ec2-a1의 EBS 정보를 담고 있는 스냅샷이기 때문에 이 스냅샷을 사용하여 생성된 public-ec2-c1의 EBS에도 동일한 정보가 담기게 되는 것이고, 마찬가지로 index.php도 자동으로 생성되어 있는 것이다.
  • 따라서 public-ec2-a1을 기반으로 생성된 Custom AMI로 만든 public-ec2-c1는 public-ec2-a1와 동일한 디렉토리에 동일한 파일이 존재하여 동일한 페이지가 열리게 된다.

 

  • Cyberduck으로 서버에 접근하여 디렉토리 아래에 index.php가 들어가 있는지 직접 확인해보기

서버 정보들을 입력하고, 키 선택하여 접속하기
/var/www/html 디렉토리 아래에 index.php 잘 있는지 확인완료!

 

인프런 강의를 들으며 작성한 내용입니다.

https://www.inflearn.com/course/aws-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%9D%B8%ED%94%84%EB%9D%BC-%EA%B8%B0%EB%B3%B8/unit/111939?tab=curriculum 

 

학습 페이지

 

www.inflearn.com