들어가며

안녕하세요. 이번시간에는 EC2에 대한 간단한 정의와 EC2 생성, 그리고 탄력적 IP(고정 IP) 를 할당받아 EC2에 연결하는 과정에 대해 알아보겠습니다.

해당 포스팅은 WIndows가 아닌, Mac 을 기준으로 합니다.

EC2

EC2 는 Elastic Compute Cloud 의 약어이며 Cloud 공간에서 데이터를 저장할 수 있는 기능을 제공해주는 서비스입니다. 뿐만 아니라 크기를 유연하게 변경 할 수도 있습니다. 이러한 EC2EBSELB 로 이루어져 있습니다.

  • EBSElastic Block Storage 의 약자로 EC2 안에 부착된 일종의 가상 하드디스크 입니다.
  • ELBElastic 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에 접속하는 방법까지 간단하게 알아보았습니다. 감사합니다.