똑같은 삽질은 2번 하지 말자

GCP (Google Cloud Platform) 이란 본문

카테고리 없음

GCP (Google Cloud Platform) 이란

곽빵 2022. 3. 20. 18:01

개요

GCP (Google Cloud Platform) 에 대해 학습하면서 기록하고 싶은내용

 

GCP란?

Google Cloud (GCP) 란, Google이 클라우드상에서 제공하는 서비스들의 총칭이다.

 

GCP 글로벌 인프라 및 리소스 구조

리전 > 영역 > 네트워크 에지..

리전(Region)

  • 리소스를 호스팅 하는 특정한 지리적 위치(영역의 집합)
  • 3개 이상의 영역으로 구성된다.
  • 여러 리전에 리소스를 구성하면 재해 복구 설계 가능(Disaster Recovery)
  • 예, us-east1 asia-northeas1(이게 도쿄)

영역(Zone)

  • 하나이상의 데이터 센터 구성
  • 각 영역은 물리적으로 서로 떨어진 곳에 구성 됨
  • 여러 영역에 리소스를 구성하면 높은 수준의 장애 독립성을 얻을 수 있음(High Availability)
  • 예 us-east1-a, us-eas1-b 

대부분의 경우 서비스 리소스를 생성할 때 리전 또는 영역을 선택 해야 함

 

GCP 리소스 구조

GCP 리소스 구조

  • 항목을 계층적으로 구성하고 관리하는 방식
  • 액세스 제어 정책 및 구성 설정을 관리 가능
  • 각 리소스는 하나의 상위 리소스에만 속할 수 있음
  • IAM 정책, 권한은 계층구조를 통해 상속된다. 
  • 모든 리소스는 하나의 프로젝트에 속해야 함
  • 하나의 리소스는 하나의 프로젝트에만 속할 수 있음
  • 하나의 프로젝트는 다른 프로젝트의 리소스에 액세스 할 수 없음(Shared VPC, VPC peering을 설정해야함)
  • Development, Production를 프로젝트 별로 분리하여 권한정책을 더욱 유연하게 가져갈 수 있음

내가 다룰건 대부분 Projects와 Resources 정도? 일꺼 같다.

 

Google Compute Engine 생성

Compute Engine이란?

  • AWS의 EC2같은 친구이다
  • 클라우드 가상서버
  • 개별 가상머신을 인스턴스라고 칭함
  • 구글 데이터센터의 물리적인 서버를 사용자가 공유하여 사용
  • CPU, 메모리, 디스크, 네트워크 등을 할당 하고 OS와 애플리케이션을 설치하여 운영

인스턴스 생성을 클릭해 일단 제일 싼 모델로다가 region만 바꿔주고 나머지는 다 default값으로 해서 생성

 

Google Compute Engine 원격 연결 및 웹 서버 생성

본격적으로 웹서버를 생성하기 전에 전체적인 구조를 한번 보자

  • 인스턴스가 생성되면 VPC Network가 자동생성 되고 그 네트워크를 쪼갠 Subnet이 생성된다.
  • VPC(Virtual Private Cloud): GCP 가상 네트워크 환경 / Network: GCP 서비스가 통신을 할 수 있는 IP 주소 대역
  • Subnet: Network IP 주소 대역대를 분할한 것
  • Firewall: 네트워크 트래픽을 제어하는 가상 방화벽
    • Subnet으로 들어오거나 나가는 트래픽을 허용된 친구들만 하게 하는 역할
  • NIC(Network Interface Card): Compute Engine Instance에 연결된 네트워크 카드
    • 여기에 IP주소가 부여
    • Private IP: VPC 내부 통신을 위한 IP (GCP에서 제공하는 서비스들 간의 통신)
    • Public IP: 인터넷 통신을 위한 IP (외부로 노출되는 IP)
      • 임시: 유동 IP
      • 고정: 고정 IP -> 비용 발생

그외 실제로 자세한 부분들은 VPC 네트워크 탭을 보거나 인프런에서 강의를 보자..

 

그럼 이제 웹서버를 생성해보자

브라우저 창에서 열기를 하면 터미널 비스무레한 친구가 나오는데 이하의 코맨드들을 순서대로 입력

그럼 외부 아이피를 그대로 인터넷 주소창에 치면

외부에서 접근할 수 있는 웹서버를 만들었다고 할 수 있다.

 

Instance Group

Instance Group란?

  • VM 인스턴스의 모음
  • 이룹의 인스턴스가 문제가 생겨도 다른 인스턴스에서 서비스를 지속하거나 새로운 인스턴스를 자동으로 새로 생성해주는 이점이 있음
  • Instance Group 유형
    • Unmanaged Instance Group(비 관리형 인스턴스 그룹) 
      • 개별로 설정된 인스턴스의 모음
    • Managed Instance Group(관리형 인스턴스 그룹)
      • 동일한 여러 대의 인스턴스에서 단일 애플리케이션 운영가능
      • 자동확장(AutoScaling), 자동복구(AutoHealing), 리전배포, 자동업데이트 등의 자동화된 기능 지원 

 

Managed Instance Group 구성

Instace Template

AutoScaling(자동 확장)

AutoHealing(자동 복구)

실습은 비용이..좀 더 발생할 꺼 같으니깐 필요할 땐 강의를 참고하자

 

 

Load Balancer

Load Balancer란?

Load Balancer 구성

 

GCP에서 LoadBalancer 구성할 때 화면을 보면 

부하 분산의 탭에서

인스턴스 그룹으로 백엔드를 생성하면 생성되어 있는 인스턴스 들에게 똑같은 비율로 트래픽이 분산된다.

 

 

그리고 백엔드도 호스트나 경로에 따라서 여러개 둘 수도 있다.

 

Comments