arrow_back

Google Cloud 기초: Compute Engine(AWS) 시작하기

로그인 가입
700개 이상의 실습 및 과정 이용하기

Google Cloud 기초: Compute Engine(AWS) 시작하기

실습 25분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

AWS에 익숙한 클라우드 전문가라면 다중 계층 아키텍처 설계에 컴퓨팅 레이어가 포함됨을 알고 있을 것입니다. 일반적으로 컴퓨팅 레이어 설계에는 가상 머신(VM)이 포함됩니다. 가상 머신을 구성할 때는 다음 사항을 고려해야 합니다.

  • 그래픽 인터페이스를 사용하여 VM을 생성하고 배포하려면 어떻게 해야 할까요?
  • VM에 안전하게 연결하려면 어떻게 해야 할까요?
  • 인스턴스 간 통신을 구현하려면 어떻게 해야 할까요?

AWS에서 조직은 AWS 명령줄 인터페이스(AWS CLI)와 AWS 소프트웨어 개발 키트(SDK)를 통해 프로그래매틱 방식으로 Elastic Compute Cloud 인스턴스라고 하는 VM을 배포합니다. AWS Management Console에서도 VM 인스턴스를 배포할 수 있습니다.

Elastic Compute Cloud(EC2) 인스턴스와 상호작용하기 위해 키 쌍을 사용하여 Linux 인스턴스에서 시큐어 셸(SSH)을 통해 안전하게 연결하거나 Windows 인스턴스에서 관리자 비밀번호를 복호화합니다. 또는 키 쌍이 보안 위험을 초래할 수 있는 경우 AWS Systems Manager Session Manager를 사용하여 대화형 브라우저 기반 셸을 통해 EC2 인스턴스를 관리합니다.

인스턴스 간 통신을 구현하는 간단한 방법은 서브넷 간 트래픽을 허용하는 경로 테이블의 적절한 정의를 사용하여 인스턴스를 동일한 VPC에 배치하는 것입니다.

AWS 다이어그램

이제 Google Cloud에서 비슷한 아키텍처를 만드는 방법을 살펴보겠습니다.

개요

이번 실습에서는 가상 머신(VM)을 생성하고 이를 연결합니다. 또한 인스턴스 간의 연결도 생성해보겠습니다.

목표

이 실습에서는 다음 작업을 실행하는 방법을 알아봅니다.

  • Google Cloud 콘솔을 사용하여 Compute Engine 가상 머신 만들기
  • gcloud 명령줄 인터페이스를 사용하여 Compute Engine 가상 머신 만들기
  • 두 인스턴스 간 연결하기

