It's easy, if you try

[Infra] 리눅스 머신 구하기 본문

etc.

[Infra] 리눅스 머신 구하기

s5he2 2021. 6. 29. 15:38
반응형

목차

  1. 리눅스란?
  2. 기존 진행한 방식
    1. AWS EC2 Linux 인스턴스 방식
      1. Bash shell
      2. PuTTY
      3. OpenSSH
    2. 개요
    3. EC2 인스턴스 연결을 사용하여 Linux 인스턴스에 연결
    4. 연결 옵션
  3. 이 방식을 사용하게 된 배경
    1. 리눅스 머신 구하는 방법 비교
    2. 클라우드 플랫폼 3사 비교(AWS 선택 배경)
  4. 진행하며 깨달은 점

1. 리눅스란?

리눅스 커널에 기반을 둔 운영체제를 의미합니다. 따라서 우리가 실제로 접하게 되는 것은 리눅스 배포판입니다. 그 중, 우분투는 현재 개인용 데스크톱 환경에서도 가장 인기 있는 리눅스 배포판입니다.

  • 장점: 개발 친화적, 오픈소스 운영체제, 개발 친화적(기본 터미널 기능이 우수하고, 모든 환경을 원하는대로 커스터마이즈 해서 사용 할 수 있음)
  • 단점: 운영체제에 대한 접근 장벽이 존재한다. 지원하는 시스템 장치가 윈도우처럼 쉽게 호환되지 않으며, CLI 환경도 GUI 환경이 익숙한 사용자들에게는 적응하기까지 시간이 걸린다.
  • 필자의 경우, 웹 서버를 구축하는 과정에서 사용해보았다!

Bash shell

일반 사용자는 GUI 환경이 익숙한 경우가 대부분입니다. GUI와 대조적으로 텍스트 위주의 인터페이슬르 GUI 또는 CLI 환경이라고 합니다. 개발자가 직접 접할 리눅스 서버는 CLI 환경에서 대부분 다루게 됩니다. 이가 더 많은 편의를 가져다 주기 때문이라고 합니다.

OS에 접근하여 사용자가 이런저런 요청을 할 수 있는 환경을 보통 쉘이라고 합니다. 그중 Bash 쉘은 기본적으로 설치되어 있는 경우도 많고, 이전부터 많이 사용되어지는 환경이라 처음 접하는 사용자에게는 교과서 같은 쉘입니다. 이 외에 zsh도 있습니다.

2. 기존 진행한 방식

AWS EC2 Linux 인스턴스 방식

인스턴스는 AWS 클라우드의 가상 서버를 의미합니다. Amazon EC2를 사용하여 인스턴스에서 실행되는 운영 체제와 애플리케이션을 설정하고 구성할 수 있습니다.

AWS EC2 원격 터미널 접속을 위한 프로그램으로는 PuTTY를 사용하였습니다.
PuTTY 터미널에서 서버 GIT Repository를 clone하는 방식으로 EC2에 서버를 업로드했습니다.

PuTTY

PuTTY는 원격 터미널 접속 프로그램입니다. AWS EC2 인스턴스 생성 전 키 페어를 생성하는데, AWS EC2 원격 터미널에 접속할 때 생성된 프라이빗 키가 사용됩니다.

설정을 마친 후, Open을 누르면 원격 터미널에 접속이 됩니다.

아래는 접속된 원격 터미널의 예시 사진입니다.

PuTTY와 비슷한 프로그램으로는 OpenSSH가 있습니다.

OpenSSH

OpenSSH는 Linux 및 다른 비 Windows 관리자가 원격 시스템의 플랫폼 간 관리를 위해 사용하는 SSH(Secure Shell) 도구의 오픈 소스 버전입니다. OpenSSH는 2018년 가을부터 Windows에 추가되었으며 Windows 10 및 Windows Server 2019에 포함되어 있습니다.

개요

이 인스턴스는 Amazon EBS 지원 인스턴스입니다. 인스턴스가 실행되는 가용 영역을 지정하거나 적합한 가용 영역을 Amazon EC2에서 자동으로 선택할 수 있습니다. 인스턴스를 시작할 때 키 페어보안 그룹을 지정하여 인스턴스 보안을 설정합니다. 인스턴스에 연결할 때는 인스턴스 시작 시 지정한 키 페어의 프라이빗 키를 지정해야합니다.

EC2 인스턴스 연결을 사용하여 Linux 인스턴스에 연결

인스턴스 시작 전 Amazon EC2 사용 설정 에 따라 AWS 가입, 키 페어 생성, 보안 그룹 생성 과정을 거쳐야 합니다.

  1. 지역을 서울로 설정합니다.

  1. 인스턴스 시작 버튼 클릭

  1. Amazon Machine Image(AMI) 선택


