AWS(Amazon Web Service)

[AWS] 애플리케이션을 빠르게 인스턴스화하는 방법

yunseohhe 2024. 10. 23. 08:23

Instantiatin Applications quickly

  • 풀 스택(EC2, EBS, RDS)을 실행하면 다음과 같은 작업에 시간이 걸릴 수 있다.
      - 애플리케이션 설치
      - 데이터 삽입 (또는 복구)
      - 모든 구성
      - 애플리케이션 실행
  • 속도를 높이기 위해 클라우드의 장점을 사용할 수 있다.
  • 어떻게 하면 더 빨리 할 수 있을까?!

 

EC2 Instances : Use a Golden AMI

  • EC2 인스턴스에서 Golden AMI를 사용할 수 있다.
      - Golden AMI는 애플리케이션과 OS 종속성 등 모든 것을 사전에 설치하고 그것으로부터 AMI를 생성하는 것이다.
  • 이후로는 EC2 인스턴스들을 Golden AMI로부터 직접 실행하면 된다.
    이렇게 하는 이유는 애플리케이션, OS 종속성 등을 재설치할 필요가 없기 때문이다.
  • 위의 설명이 EC2 인스턴스를 시작하는 가장 빠른 방법이다.
    그래서 Golden AMI는 클라이드에서 아주 흔한 패턴이다.

EC2 Instances : Bootstrap using User Data

  • 위에서는 EC2 사용자 데이터를 어떻게 사용하는지 설명하였고, 이는 인스턴스를 부트스트랩할 수 있게 해준다.
  • 부트스트래핑은 기본적으로 인스턴스가 처음 시작될 때 구성하는 것을 의미한다.
    즉, 애플리케이션, OS 종속성 등을 설치하기 위해 부트스트래핑을 할 수 있다.
  • 다만, 매우 느리다..
    EC2 인스턴스가 다른 인스턴스가 이미 했던 완전히 같은 일을 반복하기를 원하지 않는다.
  • 동적 구성에서 예를 들면 데이터베이스 URL과 비밀번호 등을 가져올 때
    EC2 사용자 데이터를 사용하여 부트스트래핑을 활용할 수 있다.

EC2 Instances : Hybrid

  • 기본적으로 Golden AMI와 EC2 사용자 데이터를 하이브리드 혼합체로 작동하도록 할 수 있다.
  • Elastic Beanstalk은 AMI를 구성하고 사용자 데이터를 추가하는 하이브리드와 동일한 원칙을 적용한다.

 

RDS Databases

  • RDS 데이터베이스를 시작하기까지 매우 긴 시간이 걸리는 대형 삽입 문장을 사용하는 것보다 훨씬 낫다.
  • 데이터를 검색하려고 할 때 더 빠르게 할 수 있는 방법이다.

 

EBS Volumes

  • 스냅샷으로부터 EBS 볼륨을 복구할 수 있어서 포맷되지 않은 빈 디스크는 필요하지 않는다.
  • 스냅샷에서 가져올 수 있고, 스냅샷은 이미 적절히 포맷되어 있으며 필요한 데이터를 가지고 있을 것이다.