[AWS] EC2란 무엇인가
AWS 뿌시기 4탄은 AWS에서 가장 핵심 서비스라고 할 수 있는 EC2다.
Lambda를 사용한 서버리스 개발은 편리하지만 한계가 존재한다. 이때 서버를 구축한다면 더 많은 것을 할 수 있다.
이 글에서는 EC2가 무엇인지 간단하게 살펴본 후, EC2 인스턴스를 생성하고 SSH 클라이언트로 인스턴스에 연결해본다. 즉, AWS를 사용하여 간단한 리눅스 서버를 구축해보는 튜토리얼이다.
EC2(Elastic Compute Cloud)란?
EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스다.
이 서비스를 통해서 아마존이 각 세계에 구축한 데이터 센터의 서버용 컴퓨터들의 자원을 원격으로 사용할 수 있다. 쉽게 말해, 아마존으로 부터 한 대의 컴퓨터를 임대하는 것이다. AWS가 제공하는 URL(Public DNS)를 통해 이 컴퓨터에 접근할 수 있다.
EC2의 장점은 다음과 같다.
- 용량을 늘리거나 줄일 수 있다. (탄력성)
- 사용한만큼 지불하므로 저렴하다.
- 사용자가 인스턴스를 완전히 제어할 수 있다.
- 보안 및 네트워크 구성, 스토리지 관리 효과적이다.
[1단계] 인스턴스 생성
- AWS EC2로 들어간다.
2. 왼쪽 메뉴에서 인스턴스 > 인스턴스 시작을 클릭한다.
- 인스턴스 : 클라우드의 가상 서버
3. 원하는 AMI를 선택한다.
- AMI (Amazon machine image) : 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 템플릿
- 1단계는 운영체제를 선택하는 단계이다. 크게 Linux와 Window 중에 선택할 수 있고, 튜토리얼에서는 리눅스를 선택하였다.
4. 인스턴스 유형을 선택한 후, 검토 및 시작을 클릭한다.
- 2단계는 인스턴스의 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성을 필요한만큼 선택하는 단계이다.
- 다음 단계에서 더 정교하게 인스턴스 설정을 할 수 있지만 이 글은 EC2를 처음 경험하는 독자들을 대상으로 한 글이므로 3~6단계 설정은 기본값을 따른다.
5. 새로운 키 페어를 생성하고 다운로드 한 뒤, 인스턴스를 시작한다.
- 키 페어 : 퍼블릭 키 + 프라이빗 키(.pem)
- 이때 지정한 키 페어를 사용하여 해당 인스턴스에 안전하게 연결할 수 있다. 프라이빗 키를 소유한 사람은 누구나 인스턴스에 연결할 수 있으므로 보안된 위치에 프라이킷 키를 저장해야 한다.
[2단계] 인스턴스 연결
SSH를 사용하여 linux 인스턴스에 연결하는 방법이다. 로컬 컴퓨터의 운영체제는 mac os(또는 linux)이다.
- 프라이빗 키(.pem)를 보안된 위치인 .ssh 하위 디렉터리에 저장한다.
mv ~/Downloads/MyKeyPair.pem ~/.ssh/MyKeyPair.pem
2. 프라이빗 키(.pem)의 권한을 설정한다.
chmod 400 ~/.ssh/MyKeyPair.pem
3. ssh 명령어로 인스턴스에 연결한다.
ssh -i [프라이빗 키(.pem)경로] [AMI의 사용자 이름]@[인스턴스의 퍼블릭 DNS]
- 인스턴스의 퍼블릭 DNS는 IPv4 퍼블릭 IP을 적는다.
[3단계] 인스턴스에 간편하게 연결
매번 인스턴스에 퍼블릭 IP로 접속하는 것은 귀찮다. 아래의 방법으로 해당 인스턴스의 이름을 지정하여 간편하게 접근할 수 있다.
- .ssh/config 파일을 연다.
vim .ssh/config
2. config 파일에 아래와 같은 양식으로 적는다.
- Host : 인스턴스 이름
- HostName : 인스턴스의 IPv4 퍼블릭 IP
- User : AMI의 기본 사용자 이름
- IdentityFile : 프라이빗 키의 경로
3. 이제 Host 이름으로 인스턴스에 접속할 수 있다.
ssh [Host 이름]