[AWS EC2] EC2 인스턴스 생성 및 SSH 접속

RealPark·2022년 8월 5일
post-thumbnail

개요

회사 내부 서버를 관리하면서 많은 흥미와 탐구심을 느꼈다.
후에 직접 서버를 만들어서 관리해보자 라는 생각에 이리저리 aws 가지고 많은 시도를 해보았다.
그 중, aws에서 사용성이 높고 가장 헷갈렸던 EC2에 대해 기록을 남기고자 한다.

  • 서버관리 의 첫걸음
  • 가장 기초이지만 가장 많이 헷갈렸던 부분

AWS EC2(Elastic Compute Cloud)란?

500개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록 가장 포괄적이고 심층적인 컴퓨팅 플랫폼을 제공합니다.

  • AWS의 설명은 위와 같다.
  • AWS에서 전세계에 설치한 서버용 컴퓨터를 임대하는 것과 같다고 한다.
  • 사용한만큼 비용을 지불하고, 서버의 완전한 제어가 가능해서 좋다.

🛠️체크사항


아무래도 AWS 의 계정을 만들어야 한다.

(나는 회사에서 테스트용으로 쓰는 계정을 이용할 생각이다. 연구 목적으로는 무한한 지원을 해준다고 하신다. 그래서 아무렇게나 t2.medium 으로 생성하고 가지고 놀다가 요금청구서를 보고 중지시켰다.)


ssh 연결 도구는 putty를 이용할 생각이다.


🔥생성 및 연결 과정


먼저 아마존에 접속 후 로그인을 하자.

최초 로그인 시에는 위와같이 콘솔 홈이 나온다.
만약 나오지 않는 사람들은 서비스에서 EC2를 찾아서

인스턴스 홈으로 가보도록 하자.

아마 좌측에

이러한 메뉴가 보일텐데, 사진과 같이 인스턴스를 클릭하자.

이럴거면 사진을 다른걸 쓰지 그랬다.
자유 계정이지만 곧 넘겨줘야할 실사용중인 서버부터 테스트 서버 까지 꽤나 있다.
아마 처음에 만들면 위 화면에 아무것도 없을것이다.
일단 인스턴스 시작을 클릭하자.


아마 위와같은 화면이 나올것이다.
나는 ubuntu 가 편해서 ubuntu 로 서버를 생성할 것이다.
(그 외에 Amazon Linux, Red Hat, Debian 등등 많은 배포판이 있는데, 편한걸 쓰면 되겠다.)

위와 같이 다양한 버전이 있다. 아마 ubuntu18.04 까지 지원이 될 것이다.
(아마 16.0414.04가 지원이 중단된다는 소식이 있던데 연관이 있지않을까?)

큰 작업을 하지 않는 이상 프리티어를 추천한다.
(요금이 저렴하고 처음 가입할때는 무료로 지원해준다.)

하지만 나는 대규모 엔터프라이즈급 애플리케이션을 제작할거니 지금부터 미리 제일 큰 서버를 이용해보겠다 하신다면 말리지는 않겠다.

참고하셨으면 한다.

나는 20.04 lts프리티어로 사용할 생각이다.


다음은 키페어 생성이다.

설명을 읽어보면 연결을 안전하게 해준다고 한다. 키페어 생성을 클릭해보자

키 페어 이름과 유형을 정해주고 .ppk파일로 생성 후 잘 보관해두도록 하자.


  • PPK 파일은 putty에서 개발.
    개인 키 파일이며 안전하게 통신 할 수 있도록하기 위해 사용된다.

다음은 네트워크 설정이다.
개인적으로 이부분에서 실수하고 많이 헤맸던 기억이 있다.

처음 인스턴스를 생성하면 아마 보안그룹이 없을 것이다.
먼저 사진처럼 ssh 트래픽 허용을 하고 원하는 위치를 잡아주자.
(가급적이면 내IP로 해주는걸 권장한다.)

