클라우드 배포하기(1) - AWS란 무엇인가/EC2 생성/Elastic IP 설정

2024. 9. 4. 15:03웹 개발/프로젝트

AWS(Amazon Web Services)

  • AWS는 Amazon Web Services의 약자로, 아마존에서 제공하는 클라우드 컴퓨팅 서비스입니다.
  • AWS는 전 세계적으로 많은 기업과 개발자가 사용하며, 다양한 IT 자원을 클라우드 형태로 제공해 기업들이 자체 서버나 데이터 센터를 구축할 필요 없이 필요한 컴퓨팅 자원을 손쉽게 사용할 수 있게 해 줍니다.
  • 클라우드 서비스의 가장 큰 장점은 필요한 만큼만 사용하고, 사용한 만큼만 비용을 지불할 수 있다는 것입니다.

 

AWS가 제공하는 서비스
  • 컴퓨팅 파워 (Computing Power): 서버, 스토리지, 네트워크와 같은 자원을 제공하는 서비스
  • 스토리지 (Storage): 데이터를 저장하고 관리하는 다양한 스토리지 옵션을 제공
  • 데이터베이스 (Database): 관계형 데이터베이스와 NoSQL 데이터베이스를 포함한 다양한 데이터베이스 서비스를 제공
  • 그 외에도 AI/ML, 데이터 분석, 보안, IoT, DevOps 

EC2(Elastic Compute Cloud)

  • Amazon EC2는 AWS(Amazon Web Services)의 IaaS(Infrastructure as a Service) 형태의 컴퓨팅 서비스
  • EC2는 사용자가 필요한 만큼의 가상 서버(인스턴스)를 생성하여 필요에 따라 컴퓨팅 자원을 유연하게 사용할 수 있게 해 주는 서비스

EC2 인스턴스

 

EC2 인스턴스는 가상화된 서버로, 사용자가 선택한 CPU, 메모리, 스토리지, 네트워크 자원으로 구성됩니다.  실제 물리 서버는 AWS의 데이터 센터에 위치해 있으며, 사용자는 이를 원격으로 제어하고 사용할 수 있습니다.

  • 인스턴스 유형
    • EC2는 다양한 용도에 맞춘 여러 유형의 인스턴스를 제공하며 각 유형은 특정 애플리케이션의 요구 사항을 충족할 수 있도록 CPU, 메모리, 네트워크 성능 등의 조합이 다름
      • 일반 용도 (General Purpose): 균형 잡힌 CPU와 메모리 성능을 제공하며, 다양한 워크로드에 적합 (예: T, M 계열 인스턴스)
      • 컴퓨팅 최적화 (Compute Optimized): CPU 성능이 중요한 작업에 적합 (예: C 계열 인스턴스)
      • 메모리 최적화 (Memory Optimized): 대용량 메모리가 필요한 데이터베이스 및 분석 애플리케이션에 적합 (예: R, X 계열 인스턴스)
      • 스토리지 최적화 (Storage Optimized): 고성능 스토리지가 필요한 애플리케이션에 적합 (예: I 계열 인스턴스)
      • GPU 인스턴스: 머신러닝, 그래픽 처리 같은 고성능 계산이 필요한 작업에 적합 (예: P, G 계열 인스턴스)

인스턴스 시작과 종료

 

  • 온디맨드(On-Demand) 인스턴스
    • 필요한 만큼의 인스턴스를 즉시 시작하고, 사용한 만큼만 요금을 지불합니다.
    • 이는 예측이 어려운 일시적인 워크로드에 적합합니다.
  • 스팟(Spot) 인스턴스
    • AWS에서 미사용된 컴퓨팅 자원을 활용할 수 있으며, 온디맨드 인스턴스보다 훨씬 저렴한 가격에 사용 가능합니다.
    • 단, AWS에서 자원이 필요해지면 인스턴스가 중단될 수 있는 단점이 있습니다.
  • 예약 인스턴스
    • 장기적인 용도로 일정한 자원 사용이 예상되는 경우, EC2 인스턴스를 예약하여 일정 기간 동안 할인을 받을 수 있습니다.
  • 전용 호스트 (Dedicated Host)
    • 물리적 서버 하나를 완전히 전용으로 사용할 수 있으며, 규제가 엄격한 환경에서 유용합니다.

Elastic IP(탄력적 IP)

 

  • Elastic IP는 고정된 공인 IP 주소로, EC2 인스턴스가 중단되거나 다시 시작되더라도 변경되지 않고 계속 사용할 수 있는 IP 주소
  • 서버 재배포나 인스턴스 종료 후 다시 시작할 때도 같은 IP로 접근을 유지할 수 있어 중요한 서버에는 Elastic IP를 주로 사용

AWS 프리 티어 - 무료 가입 시 사용할 수 있는 부분에 대한 가이드 제공

 

https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

 

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

이러한 프리 티어 혜택은 AWS 신규 고객에게만 제공되며 AWS 가입일로부터 12개월 동안 유효합니다. 12개월의 무료 사용 기간이 만료되거나 애플리케이션 사용량이 프리 티어 범위를 초과할 경우

aws.amazon.com

 

  • 내가 사용할 것은 Amazon EC2


1. AWS EC2 인스턴스 생성

region 설정 - 서울

 

 

인스턴스 시작
  • 서비스 - EC2 - 인스턴스 시작 클릭

 

AMI 선택
  • EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔 것
  • Amazon Linus 2 AMI 클릭

인스턴스 유형 선택
  • t2.micro 유형 클릭

태그 추가
  • 해당 인스턴스를 표현하는 여러 이름으로 사용
  • EC2에 이름을 붙이는 것

키 페어 생성
  • 키 페어를 통해서 EC2 터미널로 접근이 가능
  • 키 페어가 없다면, 새 키 페어 생성 클릭
  • 생성 후 파일이 다운로드 되며, 재다운이 불가능하기 때문에 안전한 곳에 저장 필요
    • 절대 생성된 pem 키가 깃허브 등에 노출되면 안됨

네트워크 설정

  • 보안 그룹은 방화벽을 의미
  • 다음에서 SSH 트래픽 허용
    • SSH 트래픽 : AWS EC2에 터미널로 접속할 때를 의미 
    • EC2 터미널로 접근하기 위해서틑 키 페어가 필요함
    • 내 IP로만 접근이 가능하도록 설정

 

스토리지 선택

 

  • 프리티어 버전이 지원하는 최대인 30으로 설정

 

인스턴스 시작(생성)

 

 


2. 고정 IP(Elastic IP) 설정

  • 인스턴스를 재시작하게 되면 계속해서 IP가 변경되기 때문에, 고정 IP를 할당받아서 사용
탄력적 IP 메뉴 접근 (서비스 - 네트워크 및 보안 - 탄력적 IP 클릭)

 

 

탄력적 IP 주소 선택 및 연결
  • 작업 - 탄력적 IP 주소 연결 클릭

  • 인스턴스 선택 및 연결

 

인스턴스 정보 확인
  • 인스턴스 정보를 다시 한 번 확인해 보면, 탄력적 IP가 할당된 것을 볼 수 있다.

 

[주의] Elastic IP 과금 문제
- Elastic IP를 만들어 두고 사용하지 않거나 EC2에 할당하지 않으면 과금이 발생함
- 즉, 낭비되는 IP의 발생을 막기 위해서 과금이 발생
-> 따라서, 실행 중인 EC2에 할당하거나, Elastic IP를 삭제해야 함