[AWS] EC2(Elastic Compute Cloud)
EC2(Elastic Compute Cloud)
AWS EC2(Elastic Compute Cloud)는 클라우드에서 컴퓨팅 자원을 제공하는 서비스를 의미한다. 이는 클라우드 환경에서 애플리케이션을 실행하고 관리할 수 있는 가상 서버를 제공하고, 사용자가 필요로 하는 다양한 컴퓨팅 리소스를 유연하게 포함할 수 있다. EC2는 컴퓨팅 뿐만 아니라 네트워크, 보안, 스토리지와 같은 자원을 통합적으로 관리할 수 있는 환경을 제공한다.
⊙ ⊙ ⊙
EC2(Elastic Compute Cloud) 인스턴스
EC2 인스턴스는 EC2 서비스를 통해 생성된 개별 가상 서버를 의미한다. 이는 EC2 플랫폼의 리소스를 활용하여 특정 목적을 수행하기 위한 컴퓨팅 환경으로, 사용자는 자신이 필요로 하는 인스턴스를 생성하고 설정하여 다양한 워크로드를 처리할 수 있다.
가령, 웹사이트를 운영하기 위해 서버가 필요하다면, EC2를 통해 몇 번의 클릭으로 서버를 생성하고, 웹 애플리케이션을 배포할 수 있다. 이후 필요하면 더 많은 서버를 추가하거나, 사용량이 줄어들면 서버를 줄일 수도 있다.
정리하면 EC2는 사용자에게 가상화된 컴퓨팅 환경을 제공하여, 서버를 직접 관리하는 부담을 덜어주고, 필요한 만큼만 유연하게 사용하는 클라우드 컴퓨팅 서비스의 핵심이라 할 수 있다.
EC2 인스턴스의 주요 구성 요소:
- 컴퓨팅: 다양한 유형의 CPU와 메모리 조합으로 제공.
- 스토리지: EBS 또는 인스턴스 스토리지를 통해 데이터 저장.
- 네트워크: 퍼블릭/프라이빗 IP를 통해 네트워크 트래픽 관리.
- 보안: IAM 역할 및 보안 그룹 설정을 통해 인스턴스 접근 제어.
⊙ ⊙ ⊙
저장 방식
EC2 인스턴스는 저장 방식을 기준으로 두 가지로 나뉜다:
- EBS (Elastic Block Store): 네트워크를 통해 연결된 외부 하드디스크와 비슷한 역할을 한다.
- 인스턴스 스토리지: 인스턴스 내부에서 데이터를 직접 저장하는 방식이다. 워크로드와 요구사항에 따라 적합한 저장 방식을 선택할 수 있다.
가용영역
EC2 인스턴스는 특정 가용영역 내에서만 작동하며, 여러 가용영역에 걸친 배치는 불가능하다. 설계 시 이를 반드시 고려해야 한다.
다양한 인스턴스 유형과 예시
AWS는 사용 목적에 따라 최적화된 다양한 유형의 인스턴스를 제공하며, 인스턴스 유형에 따라 인스턴스에 사용할 수 있는 하드웨어가 결정된다. 또한 인스턴스 유형마다 적합한 컴퓨팅, 메모리, 네트워크 및 스토리지 리소스를 조합하여 제공한다. 각 유형은 고유한 사용 사례와 특징을 가지고 있으며, 실제 AWS에서 표시되는 이름 형식을 포함하여 설명하면 다음과 같다:
- 일반적인 용도(M 유형):
- 예시:
m5.large
,m6i.xlarge
- 설명: 웹 애플리케이션 서버나 중간 크기의 데이터베이스와 같은 다목적 워크로드에 적합하다.
- 일반적인 운영 서비스에서도 무리없이 사용할 수 있는 유형이다.
- 예시:
- 테스트 및 소규모 워크로드(T 유형):
- 예시:
t3.micro
,t4g.nano
- 설명: 소규모 개발 환경 또는 간단한 테스트 용도로 적합하며, 비용 효율적이다.
- 예시:
- 컴퓨팅 집약적인 작업(C 유형):
- 예시:
c5.2xlarge
,c6g.large
- 설명: 과학적 계산, 고성능 웹 서버 등 CPU 사용이 많은 워크로드에 최적화되어 있다.
- 예시:
- 메모리 중심의 워크로드(R 유형):
- 예시:
r5.large
,r6g.xlarge
- 설명: 대규모 데이터베이스나 인메모리 캐싱 등 메모리 집약적인 애플리케이션에 적합하다.
- 예시:
- GPU 기반 작업(G 유형):
- 예시:
g4dn.xlarge
,g5.8xlarge
- 설명: 머신러닝, 그래픽 렌더링 등 GPU가 필요한 작업에 활용된다.
- 예시:
인스턴스 유형 읽는 방법
인스턴스 유형 읽는 방법
AWS EC2 인스턴스 유형은 인스턴스 패밀리, 세대, 크기, 그리고 선택적인 추가 접미사로 구성됩니다. 이를 통해 특정 인스턴스의 역할과 성능 특성을 이해할 수 있습니다.
구성 요소
- 인스턴스 패밀리:
- 인스턴스의 주요 용도를 나타냅니다.
- 예:
t
(테스트 및 소규모 워크로드),m
(범용),c
(컴퓨팅 최적화),r
(메모리 최적화),g
(GPU 사용).
- 세대:
- 인스턴스의 기술적 발전 수준을 나타내며, 숫자가 높을수록 최신 세대입니다.
- 예:
t2
는 2세대,t3
는 3세대.
- 크기:
- 인스턴스의 리소스 크기를 나타냅니다.
- 예:
micro
,small
,large
,xlarge
,2xlarge
등.
- 접미사(선택적):
- 추가적인 특성을 나타냅니다.
- 예:
g
(Graviton 프로세서),n
(네트워크 최적화).
예시 분석
t3.micro
:- t: 테스트 및 소규모 워크로드.
- 3: 3세대.
- micro: 소규모 리소스 (vCPU 2개, 메모리 1GB).
m5.large
:- m: 범용 인스턴스.
- 5: 5세대.
- large: 중간 크기 리소스 (vCPU 2개, 메모리 8GB).
c6g.xlarge
:- c: 컴퓨팅 최적화.
- 6: 6세대.
- g: Graviton 프로세서 사용.
- xlarge: 큰 크기 리소스 (vCPU 4개, 메모리 8GB).
인스턴스 유형 확인 방법
AWS에서 인스턴스 유형 확인 방법
AWS 콘솔 및 명령줄 도구를 통해 현재 사용 가능한 인스턴스 유형과 세부 정보를 확인할 수 있습니다.
AWS 관리 콘솔을 통한 확인
- AWS 콘솔 로그인: AWS Management Console에 로그인합니다.
- EC2 서비스로 이동: EC2 대시보드로 이동합니다.
- 인스턴스 유형 메뉴: 왼쪽 메뉴에서 “인스턴스 유형”을 클릭합니다.
- 세부 정보 확인:
- 현재 리전에서 사용 가능한 모든 인스턴스 유형이 표시됩니다.
- CPU, 메모리, 네트워크 성능, 가격 등을 확인할 수 있습니다.
AWS CLI를 통한 확인
명령줄을 사용해 인스턴스 유형 목록을 조회할 수 있습니다.
aws ec2 describe-instance-types --region <리전 이름>
- 이 명령은 지정된 리전에서 사용 가능한 인스턴스 유형에 대한 상세 정보를 반환합니다.
- 출력에는 vCPU, 메모리, 스토리지, 네트워크 성능 등이 포함됩니다.
AWS 문서를 통한 확인
AWS는 공식 문서를 통해 인스턴스 유형별 세부 정보와 비교표를 제공합니다. 최신 정보를 확인하려면 AWS EC2 인스턴스 유형 페이지를 참고하세요.
인스턴스 크기
인스턴스 크기는 동일한 패밀리 내에서도 다양하며, 크기에 따라 제공되는 성능과 가격이 달라진다. 예시와 함께 각 크기의 특징은 다음과 같다:
- T3.micro:
- vCPU: 2개, 메모리: 1GB, 가격: 매우 저렴.
- 적합한 사용 사례: 소규모 테스트 환경.
- T3.large:
- vCPU: 2개, 메모리: 8GB, 가격: 중간 수준.
- 적합한 사용 사례: 작은 웹 애플리케이션.
- M5.large:
- vCPU: 2개, 메모리: 8GB, 가격: 중간 수준.
- 적합한 사용 사례: 일반적인 워크로드.
- C5.2xlarge:
- vCPU: 8개, 메모리: 16GB, 가격: 높음.
- 적합한 사용 사례: 고성능 컴퓨팅 작업.
⊙ ⊙ ⊙
인스턴스 정보 예시
다음은 실제 EC2 인스턴스의 정보에 대한 상세 예시다.
- 인스턴스 ID: 인스턴스를 식별하는 고유 값
i-0b2fbe1590d4268b2
- 인스턴스 유형: 소규모 워크로드를 처리할 수 있는 유형
t2.micro
- 퍼블릭 IPv4 주소: 외부에서 접근 가능한 IP 주소
3.34.224.70
- 프라이빗 IPv4 주소: 내부 네트워크에서 사용하는 IP 주소
172.31.41.69
- 퍼블릭 IPv4 DNS: 퍼블릭 IP에 대한 DNS 이름
ec2-3-34-224-70.ap-northeast-2.compute.amazonaws.com
- 프라이빗 DNS 이름: 프라이빗 IP에 대한 내부 DNS 이름
ip-172-31-41-69.ap-northeast-2.compute.internal
- 상태: 현재 인스턴스의 상태
실행 중
- VPC ID: 인스턴스가 연결된 가상 네트워크
vpc-0b7c4eaadff90d53d
- 서브넷 ID: 인스턴스가 위치한 서브넷 정보
subnet-0601cbadad98b3d92
- 인스턴스 역할: 인스턴스가 사용하는 IAM 역할
ECSInstanceRole
- 탄력적 IP 주소: 지속적으로 동일하게 유지되는 퍼블릭 IP
3.34.224.70
- AMI ID : 인스턴스 생성 시 선택한 AMI의 ID(운영 체제, 스토리지 등 기본 리소스 포함된 이미지)
ami-024ea438ab0376a47
- AMI 이름: 인스턴스 생성 시 선택한 AMI의 이름(운영 체제, 스토리지 등 기본 리소스 포함된 이미지지)
ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-20250115
- AWS 리전:
ap-northeast-2
인스턴스가 위치한 지리적 리전 - 인스턴스 ARN: 인스턴스를 나타내는 AWS 리소스 이름
arn:aws:ec2:ap-northeast-2:340752804256:instance/i-0b2fbe1590d4268b2
- IMDSv2: 메타데이터 접근 시 보안 강화를 위한 설정
Required
댓글남기기