[AWS 클라우드] EC2 인스턴스로 리눅스  Linux 설치 및 서버 구축하기
카테고리 없음

[AWS 클라우드] EC2 인스턴스로 리눅스 Linux 설치 및 서버 구축하기

반응형

리눅스

리눅스(Linux)[4]는 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인[5][6][7] 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제 계열이다.[8] 리눅스는 일반적으로 리눅스 배포판 안에 패키지 처리된다. - 위키 백과

요약하자면, 리눅스는 Window, mac ios와 마찬가지로 운영체제이며, 리눅스 커널에 기반을 두었다. 기타 다른 운영체제와 비교하자면, 리눅스는 오픈 소스 유닉스 계열 운영체제로 그 코드가 모두 공개되어 있다.

리눅스는 그 자체로는 커널 기반이라 일반 사용자가 보기에는 당황스러울 것 같은 인터페이스를 가지고 있다.

그래서 보통은 배포판을 사용한다. 리눅스 배포판 은 리눅스 커널, GNU 소프트웨어 및 여러 가지 자유 소프트웨어로 구성된 운영체제이다.

 

우분투

우분투(Ubuntu, (/ʊˈbʊntuː/[1])는 영국 기업 캐노니컬이 개발, 배포하는 컴퓨터 운영 체제이다. 데비안 리눅스를 기반으로 개발되며, 데비안에 비해 사용 편의성에 초점을 맞춘 리눅스 배포판이다.

일반적으로 매 6개월마다 새로운 판이 공개되며, 장기지원판(LTS)은 2년에 한번씩 출시되며, 버전의 별칭을 붙이는데, 아래 이미지는 21.04 "Hirsute Hippo" 버전이다.

우분투는 현재 개인용 데스크톱 환경에서도 가장 인기있는 리눅스 배포판이며, 서버 환경에서 사용하기에도 부족함이 없다. 매년 4, 10월에 새로운 버전이 출시되지만 장기지원판(LTS)는 2년에 한번씩 짝수해 4월에 출시되므로, 최신 버전보다는 LTS를 설치하는 것이 좋다.

 

Unity vs Gnome

리눅스 커널은 리누스 토발즈가 주도하여 개발 및 관리했지만, 배포판의 각자만의 보여지는 형태로 개발되어 왔다.

그중 유명한 것으로는 Gnome이 있으며 우분투의 캐노니컬이 밀고 있는 유니티가 있다. 이 둘은 우분투 기능은 같지만 GUI가 다른 차이가 있다.

http://www.beopensource.com/2017/04/Unity-replaced-with-GNOME.html

 

Bash shell

일반 사용자는 GUI 환경이 익숙하겠지만, 개발자는 CLI(텍스트 위주의 인터페이스) 환경을 많이 다루게 된다.

OS에 접근하여 사용자가 요청을 할 수 있는 커맨드 창을 보통 쉘(shell)이라고 한다. 그 중 Bash 쉘은 기본적으로 설치되어 있는 경우도 많고, 이전부터 많이 사용되어지고 있는 쉘이다.

이외에도 zsh라는 보다 나은 인터페이스와 편의기능이 있는 쉘도 상당히 인기가 있다.

https://chamikakasun.medium.com/iterm2-zsh-oh-my-zsh-the-most-power-full-terminal-on-macos-2021-guide-macos-big-sur-5bb498976dc9

리눅스 기반 OS를 잘 다루기 위해서는 쉘 명령어에 대한 학습을 하는 것이 좋다.

 

리눅스 설치 : 리눅스 머신 구하기

리눅스 서버를 구하려면 리눅스 OS를 설치하거나 설치된 머신을 구하면 된다. 리눅스에 최적화된 하드웨어나 장비들도 있지만 일반적인 PC로도 이 기능을 할 수 있다. 개인 PC에 리눅스를 설치하는 방법은 크게 4가지가 있다.

 

1. PC에 직접 우분투 설치하기

이 방법은 기존에 PC에 깔려있던 운영체제를(윈도우, 혹은 맥)을 무시하고 그냥 우분투를 처음부터 설치하는 것이다. 남는 PC를 싹 지우고, 우분투를 설치하거나 한대의 PC에 두개의 운영체제를 설치하여 듀얼 부팅을 사용할 수 있다.

하지만 이는 당연히 문제가 있다. 일상적으로 기존 운영체제(윈도우)를 사용하던 사람이라면, 리눅스를 잠깐 써보겠다고 운영체제를 완전히 바꿔버리는게 상당히 불편할 것이다. 또한 PC 부품마다 호환성 문제를 해결해야하는 아주 번거로운 일이 있다.

 

2. WSL2

윈도우 10을 사용하고 있는 환경이라면 몇가지 설정만으로 Windows 내에서 또 하나의 작은 시스템으로 WSL(Windows Subsystem for Linux)을 사용할 수 있다.

리눅스와 100% 동일하지는 않지만, 굉장히 빠른 속도로 호환성을 높여갔으며 일반적은 리북스 학습에 있어서는 문제가 거의 없다.

WSL1보다는 WSL2를 사용하는 것이 좋은데, 1을 먼저 설치한 후에 2를 설치해야한다. 자세한 내용은 MS 공식 문서에 있으며, 설명대로 따라하면 된다.

 

3. 가상머신

가상 머신은 하드웨어를 소프트웨어적으로 구현해서 그 위에서 운영체제가 작동하도록하는 기술이다. 에뮬레이터 방식이기에 속도면에서 불이익이 많다는 단점이 있다.

가상 머신 중에서 가장 유명한 것은 EMC의 VMWare 제품이 있다. 보통 기업용 제품이 많지만, 일반 PC에서 사용 할 수 있는 VMWare Workstaion 버전이 있다. 하지만 유료이다.

물론 VirtualBox 같은 무료 제품도 있다.

 

4. 클라우드

가장 추천하는 방법이다. 클라우드 중에서는 AWS를 추천한다.

AWS에서는 100여개 이상의 서비스가 있으며 이중 EC2(Elastic Cloud Compute) 라는 서비스를 사용한다면 리눅스가 있는 서버 인스턴스를 사용할 수 있다.

클라우드는 유료이지만, Free Tier라는 이름의 무료 서비스가 있으며, 학습용으로 적당하다.

aws free tier는 1년간 무료로 제공되며, 이후에 발생하는 요금은 계정 생성시 등록해둔 카드로 자동 결제되니 주의해야한다. 또한, 트래픽이 너무 쌓이거나 무료제공 범위를 넘어설 경우에도 자동 결제될 수 있다. (하지만 아마존은 굉장한 대인배라 학생이라고 말하면 환불해준다고 한다.)

EC2는 AWS에서 제공하는 가상 머신으로 앞서 설명한 VirtualBox와 크게 다르지 않다. 다만, 이것을 로컬 컴퓨터에서 구동되게 하는 것이 아니라 외부에서 인터넷으로 접속하여 사용할 수 있는 것이다. 이것을 EC2 인스턴스를 제공받는다고 표현한다.

 

AWS 클라우드로 우분투 설치하기

1. AWS 가입 및 프리티어, 결제 설정

프리티어가 1년동안 무료이긴해도 결제 카드를 걸어야한다. 마스터나 비자 카드 등으로 걸어두면 되고, 웬만해서는 결제가 될 일은 없겠지만 혹시라도 결제될 때를 대비해서 알림 설정을 해놓을 수도 있다.

 

2. EC2 인스턴스 생성

위 사진까지는 클릭하여 넘어오고, 다음페이지에서 내가 선택한 인스턴스를 확인 할 수 있다. 확인을 모두 마쳤다면 시작하기를 누른다.

시작하기를 누르면 아래처럼 키를 생성하라는 창이 하나 뜨는데, 처음 생성하는거라면 새로운 키페이를 생성해야한다. 위에서 새 키 페어 생성 을 누르고 아래 키 페어 이름 자리에 영어, 숫자 등으로 원하는 이름을 쓰면 된다.

생성된 키는 .pem이라는 파일로 생성되고, 이는 지속적으로 사용될 예정이라서 반드시 잘 보관해두어야한다.

🎉 인스턴스 시작을 클릭하면 아래처럼 인스턴스가 생성된다.

 

3. 보안 그룹 설정

EC2 메뉴 중 좌측에 네트워크 및 보안 > 보안 그룹 클릭

위쪽에 있는 launch-wizard-1 의 ID 클릭

아래 그림과 같이 인바운드(밖 → 안) 규칙이 모든 IP에 대해서 허용되어야 서버 접근이 가능하기 때문에 아래와 같이 설정해 준다.

 

4. 터미널 실행

인스턴스로 돌아와서 연결을 클릭

SSH 클라이언트 클릭 후, 아래 붉은색 박스 영역 복사

cmd 를 관리자 권한으로 열고 pem 파일이 있는 위치로 이동한다.

복사한 명령어를 붙여넣고 엔터를 누르면 연결하겠냐는 문구가 나오고 yes를 입력한다.

그러면 아래와 같이 접속한 것을 확인 할 수 있다

sudo apt-get install -y apache2 를 입력하여 웹서버를 설치한다. 설치가 정상적으로 안될 경우 ( 404 에러 뜨는 경우) sudo apt update 입력 후 다시 설치 명령어를 입력 하니, 정상적으로 작동하였다.

설치가 완료되면 service apache2 status 를 입력하여 상태를 확인한다.

 

 

5. 접속 확인

인스턴스 정보에서 퍼블릭 ip 주소를 복사하여 인터넷 창에 입력한다.

아래처럼 접속되는 것을 확인 할 수 있다.

 

여기까지 AWS 클라우드 환경에서 우분투를 설치하여 우분투 shell에 접속하고, apache2를 이용하여 서버를 구축해보았다!

반응형