AWS EC2 서버

Deong_gu·2024년 2월 26일
0

AWS 배포 해보기

목록 보기
5/9
post-custom-banner

AWS EC2에 대한 자세한 내용은 공식사이트 문서를 참조하시길 바랍니다.

간단하게 이해하기 위해 강의 내용을 정리하는 글입니다.


EC2 1/2

EC2 2/2

EC2

AWS는 전세계에 리전을 가지고 있다.
즉, 서울, 도쿄, 유럽, 동남아시아, 미국 등 많은 지역에 많은 컴퓨터를 가지고 있다.

AWS EC2 서버를 이용한다는 것은 AWS에서 인프라를 제공 받는 것이고 이를 쉽게 말하면 빈 컴퓨터를 임대하는 것을 말한다.

EC2 서버 임대하는 방법은 아래 글을 참조하기바랍니다.

  1. AWS 회원가입

  2. EC2 인스턴스 생성 및 접속 방법

위의 과정을 한 문장으로 요약하면

AWS 사이트에 접속을 해서 운영체제(OS)를 선택해서 컴퓨터를 임대한다.


원격 접속과 방화벽

AWS가 소유하고 있는, 다양한 지역에 있는, 수많은 컴퓨터 중 하나를 임대했기 때문에 우리가 이 컴퓨터에 접속하기 위해서는, 우리 로컬 컴퓨터에서 임대한 컴퓨터(클라우드 컴퓨터)로 원격 접속을 해야한다.

하지만 모든 사람들이 내가 임대한 컴퓨터를 접속하게 되면 문제가 발생하기 때문에 이 클라우드 컴퓨터의 경우 방화벽을 가지고 있다.
(내가 빌린 컴퓨터야!!! 보호하자!!)

결국 로컬 컴퓨터에서 임대한 컴퓨터로 IP주소를 가지고 원격 접속을 하게 되는데 이때 어떤 프로그램을 선택하게되는데, 보통 22번 포트 사용하게 된다.

하지만 방화벽은 모든 포트 차단 (포트 번호 0~ 65535까지 차단)한 상태이고, 이를 풀려면(원하는 포트를 개방) 인바운드 규칙을 작성해야한다. (22번 포트 개방)

ex) 어떤 IP의 어떤 포트로 접근을 허용, 어떤 보안 그룹을 가지고 있는 서버의 접속을 허용 등


원격 접속을 위해 22번 포트를 개방한 이유

22번 포트는 SSH(Secure Shell)라는 프로그램에 접속 가능하다.

Shell

보통 하드웨어(CPU, RAM)를 우리가 직접 제어하는 것은 어렵다.
(인베디드 개발자들도 웬만해서 직접 건드리지 않는다.)
따라서 OS(운영체제)의 도움이 필요하다.

결국 흐름을 보면

  1. 사람(개발자)이(가) OS에게 명령을 내린다.
  2. OS가 하드웨어 제어

이때

사람이 OS에게 명령을 내릴 때 사용하는 언어가 바로 Shell이다.

운영체제에 따라 shell 언어가 다르다. (윈도우, 리눅스 등)
ex) cd 폴더 이동, mkdir 폴더 생성, dir 해당 폴더 검색 등

OS는 Shell 명령을 받아서 컨버팅(번역)해서 하드웨어를 제어한다.
사람입장에서는 하드웨어를 직접 제어하는 것이 아니라 편하다.

22번 포트에 접속했다는 것의 의미

22번 포트에 접속했다는 것은 Secure Shell로 접속했다는것
이렇게 되면 shell명령을 원격으로 내릴수 있다.
이러한 환경을 CLI(Command Line interface)환경이라고 한다.
(명령어를 작성하는 환경)
ex) 터미널

로컬 컴퓨터에서 AWS 컴퓨터로 원격 접속한다. 그곳에서 OS에게 Shell명령을 내릴 수 있다. => OS가 하드웨어를 제어한다.

왜 Secure가 붙는가?

우리가 내리는 명령 중에 민감한 정보를 입력하는 경우 (비밀번호, 아이디등)에 Secure가 적용되있지 않으면 중간에서 데이터를 노출당할 수 있다. 사용하면 내 데이터가 암호화되서 전송된다.
컴퓨터에 전송되면 디코딩(번역)된다.


흐름 요약 정리

  1. 리전에 컴퓨터를 임대
  2. 운영체제 설치
  3. 컴퓨터에 원격접속을 위해 인바운드 규칙으로 22번 포트를 개방
  4. 프로그램을 이용해서 원격으로 접속 (다양한 접속 방법이 존재함)
  5. 우리가 내리는 명령어가 다른 사람들에게 노출되는 것을 막기 위해 secure shell을 사용 (그냥 shell이 아니라) 암호화가 되서 전달
  6. CLI 환경에서 명령어를 통해 원하는 작업을 한다.

[참고 자료]

[K-디지털] AWS 리눅스 기반 클라우드 데브옵스 기초 실무 과정 - 데어프로그래밍

profile
큰 것을 작게, 작은 것을 구체적이게, 개발자답게
post-custom-banner

0개의 댓글