EC2(Elastic Compute Cloud)
- 가상의 서버로, 가상 서버를 실행하는 머신 이미지를 AMI(Amazon Machine Image),실행된 가상 서버는 인스턴스라고 부른다.
ELB(Elastic Load Balancing)
- 앞(front)에서 요청을 받아 여러 개의 EC2 인스턴스로 통신을 분산시켜 준다. 보통 Auto Scaling과 함께 쓴다.
Auto Scaling
- CPU 또는 메모리 사용량 등에 따라 EC2 인스턴스를 자동으로 조절하는 서비스
S3(Simple Storage Service)
- 온라인 스토리지 서비스로 데이터 조작에 HTTP/HTTPS API가 사용된다. 매우 높은 내구성과 가용성을 가지므로 대부분의 파일은 S3에 저장, 백업해둔다. (EBS에 보관하는 경우 데이터 손실 위험)
Glacier
- 데이터를 장기 보관하기 위해 설계된 서비스로, S3와 동등한 신뢰성 설계에 저렴한 비용으로 사용할 수 있다. 장기간 보관하는 데이터는 S3에서 Glacier에 보관하도록 활용할 수 있다.
EBS(Elastic Block Store)
- EC2 인스턴스에서 사용하는 스토리지로, EC2와는 네트워크 기반으로 연결 된다. EBS는 스토리지 이미지를 스냅샷 형식으로 S3에 백업해서 보관, 복제를 쉽게 할 수 있다.
VPC(Virtual Private Cloud)
- AWS 네트워크 내부에서 논리적으로 분리된 네트워크를 생성하는 서비스
RDS
- AWS 데이터베이스 PaaS로 트랜잭션 로그를 사용한 레플리케이션(데이터 저장 또는 백업하는 방법과 관련된 데이터를 다른 컴퓨터로 복제)으로 마스터/ 슬레이브 구성, 특정 시간 백업 같은 AWS에서 제공하는 기능이 많다.
CloudFront
- 콘텐츠 전송 네트워크(CDN) 서비스로 콘텐츠를 엣지 로케이션이라고 부르는 전 세계에 퍼져 있는 거점을 기반을 전달한다.
Route 53
- DNS 서비스로 취약성 또는 DDoS 공격에 대한 대응, DNS 운용을 쉽게 할 수 있게 해주는 서비스로 100%의 SLA(Service Level Agreement)를 보증
AWS의 글로벌 인프라를 지탱하는 물리적 구성으로는 리전과 가용 영역(AZ)가 있는데 리전은 AWS가 서비스를 제공하는 거점(국가와 지역)을 나타내고 AZ는 데이터 센터와 같은 의미라고 할 수 있다. 각각의 리전에는 2개 이상의 AZ가 존재한다.
RDS에서 멀티 AZ 옵션을 사용하면 마스터/슬레이브 구성의 DB 서버가 생성되며 데이터가 동기화된다. 마스터 DB에 장애 발생시 마스터 DB와 슬레이브 DB가 교체가 되며 쉽게 가용성/내결함성이 높은 인프라를 구축할 수 있다.
AWS가 제공하는 네트워크는 크게 AWS 네트워크와 VPC 네트워크로 AWS 네트워크는 인터넷에서 접근할 수 있는 네트워크를 나타내며, VPC 네트워크는 VPC 환경 내부에서만 사용할 수 있는 닫힌 네트워크를 나타낸다.
IAM
AWS에 처음 회원 가입을 하면 Root 사용자 계정으로 로그인을 할 수 있는데 그냥 사용하면 취약하기 때문에 MFA를 설정하는 것이 좋다.
그리고 Root 계정을 직접적으로 사용하기보다는 개별적인 사용자 계정인 IAM 계정을 사용하는 것이 안전하다. (세부적인 권한 설정과 해킹 당했을 경우에 루트 계정에서 제어)
인증(Authentication)과 권한 부여(Authorization)가 나뉘는데 인증에 대한 부분이 Group, Role이고 권한 부여에 대한 부분은 IAM Policy다. Group, User는 말 그대로 그룹별 IAM 사용자 계정을 만드는 것이고 IAM Role은 일시적으로 특정 개체에게 리소스의 접근 권한을 부여하기 위해 사용한다. 그리고 User든 Role이든 어디까지 권한을 줄 것인지를 결정하는 것이 IAM Policy가 된다. IAM Role은 아무나 호출할 수 없도록 신뢰 관계(Role을 얻을 수 있는 대상)를 설정하는 것이 중요하다.
[참고]