[AWS], [Elastic IP] 사용하기

jonghyuck’s velog·2021년 5월 4일
0
  • 이 글은 초보 개발자들(나)의 관점에서 작성 되었습니다.

aws

aws란 Amazon에서 제공하고 있는 클라우드 컴퓨팅 서비스이다. 개발을 처음 하는 입장에서 윈도우, 맥, 리눅스 등등 모든 os를 접해보지 못한 사람도 많을것이다. 그렇다면 다른 os를 접하기위해서 새로운 디바이스를 구매하거나 듀얼부팅을 공부해서 접해야 하는 것일까? 아니다. 다행스럽게도 우리는 21세기를 살고있고 다른사람의 컴퓨터를 렌트 할 수도 있다. 이것이 바로 클라우드 컴퓨터의 개념이다. 우리는 다른 os를 접하기 위해, 누군가는 더욱 좋은 사양의 pc가 필요하기 위해 다른 사람의(기업의) 자원(컴퓨터 또는 서비스)을 빌려서 사용할 수 있다. ( 물론 무료는 아니다. 렌트카 개념이다.) 아래에 서버와 pc를 혼용해서 사용하도록 할텐데 서버도 어차피 pc의 개념으로 볼 수 있기 때문에 친숙한 pc라는 단어를 사용하도록 하겠다.

잡설이 길었다. 그래서 어떻게 하는건데?

위 사진은 google에 aws라고 검색하면 들어갈수 있는 amazon aws 공식 사이트이다. 먼저 오른쪽 위에 콘솔에 로그인을 눌러서 회원가입부터 진행하도록 하자.(회원가입은 생략 하겠다.)
가입하고 루트 사용자로 로그인까지 되었다면 이제 pc를 받을수 있다.

검색창에 EC2라고 검색하면 위와같이 클라우드의 가상 서버(pc)라고 나온다.

여기서 인스턴스를 누르게 되면 내가 가지고 있는 클라우드 pc의 목록이 뜬다. 새로 가입했다면 아무것도 없을 것이다. 이제 pc를 생성해 보자. 주황색의 인스턴스 시작 버튼을 누르면 새로 만들 pc의 설정을 할 수 있다.

나는 Ubuntu를 만들기로 했다. Ubuntu가 뭐야? 라고 하신다면 그냥 리눅스계열의 os라고 생각하시면 된다. 20.04라는 건 윈도우10과 같이 버전의 이름이고 Server라고 붙는것은 GUI환경이 아닌 CLI환경이라는 뜻이다. GUI? CLI? 그건 또 뭔데? 라고 물어보신다면 우리가 흔히 사용하는 윈도우나 맥os는 마우스 커서가 있고 아이콘이 있고 클릭하면 폴더가 실행된다. 이게 GUI(graphical user interface)이다. 그럼 CLI는? 뭐가 있는데? CLI(Command-line interface)는 이름 그대로 커맨드라인 즉, 명령어 치는 줄 밖에 없는 환경을 말한다.

이렇게 생긴 그림은 영화에서 많이 봤을텐데 이 환경이 바로 CLI라는 환경이다. 더이상 자세한 설명은 구글에 나와있으니 궁금한 사람은 추가로 찾아보기로 하자. UbuntuServer로 선택을 눌렀으면 아래와 같은 상황이 눈앞에 펼쳐진다.

컴퓨터를 잘 모르는 사람들도 CPU라는 단어는 한번쯤 들어봤을 것이다. CPU란 쉽게말해서 컴퓨터의 두뇌 역할을 담당하는 녀석이다. 하지만 우리는 기업도 아니고 일개 개발자일 뿐이다. 고작 메모장을 사용하기위해 슈퍼컴퓨터를 살 필요는 없지 않은가? 그런 우리를 위해 친절하게 프리티어라는 녀석이 존재한다. 최소 사양의 pc를 무료로(1년간) 대여해주는 서비스이다. 우리는 이 프리티어를 사용할 것이다. 검토 및 시작을 눌러서 다음으로 넘어가 보자.

이제 80%는 다왔다. 잡설이 길어서 그렇지 80%까지 오는데 10분도 안걸렸을꺼라 생각한다.
나머지는 두고 스토리지(저장용량)과 보안그룹(방화벽)만 설정해주도록하자.

위와 같이 설정해 주도록 하자. 간단하게 설명을 하자면 우선 스토리지가 30GB인 이유는 프리티어의 max 값이 30GB이기 때문이고 보안그룹설정(방화벽)의 경우 8000포트는 django서버를 위해 22포트는 ssh접속을 위해 8080포트와 443포트는 각각 http와 https를 위해 개방해 주었다. 이런게 뭔지 잘 모르겠다면 그냥 따라하도록 하자.

시작하기를 누르면 키페어라는 녀석을 준다. 이녀석이 바로 집 열쇠와 같다. 우리가 만든 pc를 새로 구매한 집이라고 생각해보자. 집 열쇠를 통해 집에 들어가 가구를 배치하고 집을 꾸미는 것처럼 pc에 서버를 만들고 시스템을 구성할 것이다. 하지만 집 열쇠를 잃어버리면 집이있는데 들어갈수가 없다. pc에 접속할수가 없다. 우리는 클라우드 pc를 사용하려 하고 이는 집에있는 pc처럼 발가락으로 누르면 켜지는 pc가 아니다. 원격으로 접속하기 때문에 이는 정말 중요한 녀석이다. 이렇게까지 설명하는 이유는 필자가 이미 두번이나 잃어버렸기 때문이다. 새로 만들었다. 처음부터. 잘 보관해두도록 하자.

이제 이렇게 새로운 pc가 생겼다.

Elastic IP

위 글에서 우리는 새로운 pc를 얻었고 이 pc에 접속을 하고자 한다. ssh(Secure Shell Protocol)라는 프로토콜을 사용하여 접속할 수 있는데 이때 우리는 pc의 IP주소를 통해 접속하게 된다.

예시 :
서버이름 : ubuntu
ip 주소 : 3.14.322.312 (실제 주소가 아닙니다. 각자의 주소)
ssh 접속시 : ubuntu@3.14.322.312

하지만 위 숫자는 일일이 기억하기 힘들다. 외우려면 할 수 있지만 서버가 10개라면? 100개라면? 따라서 보통 사용자가 .ssh파일에 접속 주소를 설정 하고 간단한 명령어나 프로그램으로 해당 서버에 접속하게 된다. 그럼 뭐가 문제지? 한번만 설정해놓으면 ip가 어렵든 말든 상관 없는거 아닌가? 문제는 aws의 EC2 인스턴스는 재부팅시 가끔 IP주소가 바뀌어 버린다. 처음 이 사실을 알았을 때는 당황스러웠다. 왜 접속이 안되지? 하고 확인하면 IP주소가 바뀌어 있어서 설정을 다시 해주어야 하는 불편함이 있었다. 이 불편함을 해결해주는 것이 바로 Elastic IP 서비스이다. 한국어로는 탄력적IP라고 부른다.

위와같이 탄력적 IP에 들어가보면 (설정이 영어라면 Elastic IP) 고정IP를 발급 받을 수 있다. 해당 방법에 대한 자세한 설명은 구글에 너무 잘 나와있으니 생략하도록 하겠다.
이제 생성한 고정 IP를 내가 사용할 인스턴스에 연결해주면 드디어 새로운 pc를 맞이할 준비가 끝났다.

0개의 댓글