1. EC2

Elastic Compute Cloud의 약자이며 일종의 서버(호스트)이다. 기본적으로 켜놓은 시간을 기준으로 과금한다. 인스턴스 생성을 위해 AMI(Amazon Machine Images)라는 독자적인 이미지를 제공한다. 보통 자주 배포되는 OS의 AMI를 제공한다. 또한 사용자가 직접 AMI를 만들어서 올릴 수도 있으며 마켓 플레이스와 연동되어 있기도 하다.

EC2는 성능별로 micro, small, large, xlarge로 세분화되며 그 종류는 Core 수와 메모리량에 따라 구분된다. 예를 들어 C4의 경우 CPU가 18개이며, 게임, 동영상 처리, 코드 변환 등 CPU 성능이 중요한 애플리케이션 수행에 적합하다.

2. RDS

EC2에 직접 DB를 설치할 수도 있지만 RDS를 사용하면 편리하게 설정/관리할 수 있다. 특히 데이터의 백업(Elastic Automation Backups)과 유지보수 작업을 지원하며(물론 추가 비용), 더욱 보안에 유리하다. 2009년 MySQL을 시작으로, 2011년 Oracle, 2012년 SQLServer, 2013년 PostgreSQL, 그리고 2015년부터는 MariaDB를 지원하고 있다. 또 Amazon이 만든 MySQL 호환 DB인 Aurora는 2014년부터 지원하고 있다.

또한 마이그레이션 서비스를 제공하는데 위 지원 DB들을 중단 없이 전환할 수 있으며, AWS Schema Conversion Tool을 사용할 경우 이 기종 간 전환도 가능하다. 예를 들어 Oracle, SQLServer 등의 데이터를 MySQL, MariaDB로 전환할 수 있는 것이다.

3. Aurora DB

라틴어로 “새벽”을 의미하는 Aurora는 MySQL 5.6 호환이며 InnoDB 기반 DB이다. 애초에 상용 DB를 겨냥하고 있으며 동일 하드웨어 상의 표준 MySQL 처리량의 5배라고 광고하고 있다. (하지만 일부 자료에 따르면 오히려 MySQL이 더 빠르기도 하다) 현재는 버지니아, 오레곤, 아일랜드 등 일부 Region만 지원한다. 비용은 스토리지 사용료만 지불하면 된다.

Aurora는 고성능, 고가용성 DB로 Multi-tenant scale out 스토리지를 사용하며 Redo 처리를 전파한다. 3개 AZ에 읽기 전용 복제본을 최대 15개 추가할 수 있다.

Aurora Serverless는 가변성이 높고 변화가 급격한 워크로드에 적합한 서비스이다. 리소스를 초 단위로 사용한만큼 비용을 지불한다. 

4. CloudWatch

AWS가 제공하는 모니터링 툴이다. EC2, EBS, RDS 등 거의 모든 AWS 자원을 모니터링할 수 있다. EC2에서 수집할 수 있는 주요 항목은 다음과 같다.

  1. CPU
  2. Disk Read/Write

항목에 따라 5분 미만 주기로 수집이 불가능한 항목들이 있으며 더 짧은 주기로 수집할 경우 비용이 추가될 수 있다. 한편 알람용으로 사용하기는 부족하다.

5. CloudTrail

AWS 내 자원의 흐름을 로그로 남겨 실시간으로 확인, 분석하는 서비스이다. CloudWatch의 부족한 점을 메워준다.

6. 보안

EC2의 보안 기능에는 Security Group과 IAM(Identity and Access Management) 등이 있다. SG는 네트웍 보안 영역으로 Packet Filtering을 제공한다. 리눅스의 경우 iptables를 사용한다. 이를 통해 Inbound, Outbound 트래픽을 관리한다. 기본 설정의 경우 Inbound는 모두 거부, Outbound는 모두 허용이다.

7. IAM

IAM은 AWS 환경 내 사용자 및 그룹을 만들고 관리하며, 개별 사용자에 대한 권한을 설정할 수 있게 해준다. 또 개별 사용자의 모든 활동 로그를 제공하여 위험 요소를 감시할 수 있도록 해준다. 

IAM 계정은 기본적으로 페더레이트된 사용자와 role을 위한 Temporary Security Credentials을 만들 권한을 가지고 있지 않다. 하지만 GetSessionToken API가 있기 때문에 특별한 권한이 필요없다.

IAM 계정에는 코드를 통해 구글 서비스에 억세스하기 위한 유형의 계정인 Service Account 등이 있다.

문자열 조건 연산자에는 StringEqualsIgnoreCase (문자열 일치, 대소문자 무시) 등이 있다.