Amazon EC2는 AWS에서 제공하는 elastic한 컴퓨팅 클라우드 서비스로, 사용자가 필요에 따라 컴퓨팅 리소스를 빌려 사용할 수 있게 합니다.
주요 기능은 다음과 같습니다.
EC2 인스턴스: AWS에서 빌린 가상 서버입니다. 사용자는 필요에 맞게 여러 종류의 인스턴스 중에서 선택할 수 있습니다.
EBS 볼륨: EC2 인스턴스에 부착되어 데이터를 영구적으로 저장할 수 있는 가상 드라이브입니다.
ELB: 여러 EC2 인스턴스에 걸쳐 네트워크 트래픽을 자동으로 분산시켜 줍니다.
자동 스케일링 그룹(ASG): 애플리케이션의 수요에 따라 EC2 인스턴스의 수를 자동으로 조정합니다.
EBS 볼륨/ELB는 다음 포스팅에 집중적으로 다루어 볼 것입니다.
주의사항
인스턴스를 중지했다가 재개하면 Public IPv4 주소가 바뀌는걸 볼 수 있습니다.
AWS EC2는 다양한 최적화 요구에 맞춘 여러 인스턴스 타입을 제공합니다. EC2 인스턴스는 크게 General Purpose, 계산 최적화, 메모리 최적화, 저장소 최적화 등의 카테고리로 나뉘며, 각각 다른 성능 및 가격대를 가지고 있습니다.
웹 서버, 코드 리포지토리와 같이 다양한 작업에 적합합니다. 계산, 메모리, 네트워킹 사이의 균형이 잘 맞춰져 있습니다. 예를 들어, 무료 계층인 T2 마이크로가 이에 해당합니다.
높은 수준의 프로세서가 필요한 계산 집약적 작업에 최적화되어 있습니다. 예를 들어, 배치 처리, 미디어 트랜스코딩, 고성능 웹 서버, 머신 러닝, 게임 서버 등의 작업에 적합합니다.
메모리 집약적 작업에 최적화되어 있어, 빠른 성능을 필요로 하는 메모리에서 데이터 세팅을 처리하는 작업에 적합합니다.
로컬 저장소에 있는 많은 데이터 세트에 빠르게 접근할 때 유용하며, 고주파 온라인 거래 처리(OLTP), NoSQL 데이터베이스 등에 적합합니다.
⚠️
인스턴스 타입을 선택할 때는 명명 규칙을 이해하는 것이 중요해요. 예를 들어, m5.2xlarge에서 m은 인스턴스 클래스를, 5는 세대를, 2xlarge는 크기를 나타냅니다. 이렇게 각 인스턴스는 CPU, 메모리, 저장 공간, 네트워크 성능 등에서 다른 사양을 가지고 있습니다.
AWS 웹사이트나 다른 참조 사이트에서 EC2 인스턴스 타입과 비용, 성능 특성을 비교하며, 자신의 필요와 예산에 맞는 최적의 인스턴스를 선택할 수 있습니다. AWS의 다양한 인스턴스 옵션을 통해 사용자는 필요에 따라 컴퓨팅 리소스를 유연하게 확장하고 관리할 수 있습니다.
Security group은 위와 같이 트래픽을 허용할지 안할지 정하는 역할을 합니다.
EC2 인스턴스의 firewall이라고 생각하면 더욱 쉽겠네요.
ip주소를보고 인바운드 네트워크와 아웃바운드 네트워크 모두 제어합니다.
Region과 VPC의 combination으로 Locked down되어 있기 때문에 다른 지역으로 이행하려면 Security Group을 새로만들거나 다른 VPC를 만들어야 합니다.
SSH 접근에 대한 보안그룹은 따로 분리하는걸 추천하네요.
IP에 상관없이 올바른 보안그룹이 부착 되어 있기 때문에 다른 인스턴스로 직접 통신 할 수 있는 상황
타임아웃이 나면 100% EC2 security group이 원인이라고 합니다. HTTP를 허용안하고 url로 접근을 시도했을 때 무한로딩이 생겼었죠.
SSH=22 (log in to a Linux instance)
HTTP=80
HTTPS=443
RDP=3389 ( for window instance)
포트번호 4개만 기억합시다.
온디맨드 인스턴스: 사용한 만큼만 비용을 지불하는 가장 유연한 옵션입니다. 단기간 사용하거나 예측 불가능한 워크로드에 적합합니다.
예약 인스턴스: 1년 또는 3년 약정으로 큰 할인을 받을 수 있습니다. 장기간 동안 안정적으로 사용할 인스턴스가 있다면 좋은 선택입니다.
절약 플랜: 1년 또는 3년 동안 특정 금액을 지출하기로 약정하고, 인스턴스 유형이나 크기, 운영 체제 등을 유연하게 변경할 수 있습니다.
스팟 인스턴스: 온디맨드 가격 대비 최대 90% 할인을 제공하지만, AWS가 필요할 때 언제든지 회수할 수 있습니다. 실패에 대해 회복력이 있는 워크로드에 적합합니다. (남는 방에 기생하다가 방 뺴야함)
전용 호스트: 물리적 서버 전체를 예약하여 사용합니다. 특정 컴플라이언스 요구 사항이 있거나, 기존 서버 바운드 소프트웨어 라이선스를 사용해야 하는 경우에 유용합니다.
용량 예약: 특정 가용 영역(AZ)에서 인스턴스를 언제든지 사용할 수 있도록 용량을 예약합니다. 할인은 제공되지 않으며, 온디맨드 요금이 청구됩니다.