Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다. Amazon EC2에서는 확장 또는 축소를 통해 요구 사항 변경 또는 사용량 스파이크를 처리할 수 있으므로 트래픽을 예측할 필요성이 줄어듭니다.
링크: https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
AWS 공식 사이트에는 EC2에 대한 요약이 위와 같이 적혀있다. 쉽게 말해, 자기들 서버에 하나의 가상컴퓨터를 올려서 빌려준다는 이야기이다. 그리고 이런 가상 컴퓨터를 빌려줄 때도 여러 가지 옵션이 있고, 신경써야할 사항들이 있고, 그에 대해 학습해보았다.
세상에는 여러 서비스가 있기 때문에, 각 서비스에 맞는 인스턴스 타입을 선택하는 것이 중요하다. 크게 compute Optimized, memory Optimized, storage Optimized로 나뉜다. 해당 부분들은 CPU / Memory / Storage 기준으로 어느 쪽에 더 좋은 성능을 가지고 인스턴스를 생성하여 빌릴지 선택하는 것이다. 그리고 그 인스턴스들은 어떠한 이름을 가지는데 그 이름은 해당 인스턴스의 성능을 표현한다. 예를 들어, m5.2xlarge에서 m은 instance class(m은 범용)를 뜻하고, 5는 generation, 2xlarge intance size(성능)를 뜻하게 된다.
밑의 사이트에서 인스턴스 타입에 대한 정리를 한 눈에 알 수 있다.
인스턴스 종류 및 성능, 가격 정리 표 사이트: https://instances.vantage.sh
보안 그룹은 EC2의 방화벽을 설정하는 것이라고 보면 된다. IP(IPv4, IPv6), Port, 네트워크 인, 아웃바운드 설정을 해줄 수 있다.
inbound rules: 해당 인스턴스로 들어올 수 있는 ip/port를 설정.
outbound rules: 해당 인스턴스에서 외부 네트워크로 나갈 수 있는 ip/port를 설정.
outbound rules는 첫 설정 시, 모든 곳으로 나갈 수 있도록 기본설정이 되어 있다.
On-Demand가 쉽게 사용할 수 있는 옵션으로 쓴 만큼 돈을 내게 된다. 예약 인스턴스는 긴 기간(1년, 3년)의 사용을 예약하여 비용을 절감할 수 있게 한다. 전환형 예약 인스턴스는 예약 인스턴스와 비슷하지만 인스턴스 유형을 고정하는 예약 인스턴스와 달리 다른 인스턴스 유형으로 변경할 수 있다. 전용 호스트는 물리서버 자체를 예약해서 인스턴스를 커스텀으로 배치시킬 수 있다.
비용 계산은 OS 별로 다른데, 윈도우, 리눅스는 1분 이후 초당 비용 계산하고, 다른 OS는 1시간 마다 비용 계산을 한다.
EC2가 부팅될 때 딱 한 번 실행되는 스트립트는 EC2 User Data 설정에서 커스텀으로 할 수 있다.