- AWS 서비스는 전용 자격증이 있을 정도로 굉장히 다양하고 복잡합니다. 이를 모두 다 알 필요는 없겠지만 어떤 서비스를 사용하고자 할 때 관련된 다른 서비스들을 설정해야 하는 경우가 많습니다. 예를 들어, 가장 흔하게 쓰는 EC2를 생성할 때 EBS, AMI, Security Group, 서브넷 등등을 설정해야 합니다. '클라우드'라는 개념도 낯선데 거기에 이런 온갖 낯선 단어들 때문에 더더욱 AWS가 어렵게 느껴졌습니다. 그래서 이번 글을 통해 가장 많이 사용되는 기본적인 서비스 위주로 정리해보려 합니다.
- 대부분의 정보는 https://www.youtube.com/c/AAAWS 영상을 베이스로 하고 추가적인 설명을 덧붙였습니다. AWS 강의실은 굉장히 이해하기 쉽게 알려주셔서 추천 하는 채널입니다. 😀
EC2 [ Elastic Compute Cloud ]
- 가장 흔하게 쓰이는 AWS 서비스로 클라우드 상에 컴퓨터를 빌려서 사용하는 서비스 입니다. Elasti(=탄력적)이라는 단어에도 알맞게 cpu, 메모리 사양을 확장/축소할 수 있으며 사용 시간별로 요금이 과금됩니다.
- 가격 정책
- On-Demand : 실행 시간에 따라 가격 지불
- Spot-Instance : 경매 형식으로 시장에 남는 인스턴스를 저렴하게 사용 가능하다. 단 언제 반납해야할지 알 수 없다 보통 빅데이터 분석할 때 많이 씀
- Reserved Instance-RI : 미리 일정 기간 약정해서 쓰는 방식
- Dedicated : 실제 물리적인 서버를 임대
EBS [ Elastic Block Store ]
- 하드디스크와 비슷한 기능을 합니다. 인스턴스 중지/종료 시에도 데이터를 보존해주며 스냅샷을 통해 쉽게 백업할 수 있습니다.
- Instance Storage와 비교
- EBS Based: 반 영구적인 파일 저장 가능, 따로 분리되어 네트워크로 연결되어 있다
- snapshot 가능
- 인스턴스 업그레이드 가능
- stop 가능
- Instance Storage : 휘발성이나 빠르다
- 빠르지만 저장이 필요 없는 경우
- stop 불가능
- EBS Based: 반 영구적인 파일 저장 가능, 따로 분리되어 네트워크로 연결되어 있다
AMI [ Amazon Machine Image ]
- 인스턴스를 생성하는 데 필요한 운영체제, 애플리케이션 서버 등으로 구성된 템플릿입니다. 사용자도 사용 중인 인스턴스를 AMI로 등록해 사용할 수 있습니다
Security Group
- 인스턴스에 대한 인바운드, 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다. 트래픽이 지나갈 수 있는 port와 source를 설정 가능하고 stateful 하기 때문에 inbounded로 들어온 트래픽이 별 다른 outbound 설정 없이 나갈 수 있습니다
ELB [ Elastic Load Balancing ]
- 들어오는 애플리케이션 트래픽을 여러 대상에 자동으로 분산시켜 특정한 서버에 부하가 가해지는 것을 막습니다
- 직접 트래픽을 발생시켜 Instance의 InService/OutOfService 상태를 계속 체크합니다. ( = Health Check)
- 기본 구성
- Listener : 서비스 포트로 접속하는 외부의 요청을 받아 드린다
- Target Group : 요청을 분산/전달할 리소스의 집합, 리소스는 리스너에 지정된 서비스 포트가 열려 있어야 한다
- 종류
- ALB [ Application ]
- OSI 모델에서 Application 레이어에서 작동함 (L7)
- 대상을 대상 그룹에 등록하고 대상 그룹에 트래픽을 라우팅한다
- 단순 부하분산뿐만 아니라 HTTP, HTTPS의 헤더 정보를 이용한 부하 분산도 다루는 로드밸런서이다. 헤더 정보를 통에 어느 대상 그룹으로 낼지 판단할 수 있다
- NLB [ Network ]
- OSI 모델에서 Network 레이어에서 작동함 (L4)
- 대상을 대상 그룹에 등록하고 대상 그룹에 트래픽을 라우팅한다
- TCP/UDP 요청을 받아 부하 분산을 처리한다.
- ALB보다 하위 레이어이기 때문에 HTTP헤더를 이용한 부하 분산은 불가능하다
- CLB [ Classice ]
- 로드밸런서에 인스턴스를 등록하고 라우팅한다
- 예전에 많이 사용하던 방식으로, 현재는 AWS측에서도 사용을 추천하고 있지 않다
- ALB [ Application ]
Auto Scaling
- 애플리케이션을 모니터링하고 용량을 자동으로 조정하여 저렴한 비용으로 안정적인 성능을 유지합니다
IAM [ Identity Access Management ]
- AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다
- 구성
- 유저 : 실제 AWS 서비스를 사용하는 사람
- Access Key/Secret Access Key : 유저가 AWS의 서비스를 사용하기 위한 인증 정보
- 유저명/패스워트 : 유저가 AWS 콘솔을 사용하기 위한 인증정보
- 그룹 : 유저의 집합. 그룹에 속한 유저는 그룹에 부여된 권한을 행사할 수 있다
- 정책(policy) : JSON 형식으로 정의되며 유저와 그룹, 자격이 무엇을 할 수 있는지에 관한 문서
- 자격(role) : AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는지를 정의
- 유저 : 실제 AWS 서비스를 사용하는 사람
'AWS' 카테고리의 다른 글
AWS Lambda란 ? (0) | 2021.12.19 |
---|