4. 인스턴스 유형 선택

  1. 인스턴스 유형 선택 페이지에서 검토 및 시작을 선택하여 마법사가 다른 구성 설정을 완료하게 합니다.
  2. 인스턴스 시작 검토 페이지의 보안 그룹 아래에서 마법사가 보안 그룹을 만들고 선택했음을 확인합니다. 이 보안 그룹을 사용하거나, 다음 단계를 이용하여 설정을 시작할 때 만든 보안 그룹을 선택합니다.
    1. 보안 그룹 편집을 선택합니다.
    2. 보안 그룹 구성 페이지에서 Select an existing security group(기존 보안 그룹 선택)이 선택되어 있는지 확인합니다.
    3. 기존 보안 그룹 목록에서 보안 그룹을 선택한 다음 검토 후 시작(Review and Launch)을 선택합니다.
  3. 인스턴스 시작 검토 페이지에서 시작을 선택합니다.
  4. 키 페어에 대한 메시지가 나타나면 기존 키 페어를 선택 하거나 새 키페어 선택 선택을 통해 키 페어를 생성합니다.

  1. 인스턴스 선택 및 연결 버튼 클릭

  1. 인스턴스 연결

  1. 아마존 리눅스 2 서버의 SSH 터미널에 접속 완료

Amazon EC2 인스턴스 연결은 SSH(Secure Shell)를 사용하여 인스턴스에 연결하는 간단하고 안전한 방법을 제공합니다.

연결 옵션

로컬 컴퓨터의 운영 체제에 따라 로컬 컴퓨터에서 Linux 인스턴스로 연결하는 데 필요한 옵션이 결정됩니다.

3. 이 방식을 사용하게 된 배경

리눅스 머신 구하는 방법 비교

  1. PC에 우분투 설치
    기존에 설치되어 있는 운영체제를 무시하고 우분투를 처음부터 설치해야합니다. 이 방법은 기존 운영체제(Mac 또는 Windows)를 사용할 수 없다는 단점이 있습니다. 이를 보완하는 방법으로는 듀얼부팅이란 것도 있습니다. PC에 OS를 2개 설치하는 것입니다. 하지만 하드디스크를 파티션을 나누어 써야하는 점이 어렵게 느껴질 수 있습니다.
  2. WSL2
    윈도우 10을 사용하는 환경이라면 Windows 내에서 또 하나의 작은 시스템으로 WSL(Windows Subsystem for Linux)를 사용할 수 있습니다. 빠른 속도로 호환성을 높여왔으며, 리눅스 학습에는 문제가 거의 없습니다. MS 공식문서를 따라하며 설치가 가능합니다. 설치 후, 배포판(Ubuntu 등)을 선택할 수 있습니다.
  3. 가상머신
    가장 유명한 가상머신으로는 VMWare가 있습니다. 하지만 이는 PC에서 소프트웨어 적으로 컴퓨터를 만들고, 이 안에 OS를 설치하는 것이므로, 하나의 에뮬레이터를 실행하는 것으로 볼 수 있습니다. 비용이 들지 않지만, 하드웨어 제약사항이 발생할 수 있습니다. (CPU, 하드디스크 공간 등)
  4. 클라우드
    가장 편리한 방법이자, 가장 추천되는 방법입니다. 가장 큰 벤더로는 AWS가 있습니다. AWS의 100 여개 이상의 서비스 중 EC2(Elastic Cloud Compute)라는 서비스를 사용한다면 리눅스가 있는 서버 인스턴스를 사용할 수 있습니다. 유료이지만 Free Tier라는 이름으로 무료서비스가 있습니다. 이 서비스는 학습에 충분합니다.

필자는 윈도우 운영체제가 아니라 Mac 운영체제를 사용하고 있고, 가장 편리하고 하드웨어에 부담이 되지 않는다고 판단되는 방식인 클라우드 방식을 통해 리눅스 머신을 구했습니다.

클라우드 플랫폼 3사 비교 (AWS 선택 배경)

  AWS Azure 구글 클라우드
무료 제공 서비스 12개월 프리티어 제한적 사용 12개월 제한적 사용 + 일정금액 제공 12개월 일정금액 제공
UI, 접근성 편함 아쉬움 구글 기능 쓰는사람에겐 편함
서버 서울 서울, 부산 국내 없음
인스턴스 만드는 속도 빠름 느림 보통
시작 속도 보통 느림 빠름

이 외에도 Toast Cloud, Naver Cloud Platform 등이 있습니다.

  1. 저렴한 비용: 저렴한 종량 과금제 방식
  2. 즉각적 융통성: 설치가 빠르고 관리가 편함
  3. 개방/유연성: 언어 및 운영 체제에 구애 받지 않는 플랫폼
  4. 보안: 여러 계층의 운영 및 물리적 보안을 갖추고 있음

의 측면에 장점을 가지고 있는 AWS 클라우드 플랫폼을 사용하게 됐습니다.

4. 진행하며 깨달은 점

클라우드를 통해 리눅스 머신을 구하는 과정에서 키페어, 보안 그룹, PuTTY 등 새로운 용어를 많이 알게되었습니다. 이 용어들을 헷갈리지 않고, 정확한 역할을 파악하는 것이 중요함을 깨달았습니다. AWS를 통해 보다 가볍게 리눅스 머신을 구할 수 있다는 것이 편리했습니다.

처음엔 과정이 복잡하지만 정리를 해두었기 때문에 다음번엔 수월하게 머신을 구할 수 있을 것 같습니다.

종량 과금제 방식이기 때문에 Free Tier의 제한 내용을 정확히 파악하며 사용하는 것이 중요합니다.

참고 자료

반응형
Comments