ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS EC2 기초 (생성 및 접속까지)

    Cloud 기초/AWS 기초 2023. 9. 6. 21:40

     

    AWS의 가상 머신 서비스 EC2

     

    Elastic Compute Cloud (줄여서 EC2)는 AWS에서 제공하는 가상 머신(Virtual Machine) 서비스입니다.

    처음 AWS소개 에서 클라우드라는 건 포켓몬 게임에 나오는 가짜 컴퓨터처럼

    가상의 컴퓨터를 만들어서 여러가지 서비스를 제공하는 것이라고 설명드린 적이 있었죠.

     

    가상의 컴퓨터를 다른 이름으로는 가상 머신(Virtual Machine)이라고 부릅니다.

    그리고 이 가상머신을 AWS에서는 인스턴스(instance)라고 부르지요. (왜 이렇게 각자 부르는 이름이 다른지 원)

    클라우드는 용어에 익숙해지시는게 중요합니다.

    그래야 누군가는 instance, 누군가는 VM이라고 말해도

    "그게 다 같은 가상머신을 가리키는 말이구나!"

    하고 이해하면서 대화를 할 수 있기 때문이죠.

     

    컴퓨터를 새로 사면 뭘 설치해야 할까요? (리그오브레전드는 아니에요)

    원래는 컴퓨터를 사면 OS(Operating System)부터 설치해야 합니다.

    하지만 대부분의 경우, 컴퓨터를 사면 Window OS 혹은  애플의 맥을 구입하면 MacOS가 이미 깔려있죠.

     

    우리가 EC2로 가상머신을 만들 때에도 OS를 선택할 수 있습니다.

    그리고 AWS에서 제공하는 EC2는 기본적으로 리눅스 계열 OS를 지원합니다.

    Ubuntu나 CentOS, Debian 혹은 Amazon Linux 등 다양한 OS중에서 원하는 OS를 선택할 수 있습니다.

    (MS의 Azure는 기본적으로 윈도우 VM을 제공합니다. 이렇게 윈도우 끼워팔기)

     

    우리가 컴퓨터를 살 때 메모리나 CPU RAM 등 성능을 고를 수 있는 것처럼 

    가상 컴퓨터도 당연하게 컴퓨터의 성능을 선택할 수 있습니다.

    그리고 인스턴스를 작동시키는 순간 시간당 돈이 나갑니다.

    테스트용 인스턴스는 테스트가 끝나면 꼭 stop을 해야 비용이 나가지 않습니다.

    (자나깨나 인스턴스 비용 조심!)

     

    그렇게 컴퓨터 쇼핑하듯이 이것저것 클릭으로 내가 원하는 가상 컴퓨터의 성능과 환경을 설정하고 생성을 누르면

    짜잔! 하고 인스턴스가 생성됩니다. (사실 짜잔하고 바로 나오지는 않고 인프라를 구성하는데 좀 시간이 걸립니다.)

     

    이렇게 말로만 설명을 들어서는 어떻게 하는지 도저히 감이 안 잡히죠?

    그림으로 콘솔(console)에서 EC2를 생성하는 것을 하나하나 친절하게 설명드리도록 하겠습니다. 

    (콘솔은 AWS를 웹사이트를 의미합니다. 용어 체크~!)

     

    1. 우선 https://aws.amazon.com/ko/ 에 접속해서 회원가입을 하고 로그인을 해줍시다.

    로그인을 할때 루트사용자(Root User)인지 IAM사용자(IAM User)인지 선택하는 부분이 있는데요.

    루트사용자(Root User)로 로그인하시면 됩니다. 

    (IAM 사용자에 관한 부분은 후에 IAM 주제에서 어떻게 IAM을 통해 User와 Role의 인증과 권한을 관리하는지 설명드리겠습니다.)

    로그인까지 완료하시면 다음과 같이 콘솔 홈 화면이 나옵니다.

     

    AWS Console에 로그인 했을 때 보이는 화면

     

     

    2. 왼쪽 상단에 이상한(?) 점자 모양이 있고 서비스라고 되어있죠? 거기를 클릭해봅시다.

    그러면 아래 그림처럼 AWS에서 제공하는 다양한 서비스들이 메뉴로 보입니다.

     

    서비스 메뉴를 선택하면 보이는 AWS가 제공하는 클라우드 서비스 종류

     

    정말 많은 서비스를 제공하고 있습니다. (역시 클라우드의 전통강자 AWS!)

    이 중에서 EC2는 컴퓨팅(Computing)이라는 메뉴를 선택하면 EC2를 찾을 수 있습니다.

    (영어로 하면 ABC순이라 위쪽에서 찾을 수 있지만, 한글로 하면 가나다 순이라 가장 밑에 있습니다.)

    사실 언어 설정을 영어로 하는 것을 추천드리는데요. 왜냐하면 일반적으로 영어로 된 용어로 통용해서 쓰기 때문입니다.

    하지만 클라우드가 처음이시고 영어도 좀 어렵게 느껴지시는 분들은 한글로 시작하셔도 됩니다.

    나중에 용어가 AWS가 익숙해지시면 영어로 된 용어를 반드시 익히시기 바랍니다.

    (그래야 상대방과 클라우드에 대해서 말해도 대화가 통해요)

     

    그런데 항상 이렇게 어떤 서비스가 어디 있는지 메뉴를 하나하나 눌러가면서 찾아야 하나요?

     

    에이 아니죠!

    가장 위에 검색하는 부분 보이시나요? 저기에 원하는 리소스를 검색하면 바로 편리하게 바로 찾을 수도 있습니다.

    근데 검색을 하려면 찾고싶은 리소스의 이름을 알아야 하겠죠? 그래서 용어에 익숙해지시는 것이 중요합니다^^

     

    자 그럼 아래처럼 EC2 홈화면에 들어가 봅시다. 

     

    EC2 메인 화면

     

    처음에 들어가면 뭔가 복잡하게 생긴 게 많아서 당황스럽죠?

    하지만 걱정하지 마세요 별로 복잡한게 없고 모든 메뉴를 다 알 필요는 없습니다. (그런데 많이 알면 알수록 좋긴 합니다)

    왼쪽의 길쭉한 메뉴부터 하나씩 봅시다

     

    EC2 Status

     

    지금 현재 저희가 보고 있는 화면을 EC2 대시보드(Dashboard)라고 합니다.

    대시보드는 현재 지역(Region)에 몇개의 인스턴스가 생성되어있는지

    인스턴스들과 관련된 보안그룹, 로드밸런서 등은 몇개인지 현재 상태를 전체적으로 보여줍니다. 

    메인화면의 우측상단을 보면 현재 지역인 버지니아 북부를 확인할 수 있습니다.

     

    여기서 중요한 개념 하나만 알고 갑시다.

    클라우드는 전세계를 대상으로 하는 서비스이기 Region이라는 개념을 만들어놨습니다.

     

    아니 가상 서버라면서요? 그런데 지역이 왜 필요하죠?

     


    네 물론 가상화된 이미지를 마치 서버가 가상공간에 있는 것처럼 웹으로 보여주긴 합니다만,

    아무런 실체도 없이 컴퓨터가 돌아가지는 않습니다. (아무리 초전도체도 그건 안 됩니다 ㅠ)

    어딘가에는 실제 아마존의 서버실(데이터센터)이 존재하죠!

    그리고 저 Region은 아마존에서 설정한 지역적으로 분리된 환경을 제공하는 기준으로 보면 됩니다.

    나중에 Region을 설명할 일이 있으면 좀 더 자세하게 설명드리겠습니다.

     

    인스턴스 관련 동작

     

    인스턴스와 관련된 동작에 관한 메뉴입니다.

    우리는 여기서 첫번째 메뉴인 인스턴스(Instance)를 눌러봅시다. 그러면 아래 화면이 뜹니다.

     

    인스턴스 리스트 및 선택 화면

     

    우리는 여기서 인스턴스를 생성할 겁니다.

    그리고 인스턴스들이 여러개 생기면 저기에 쭉 리스트업해서 인스턴스들을 볼 수 있습니다.

    하나의 인스턴스를 체크해서 선택하면, 선택된 인스턴스의 네트워크, 보안 등의 항목을

    아래에 인스턴스 선택 부분에서 자세하게 볼 수 있습니다. (지금 현재는 인스턴스를 만들지 않아서 하나도 없습니다.)

    오른쪽 스티커로 가려진 부분에 있는 인스턴스 시작이라고 쓴 노란 버튼을 눌러봅니다.

    그러면 이런 화면이 등장합니다.

     

    인스턴스 생성 화면

     

    인스턴스를 생성하기 위한 화면인데요 일단 인스턴스의 이름을 정하고 아까 말씀드린 것처럼 OS나 컴퓨터의 사양을 정할 수 있습니다.

    여기서 우리는 amazon linux 2023 AMI를 사용할 겁니다. (왜냐면 프리티어라 가격이 저렴하거든요)

     

    여기서 잠깐! 왜 OS 이미지라는 용어를 쓰는걸까요?

    여기서 이미지는 우리가 아는 그런 사진이나 그림의 이미지라는 의미가 아니라

    OS의 환경을 마치 사진찍듯이 딱 찍어놓고 가상머신을 만들 때 그 이미지를 가상머신에 배포하여

    OS를 설정하는 것으로 이해하시면 됩니다.

     

    자 이제 OS도 선택했고 다른 설정들도 후딱 헤치우고 빨리 인스턴스를 만들어봅시다!

     

    인스턴스 유형

     

    인스턴스 유형은 앞에서 말씀드린 가상 컴퓨터의 성능을 결정하는 부분입니다.

    우리는 테스트만 할거니까 제일 값싼 t2.micro를 선택합시다. (가장 비싼건 시간당 4달러도 넘네요 ㅎㄷㄷ)

    그 다음은 키페어 설정입니다.

     

    키페어 설정

     

    처음 만드는 거니까 새 키 페어 생성을 눌러서 새로 키 페어를 만듭니다.

    키 페어는 출입할 때 들어가는 카드키 발급이라고 보시면 됩니다.

    저 키를 들고 있어야 가상 컴퓨터에 들어갈 수 있는 것이죠! 키를 만들면 자동으로 다운로드가 됩니다.

    일단 안전한 곳에 보관해둡시다! (Download에 그냥 넣어놓으면 큰일납니다!)

    그리고 아래 명령어로 해당 키의 권한도 제한해둡시다.

     

    chmod 400 /path/to/your/private-key.pem

     

    이제 출입증 키도 발급 받았으니 네트워크 설정을 해봅시다.

    여기서 네트워크는 어떤 접속을 허용할 것인가를 규칙을 정하는 부분이라고 생각하시면 됩니다.

     

    EC2 네트워크 설정

     

    네트워크는 이미 자동으로 VPC(Virtual Private Cloud)를 네트워크로 잡고 있습니다.

    VPC는 가상 네트워크로 AWS에서 제공하는 중요한 서비스 중에 하나입니다.

    나중에 더 자세히 설명드리겠습니다만,

    여기선 그냥 네트워크가 AWS가 제공하는 가상 네트워크로 설정이 되었다 정도로만 이해하고 넘어갑시다.

     

    방화벽(보안그룹, Security Group)은 중요한데요. 내가 만든 가상 컴퓨터를 아무나 막 접속해서 쓰면 안 되잖아요.

    아까 받은 출입증키가 있다고 해도 그걸 훔쳐서 미국이든 중국이든 아무데서나 누구나 내 컴퓨터에 접속해버리면 안 되니까

    보안그룹이라는 설정을 통해 출입할 수 있는 IP를 제어합니다. 여기서는 안전하게 내 IP로 설정하겠습니다.

     

    내 IP로 트래픽 제한

     

     

    그리고 이제 생성버튼을 눌러서 인스턴스를 생성해 봅시다. 생성버튼을 누르면 아래 화면으로 이동합니다.

     

    인스턴스 생성 대기

     

    이제 클라우드에서 우리가 주문한대로 열심히 가상 컴퓨터를 생성하고 있습니다. 조금만 더 기다려 봅시다.

    기다리면 이렇게 짠 하고 인스턴스가 생성되어서 실행중이라고 뜨게 됩니다.

     

     

    인스턴스 생성 완료 및 실행

     

    이게 끝입니다. 참 쉽죠? (쉬운거 치곤 과정이 꽤 길었긴 했습니다만 ㅠ)

    이렇게 콘솔에 접속해서 만들 수도 있고 AWS CLI를 이용해서도 만들 수 있고 테라폼같은 IaC로도 만들 수도 있습니다.

    EC2를 만드는 AWS CLI 명령어는 다음과 같습니다.

     

    aws ec2 run-instances \
         --image-id ami-xxxxxxxxxxxxx \
         --instance-type t2.micro \
         --key-name YourKeyPairName \
         --subnet-id YourSubnetID

     

    이제 가상 컴퓨터를 만들었으니 접속해서 사용해봐야겠죠?

    가상 컴퓨터에 접속하는 명령어는 아래와 같습니다.

     

    ssh -i YourKeyPair.pem ec2-user@<public_ip_or_dns>

     

    이렇게 하면 가상컴퓨터에 접속할 수 있습니다.

    그렇지만 지금 만들어진 가상컴퓨터는 방금 막 구입한 컴퓨터와 같아서 아무 것도 깔려있지 않습니다.

    그래서 필요한 언어나 툴을 설치하여 사용할 수 있습니다. (그럼 이제 롤을 설치하면 됩니까?)

     

    지금까지 EC2를 만들고 접속하는 것까지 가장 기본적인 수준으로 알아보았습니다.

    다음에는 좀 더 세부적인 VPC와 서브넷의 설정 및

    Security Group의 인바웃드/아웃바운드 rule 설정까지

    EC2 관련 다양한 설정들에 대해서 자세하게 알아보겠습니다.

     

    (아 그리고 반드시 테스트가 끝난 인스턴스는 종료해주세요! 아무것도 안 해도 켜두면 돈이 나갑니다 ㄷㄷ)

Designed by Tistory.