들어가며
안녕하세요. 이번시간에는 EC2에 대한 간단한 정의와 EC2 생성, 그리고 탄력적 IP(고정 IP) 를 할당받아 EC2에 연결하는 과정에 대해 알아보겠습니다.
해당 포스팅은 WIndows가 아닌, Mac 을 기준으로 합니다.
EC2
EC2 는 Elastic Compute Cloud
의 약어이며 Cloud 공간에서 데이터를 저장할 수 있는 기능을 제공해주는 서비스입니다. 뿐만 아니라 크기를 유연하게 변경
할 수도 있습니다. 이러한 EC2
는 EBS
와 ELB
로 이루어져 있습니다.
EBS
는Elastic Block Storage
의 약자로 EC2 안에 부착된 일종의가상 하드디스크
입니다.ELB
는Elastic Load Balancers
의 약자로 수많은 서버의 흐름을 균형있게 흘려보내는데 중추적인 역할을 합니다. 이는 즉, 하나의 서버로traffic
이 몰리는병목현상(Bottleneck) 을 방지
하여 서버의 원활한 흐름 및 속도에 도움이 됩니다. 또한 EC2 는시간초과
혹은셧다운
으로 인해Unhealthy Instance
가 될 때가 있는데ELB
를 통해 Unhealthy Instance 한 상태의 Traffic 을Healthy Instance
로 보내주는 역할을 수행할 수도 있습니다.
EC2 인스턴스 생성
이제 EC2 인스턴스를 생성하는 과정에 대해 알아보겠습니다. AWS Console에서 EC2
에 들어온 후, 인스턴스 시작
을 눌러줍니다.
인스턴스를 생성하기 앞서 본인의 Region이 서울인지 확인합니다. (자신과 가장 가까운 지역)
이름
은 본인이 원하는 이름을 기입합니다. EC2에 사용될 OS는 Ubuntu를 선택합니다. OS버전
은 프리티어가 사용 가능한 것을 선택합니다.
본인이 편한 OS를 선택하면 됩니다. 필자는 Debian 계열이 사용하는 apt 명령어가 편해서 Ubuntu를 선택했습니다.
마찬가지로 인스턴스 유형
도 프리티어를 지원하는 t2.micro
를 선택합니다. 시간당 0.034달러이니 19.56원 정도합니다.
EC2 인스턴스에 접근하기 위해서는 개인키
파일이 필요합니다. 새 키 페어 생성
을 누릅니다. 키 페어 이름
은 원하는 이름을 기입합니다. 암호화형식은 RSA
, 형식에는 PEM
을 선택하고 개인키를 발급받습니다.
발급받은 개인키는 절대 공개해서는 안됩니다.
이제 VPC와 Subnet설정을해야 합니다. 네트워크 설정탭에서는 편집
을 선택합니다.
- VPC는 기본값으로 둡니다.
- Subnet은 현재 Region마다 다르겠지만, 서울 기준
2a, 2b, 2c, 2d
중 아무거나 선택해줍니다. - 퍼블릭 IP 자동 할당은 활성화시킵니다.
보안그룹은 EC2와 통신할 수 있는 IP & Protocol & Port 를 설정할 수 있습니다. 즉, EC2 에서 나가는 Outbound패킷 EC2 로 들어오는 Inbound패킷을 제한할 수 있습니다.
- 인스턴스의 TCP 22 번 포트. 즉 SSH 로 들어오는 인바운드 패킷에 대해서는
내 IP
만 허용해주겠다는 의미이다. 조금 더 러프하게 설정하고 싶다면소스 유형
에내 IP
말고 위치 무관을 선택해주어도 된다. 보안 그룹 생성
을 선택합니다. 보안그룹 이름을 기입합니다.- SSH로 EC2에 접근할 수 있도록 ssh, 위치무관을 선택하고
보안 그룹 규칙 추가
를 누릅니다.
스토리지를 설정해주어야한다. 프리티어 최대 용량인 30GIB를 기입합니다.
요약을 한번 슬쩍 봐주고, 인스턴스 시작
을 눌러 EC2 인스턴스를 생성합니다.
이제 EC2 > 인스턴스
에 가보면 생성된 EC2 인스턴스가 실행 중인것을 확인할 수 있습니다.
탄력적 IP 생성 및 연결
EC2인스턴스를 생성 및 실행해주었으면 탄력적 IP(고정 IP) 를 생성하여 인스턴스에 할당해주어야 합니다. 그렇지 않으면 인스턴스가 재시작될때마다 public address 가 자기 맘대로 변하게 됩니다. 이를 탄력적 IP. 즉 Static IP 주소를 할당해줌으로서 방지해줄 수 있습니다.
EC2 대시보드에서 네트워크 및 보안 > 탄력적 IP
탄련적 IP 주소 할당 버튼을 누릅니다.
바로 할당
을 눌러 탄력적 IP를 생성합니다.
이제 생성된 탄력적 IP
를 확인해주고 방금 생성한 탄력적 IP 에 Name
을 설정합니다.
방금 생성한 탄력적 IP 주소 연결
를 선택하고 작업 > 탄력적 IP 주소 연결
을 선택합니다.
인스턴스
선택창에서 이전에 생성한 EC2에 연결합니다.
이제 다시 EC2 > 인스턴스
에 돌아가면 탄련적 IP 가 잘 할당된것을 볼 수 있습니다.
EC2 접속
EC2 인스턴스도 생성했고, 탄력적 IP도 생성하여 연결했으니, EC2에 접속하기만 하면 됩니다. 아래의 커맨드로 접속할 수 있습니다. 이 때, 개인키의 권한이 너무 열려 있으면 접속을 차단합니다. 따라서 개인키는 자기 자신만 Read할 수 있는 권한인 400으로 변경해야 합니다.
EC2 에서 사용된 이미지가 Ubuntu 이면, 기본 사용자는 ubuntu 입니다.
chmod 400 개인키.pem
ssh -i 개인키.pem ubuntu@탄력적IP
잘 연결되는 것을 확인할 수 있습니다.
마치며
지금까지 EC2 인스턴스를 생성 & 탄력적IP(고정IP) 를 생성하여 EC2 에 연결 & EC2에 접속하는 방법까지 간단하게 알아보았습니다. 감사합니다.