Amazon EC2를 사용하면 AWS 클라우드에서 실행되는 가상 머신 또는 인스턴스를 생성할 수 있다.
먼저 EC2에 들어가서 인스턴스 시작하기 버튼을 누르게 되면 아래의 순서에 따라 인스턴스를 생성할 수 있다.
예를 들어, 인스턴스의 이름을 EC2-WebServer-NY라고 했을 때, OWNER=Nicole, Dept=Platform 이런 식으로 태그를 달 수 있다.
하나의 리소스 당 최대 태그의 갯수는 50개이며, 각 리소스에 대해 각 태그 키는 고유하다.
플랫폼에 따라 amazon, ubuntu, windows, x86_64_mac 등을 찾을 수 있다.
그리고 OS 카테고리에 따라 모든 Linux/UNIX, 모든 Windows를 선택할 수 있고, 아키텍처도 64비트(Arm), 32비트(x86), 64비트(x86), 64비트(Mac), 64비트(Mac-Arm)도 선택할 수 있다.
리눅스는 커널이라는 운영체제의 일종이다. 운영 체제는 User Mode를 담당하는 부분도 있지만, 하드웨어와 소통하면서 CPU와 같은 자원 사용을 효율적으로 할 수 있게 도와주는 역할도 한다. 그리고 이 역할을 하기 위해 항상 메모리 위에 올라가서 작동하는 운영체제의 구성요소가 바로 커널이다. 커널은 1. 메모리 관리 2. 저장공간 관리 3. 업무 관리를 한다.
하지만 또 커널 하나만으로는 운영체제의 역할을 다 할 수가 없기 때문에 GNU와 함께 사용해서 GNU/Linux 형태로 사용하게 된다고 한다.
순수하게 리눅스 커널만 사용하는 것이 아니라 커널과 함께 운영체제 목적에 맞는 여러 프로그램을 패키징하여 제공하는데 이것을 배포판이라고 한다. 그리고 이제 여기 AMI에서 보이는 다양한 종류들이 (Window 제외) 리눅스 커널을 사용하되 목적에 따라서 다양한 프로그램을 함께 제공하는 배포판의 종류이다.
그래서 여기서 이제 개인이 사용하는지, 기업에서 사용하는지, 딥러닝에 사용하는지, IoT에 사용하는지에 따라 특화된 서버를 선택하여 사용하게 되는 것이다.
AWS에 최적화하여 만들어진 것이 Amazon Linux이기 때문에, 특별한 이유가 없다면 Amazon Linux AMI를 사용하는 것이 좋다고 한다.
그리고 Amazon Linux AMI는 클라우드 환경과 Docker Container에 최적화되어 있다고 한다.
그리고 프로세서의 아키텍처로 64비트(x86), 64비트(Arm)를 선택하면 된다.
지정하는 인스턴스 유형에 따라 인스턴스에 사용되는 호스트 컴퓨터의 하드웨어가 결정된다. 인스턴스 유형은 서로 다른 컴퓨팅, 메모리, 스토리지 용량을 제공하며, 이 용량에 따라 한 인스턴스 패밀리로 분류된다.
인스턴스에서 실행하려는 애플리케이션 또는 소프트웨어의 요구 사항에 따라 인스턴스 유형을 선택하면된다.
(참고) 인스턴스 유형 명명 규칙
c7gn.xlarge


키 페어를 생성해서 인스턴스에 연결 시 사용한다.
AWS 리소스를 논리적으로 격리된 가상 네트워크에 띄운다.

위 그림은 vpc 의 예시 다이어그램이다. vpc는 그 리전의 AZ(Availability Zone)에 한 개의 서브넷을 가진다. 그리고 각 EC2 인스턴스들은 각각의 서브넷에 위치한다. 그리고 인터넷 게이트웨이를 통해서 VPC와 인터넷에 있는 리소스 간의 커뮤니케이션을 하게 된다.
VPC 안에서 IP 주소의 범위다. 서브넷은 하나의 AZ(Availability Zone) 안에 있어야 한다. 서브넷을 추가하고 나면, VPC 안에서 AWS 리소스를 배치할 수 있게 된다. 기본 설정은 없고, 가용영역의 기본 서브넷을 사용한다고 되어 있다.
활성화로 되어있다.
보안 그룹은 인스턴스에 대한 트래픽을 제어하는 방화벽 규칙 세트다. 특정 트래픽이 인스턴스에 도달하도록 허용하는 규칙을 추가한다.
인바운드 규칙은 인스턴스로 들어오는 수신 트래픽을 제어하고, 아웃바운드 규칙은 인스턴스에서 나가는 발신 트래픽을 제어한다.
Amazon VPC 콘솔에 들어가서 보안그룹을 생성한다. 그런 다음 인바운드 규칙을 보안그룹에 추가한다. 프라이빗 DB 인스턴스에 대해서도 VPC 보안그룹을 생성해서, 인바운드 규칙을 추가해주어야 한다.(참고 : 자습서: DB 인스턴스에 사용할 Amazon VPC 생성(IPv4 전용))
SSH 트래픽 허용 (내 IP에서만 접근할 수 있도록 설정한다.)
인터넷에서 HTTP 와 HTTPS 트래픽을 모두 허용해준다.
AWS 공식 문서에서 스토리지 볼륨으로 지칭하는 스토리지 드라이브는 물리적인 저장 장치를 가상화한 가장 대표적인 사례 중 하나이다. AWS 스토리지 볼륨은 인스턴스에서 실행되는 OS를 저장한다는 측면에서 기존의 물리적인 스토리지와 별 차이가 없어 보이지만 AWS는 사용 목적에 따라 다양한 볼륨을 제공하며, 이들 볼륨의 특징과 각각의 장단점을 이해한다면 인스턴스를 좀 더 잘 활용할 수 있다.
참고로 프리티어에서는 최대 30GB의 EBS 범용(SSD) 또는 마그네틱 스토리지를 사용할 수 있다. 그리고 월별 프리티어에 대해서는 AMI에 대한 t2.micro로 월 750시간 무료, EBS 스토리지 30GiB, IO 2백만개, 스냅샷 1GB, 인터넷 대역폭 100GB가 포함된다.