후에 오른쪽 상단에 편집버튼을 누르면

와.. 와이라노..

처음봤을때는 무지 당황스럽고 무슨말인지 몰랐지만 간단하다.
원하는 서비스의 포트 및 아이피를 지정해주면 된다.
(http : 80, mysql : 3306 등등 대부분은 유형에 있다.)


사진에 보는것과 같이

유형에서 서비스를 고르는 경우 aws에서 지정을 해주고, 접속을 원하는 ip를 소스 유형에서 기입해준다.

유형에서 서비스를 고르지 않는 경우 사용자 지정 tcp를 선택할 경우 위와같이 모두 수기로 기입해야한다.
(8080포트는 사용자 지정 tcp로 설정해야한다.)


보안그룹을 모두 추가했으면 사진과 같이 2개가 남았다.

스토리지고급세부정보를 설정하지 않고도 생성은 가능하다. 하지만 그래도 원하는 부분이 있거나 한다면 정보를 클릭하고 읽어보면서 설정을 하면 된다.
(간단한 작업을 한다면 크게 필요가 없다고 생각한다. 그리고 추후에 수정도 가능하다.)

이제 오른쪽에 인스턴스 시작을 클릭하자.
생성이 완료되고 인스턴스를 클릭하면

벌써 머리가 아프게 뭔가 많다.
하지만 걱정말자. 사진속 붉은색의 퍼블릭 ipv4 주소만 알면된다.
퍼블릭 ipv4주소를 알았으면 이제 putty를 실행하자.


putty말고 다른것을 써도 무방하다. 설명은 putty를 기준으로 하겠다.

먼저 Host Name퍼블릭 ipv4 주소를 입력하고 좌측 하단에
Connection/SSH/Auth 를 들어가면

아래에 Private key file... 이 보인다. Browse를 클릭하고
아까 잘 보관해둔 .ppk파일을 추가한다.

그리고 아래의 Open을 클릭하면

와 같이 접속이 된다.

간혹

이런 창 or 이런 창 노란색 버전이 보이면 Accept를 눌러도 무방하다.

다시 원래대로 돌아와서, login asubuntu를 입력하면

사진과 같이 ssh로 접속을 했다. 복잡해 보였지만, 생각보다 간단하다.

이제 원하는 작업을 진행하면 된다.


🤔자문자답


🤔AWS를 선택한 이유가 있을까? NCPAzure도 있을텐데...

💡사람마다의 개인차가 있다고 생각한다. Azure는 사용하지 못해봤지만 적어도 나에게는 AWS가 편하게 느껴져서 사용한듯 하다.




🤔EC2 생성 후 SSH 접속만 포스팅 해놓으면 어디에 쓰려고?

💡질문이 좀 시비적이지만 가장 나에게 하고싶은 질문이였다.
어떤 서비스를 시작하기 위해서는 인프라를 구축하는것은 당연하다고 생각한다. 웹 뿐만이 아닌 앱, 임베디드 시스템 등등..
가장 기본적인 서버용 컴퓨터(EC2)를 생성할 줄 알면 그에따라 또 많은 부분을 응용할 수 있다.
(DB서버 생성, 포트폴리오용 서버 생성, CI / CD 파이프라인 구축 등)
차츰 다뤄볼 예정이지만 그래도 나에게 있어서 가장 헷갈렸던 부분을 정리했다.





📋마무리


AWS EC2 생성을 한번 다뤄보았는데, 의외로 주변에 모르는 분들도 많고 조금 익살스럽게 내용을 적으면 이해가 잘 되지 않을까 해서 포스팅을 했다.

DevOps에 관심이 있는 나는 추후에 이 클라우드 컴퓨팅을 이용한 docker 탑재, 파이프라인 구축 등 많은 것을 공부하고 기록하고 싶다.

근데 매번 공부한다고 하고 쇠질해서 탈락.

오늘은 여기까지 !

profile
게으른 개발자의 기록

0개의 댓글