작업 1. Google Cloud 콘솔에 로그인

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 시크릿 창을 사용하여 Qwiklabs에 로그인합니다.

  2. 실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
    일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.

  3. 준비가 되면 실습 시작을 클릭합니다.

  4. 실습 사용자 인증 정보(사용자 이름비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.

  5. Google Console 열기를 클릭합니다.

  6. 다른 계정 사용을 클릭한 다음, 안내 메시지에 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
    다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.

  7. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.

작업 2. Cloud 콘솔을 사용하여 가상 머신 만들기

  1. 탐색 메뉴(탐색 메뉴)에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. 인스턴스 만들기를 클릭합니다.
  3. 인스턴스 만들기 페이지에서 이름my-vm-1을 입력합니다.
  4. 리전영역에 Google Cloud Skills Boost에서 할당한 리전과 영역을 선택합니다.
  5. 머신 유형은 기본값을 사용합니다.
  6. 부팅 디스크에 표시되는 이미지Debian GNU/Linux 11(bullseye)이 아닌 경우 변경을 클릭하고 Debian GNU/Linux 11(bullseye)을 선택합니다.
  7. ID 및 API 액세스는 수정하지 않고 기본값을 그대로 유지합니다.
  8. 방화벽에서 HTTP 트래픽 허용을 클릭합니다.
  9. 다른 기본값은 모두 수정하지 않고 그대로 둡니다.
  10. 만들기를 클릭하여 VM을 만들고 실행합니다.
참고: VM을 실행하고 완전히 사용할 수 있을 때까지 2분 정도 소요됩니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Cloud 콘솔을 사용하여 가상 머신 만들기

작업 3. gcloud 명령줄을 사용하여 가상 머신 만들기

  1. Google Cloud 콘솔의 오른쪽 상단 툴바에서 Cloud Shell 활성화 버튼(Cloud Shell 아이콘)을 클릭합니다.

  2. 계속을 클릭합니다.

  3. Google Cloud Skills Boost에서 할당한 리전의 모든 영역 목록을 표시하려면 이 부분 명령어 gcloud compute zones list | grep 뒤에 Google Cloud Skills Boost 또는 강사가 할당한 리전을 입력합니다.

    전체 명령어는 다음과 같습니다.

    gcloud compute zones list | grep {{{ project_0.default_region | REGION }}}
  4. Google Cloud Skills Boost에서 할당한 영역이 아닌 영역을 목록에서 선택합니다. 예를 들어, Google Cloud Skills Boost에서 리전 및 영역을 할당한 경우 영역을 선택합니다.

  5. 선택한 영역을 기본 영역으로 설정하려면 이 부분 명령어 gcloud config set compute/zone 뒤에 선택한 영역을 입력하세요.

    전체 명령어는 다음과 같습니다.

    gcloud config set compute/zone {{{ project_0.default_zone_2 | ZONE 2 }}}
  6. 다음 명령어를 실행하여 영역에 my-vm-2라는 VM 인스턴스를 생성합니다.

    gcloud compute instances create "my-vm-2" \ --machine-type "e2-medium" \ --image-project "debian-cloud" \ --image-family "debian-11" \ --subnet "default"
참고: VM을 실행하고 완전히 사용할 수 있을 때까지 2분 정도 소요됩니다.
  1. 다음 명령어를 실행하여 Cloud Shell을 종료합니다.

    exit

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. gcloud 명령줄을 사용하여 가상 머신 만들기

작업 4. VM 인스턴스 간 연결

  1. 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.

    생성한 두 개의 VM 인스턴스가 각각 다른 영역에 있는 것을 확인할 수 있습니다.

    이러한 두 인스턴스의 내부 IP 주소는 공통으로 처음 세 바이트를 공유합니다. 이러한 인스턴스는 서로 다른 영역에 있지만 Google Cloud VPC의 동일한 서브넷에 있습니다.

  2. my-vm-2 인스턴스의 명령 프롬프트를 열기 위해 VM 인스턴스 목록의 my-vm-2 행에서 SSH를 클릭합니다.

  3. ping 명령어를 사용하여 네트워크를 통해 my-vm-2my-vm-1에 도달할 수 있는지 확인합니다.

    ping my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}

    ping 명령어의 출력은 my-vm-1의 전체 호스트 이름이 my-vm-1..c.PROJECT_ID.internal임을 나타내며 여기서 PROJECT_ID는 Google Cloud Platform 프로젝트의 이름입니다. Cloud 콘솔은 VM 인스턴스의 내부 IP 주소에 관한 도메인 이름 서비스(DNS) 변환을 자동으로 제공합니다.

  4. Ctrl+C를 눌러 ping 명령어를 취소합니다.

  5. Cloud 콘솔 탭으로 돌아갑니다.

  6. VM 인스턴스 목록의 my-vm-1 행에 있는 SSH를 클릭합니다.

  7. my-vm-1의 명령 프롬프트에서 Nginx 웹 서버를 설치합니다.

    sudo apt-get install nginx-light -y
  8. nano 텍스트 편집기를 사용하여 웹 서버의 홈페이지에 맞춤 메시지를 추가합니다.

    sudo nano /var/www/html/index.nginx-debian.html
  9. 화살표 키를 사용하여 커서를 h1 헤더 바로 밑의 행으로 이동합니다. YOUR_NAME에 실습자 이름을 삽입하여 다음 텍스트를 추가합니다.

    Hi from YOUR_NAME
  10. Ctrl+O 키를 누른 다음 Enter 키를 눌러 수정한 파일을 저장하고 Ctrl+X 키를 눌러 nano 텍스트 편집기를 종료합니다.

  11. 웹 서버가 새로운 페이지를 제공하는지 확인합니다. my-vm-1의 명령 프롬프트에서 다음 명령어를 실행합니다.

    curl http://localhost/

    응답은 맞춤 텍스트 행을 비롯하여 웹 서버 홈페이지의 HTML 소스가 됩니다.

  12. my-vm-2의 명령 프롬프트로 돌아갑니다.

  13. my-vm-2의 명령 프롬프트에서 다음 명령어를 실행하여 my-vm-2my-vm-1의 웹 서버에 도달할 수 있는지 확인합니다.

    curl http://my-vm-1.{{{ project_0.default_zone_1 | ZONE 1 }}}/

    응답은 맞춤 텍스트 행을 비롯하여 다시 웹 서버 홈페이지의 HTML 소스가 됩니다.

  14. 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.

  15. my-vm-1의 외부 IP 주소를 복사하고 새 브라우저 탭의 주소 표시줄에 붙여넣습니다.

맞춤 텍스트를 비롯하여 웹 서버의 홈페이지가 표시됩니다.

참고: my-vm-1 VM 인스턴스를 만들 때 HTTP 트래픽 허용을 클릭하지 않으면 웹 서버 홈페이지에 도달하려는 시도가 실패하게 됩니다. 이 주제는 이번 과정의 범위를 벗어나는 내용이지만 방화벽 규칙을 추가하여 인스턴스에 인바운드 트래픽을 허용할 수 있습니다.

수고하셨습니다

이번 실습에서는 가상 머신(VM) 인스턴스를 서로 다른 두 영역에 만들고 ping, SSH, HTTP를 사용하여 두 인스턴스를 연결했습니다.

Google Compute Engine과 Amazon Elastic Compute Cloud(EC2)는 각각 Google Cloud와 Amazon Web Services(AWS)에서 제공하는 Infrastructure as a Service(IaaS) 제품입니다. 지금까지 Compute Engine에 대해 알아봤으므로 이제 Compute Engine과 EC2의 주요 유사점과 차이점을 살펴보겠습니다.

유사점:

  • Google Cloud와 AWS 모두 신속하고 쉽게 실행할 수 있는 가상 머신(VM)을 제공합니다.
  • 두 서비스 모두 수요에 따라 빠르고 쉽게 확장하거나 축소할 수 있습니다.
  • 두 서비스 모두 자동 장애 조치, 부하 분산 같은 고가용성 및 내결함성 기능을 제공합니다.
  • 두 서비스 모두 가상 프라이빗 클라우드(VPC), 방화벽, 암호화 같은 다양한 보안 기능을 제공합니다.
  • 두 서비스 모두 Windows, Linux를 비롯한 다양한 운영체제를 제공합니다.
  • 이 두 VM 옵션에는 인스턴스를 배포하고 관리하기 위한 프로그래매틱 및 그래픽 인터페이스가 포함되어 있으며 CLI 클라이언트, SDK, 그래픽 콘솔을 통해 이 작업을 수행할 수 있습니다.
  • SSH 또는 RDP와 같은 일반적인 프로토콜을 사용하여 EC2 인스턴스나 GCE VM에 연결할 수 있습니다.
  • AWS와 Google Cloud는 RDP 또는 SSH 포트를 열지 않고도 인스턴스에 안전하게 연결하는 방법도 제공합니다. Google Cloud에서는 이 기능을 IAP(Identity-Aware Proxy)라고 하며, AWS에서는 AWS Systems Manager Session Manager를 사용하면 됩니다.

차이점:

  • 두 서비스 모두 사용한 만큼만 지불하는 가격 책정 모델을 제공하지만 가격 책정 구조에는 약간의 차이가 있습니다. 예를 들어 GCE는 사용된 CPU와 메모리양에 따라 비용을 청구하지만 EC2는 인스턴스 유형과 인스턴스 실행 시간에 따라 비용을 청구합니다.

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.