Skip to content

Latest commit

 

History

History
150 lines (136 loc) · 8.82 KB

File metadata and controls

150 lines (136 loc) · 8.82 KB
  • 데이터센터 (Data Center)

    • 서버, 네트워크, 스토리지 등의 IT 인프라가 설치된 대규모 시설
  • 리전 (Region) 및 영역 (Zone)

    • 리전 (Region)
      • 리소스를 호스팅하는 특정한 지리적 위치 (zone의 집합)
      • 3개 이상의 영역(zone)으로 구성됨
      • 여러 리전에 리소스를 구성하면 재해 복구 설계 (Diaster Recovery) 가능
      • ex ) us-east1
    • 영역 (Zone)
      • 하나 이상의 데이터 센터 구성
      • 각 영역은 물리적으로 서로 떨어진 곳에 구성됨
      • 여러 영역에 리소스를 구성하면 높은 수준의 장애 독립성 (High Availability)을 얻을 수 있음
      • ex ) us-east1-a, us-east-1-b, us-east1-c
    • 대부분의 경우 서비스 리소스를 생성할 때 리전 또는 영역을 선택해야 함
  • GCP 리소스 구조

    • 항목을 계층적으로 구성하고 관리하는 방식
    • 엑세스 제어 정책 및 구성 설정을 관리 가능
    • 각 리소스는 하나의 상위 리소스에만 속할 수 있음
    • IAM 정책
      • 권한은 계층구조를 통해 상속
      • 예를 들어, 폴더 수준에 권한을 부여하면, 폴더에 속한 프로젝트 및 프로젝트에 속한 리소스에 권한 상속
  • GCP 리소스 구조 - 프로젝트

    • 모든 리소스는 하나의 프로젝트에 속해야 함
    • 하나의 리소스는 하나의 프로젝트에만 속할 수 있음
    • 하나의 프로젝트는 다른 프로젝트의 리소스에 엑세스할 수 없음
      • Shared VPC, VPC Peering을 설정해 주어야 함
    • 예를 들어, Development, Production 등의 환경을 분리할 때 별도의 프로젝트 생성
  • GCE(Google Compute Engine)

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

    • Compute Engine 인스턴스는 최초 1분 청구 후 1초 단위로 요금이 청구됨
    • 지속 사용 할인 (Sustained use discounts)
      • N1, N2 유형의 인스턴스의 경우 20% ~ 50%dml wlthr tkdydgkfdlsdmf qkedmf tn dlTdma
      • 예를 들어, 월 50%에 해당하는 가상머신을 사용하는 경우 10%의 할인 효과를 받음
    • 약정 사용 할인 (Committed use discounts)
      • 1년 또는 3년 약정을 하는 경우 최대 70%까지 할인을 받을 수 있음
    • 선점형 VM 인스턴스 할인 (Premmptible VM Instance)
      • 선점형 인스턴스를 사용하는 경우 최대 80%까지 할인을 받을 수 있음
      • 최대 24시간동안 운영이 가능하고 언제든지 종료될 수 있기에 종료에 영향을 받지 않는 단기 작업에 적합
  • Availability Policy (가용성 정책)

    • Preemptible Instance (선점형 인스턴스)
      • 일반적인 인스턴스 유형보다 비용이 80% 저렴 (저비용 단기 컴퓨팅 인스턴스)
      • 24시간 동안만 시스템이 지속가능 하며, 경우에 따라 더 빨리 종료될 수 있음
      • 시스템 종료 30초 전에 알림을 받기에 종료 전에 작업을 저장하여 나중에 다시 수행 가능
      • 시스템 운영 중에 종료되어도 되거나 배치 프로세스 작업 등의 단기 작업 용도에 적합
    • On host maintenance
      • GCP에서 Compute Engine 정기 유지 관리를 수행할 때, 다운타임 없이 다른 하드웨어로 자동으로 이전하는 기능
    • Automatic restart
      • VM 인스턴스가 유지관리 이벤트, 오류로 자동 종료되면 자동으로 다시 시작하는 기능
  • Networking

    • VPC(Virtual Private Cloud) : GCP 가상 네트워크 환경
    • Network : GCP 서비스가 통신을 할 수 있는 IP 주소 대역
    • Subnet : Network IP 주소 대역대를 분할한 것
    • Firewall : 네트워크 트래픽을 제어하는 가상 방화벽
    • Network Interface Card : Compute Engine Instance에 연결된 네트워크 카드
      • Private IP : VPC 내부 통신을 위한 IP
      • Public IP : 인터넷 통신을 위한 IP
        • Ephemeral(임시) : 임시로 부여되는 Public IP로 GCE 인스턴스를 중지하거나 재시작하면 주소가 변경됨
        • Static(고정) : 고정된 Public IP로 GCE 인스턴스 중지 및 재시작시에도 동일한 주소 사용 가능
  • Google Compute Engine 백업 및 복원

    • Snapshot
      • Compute Engine 인스턴스의 영구 디스크(Persistent Disk)를 백업하는 것
      • 백업된 스냅샷을 이용해 데이터 또는 VM을 복원하는 데 사용
      • Snapshot Schedule 기능을 이용해 지정된 날짜와 시간마다 예약된 백업을 할 수 있음
  • 확장성 (Scalability)

    • 수직적 확장
      • 자원을 추가하는 방식
      • 인스턴스가 뚱뚱해지는 것
      • 머신 유형을 변경하는 것
    • 수평적 확장
      • 노드를 추가하는 방식
      • VM 개수를 늘리는 것
      • 탄력성(Elasticity)이라고도 함
      • 애플리케이션의 확장 방법으로 주로 사용됨
  • Instance Templates

    • 가상머신(VM) 인스턴스와 관리형 인스턴스 그룹(MIG)을 만드는 데 사용 가능한 템플릿
    • 머신 유형, 이미지 등의 속성이 지정된 템플릿을 사용하여 빠르게 인스턴스를 생성
  • Instance Group

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

    • Instance Template
      • 인스턴스 생성을 위한 템플릿
    • Autoscaling (자동 확장)
      • 인스턴스를 자동으로 확장하고 축소
        • Minimum number of instance
        • Maximum number of instance
      • Autoscaling metrics (측정 항목)
        • CPU 사용률
        • Http 로드 밸런서 (부하 분산) 요청 수 또는 사용률
        • Stackdriver Monitoring 측정 항목
      • Cooldown period (대기 기간)
        • Autoscaling metric을 다시 측정하기 시작할 때까지의 시간 설정
        • ex ) Metric을 CPU 50%로 지정했다면 인스턴스가 처음 부팅할 때, CPU 사용률이 많으니 일정시간 기다린 후, CPU 사용률이 안정화 되었을 때 Metric을 측정하여 불필요한 인스턴스 생성 방지
      • Scale In Controls (축소 제어)
        • 갑작스럽게 인스턴스 숫자가 축소되는 것을 방지
        • 부하가 감소한 후 갑자기 증가하는 경우에 인스턴스 축소 속도를 조절하여 사용
        • ex ) 10분동안 최대 20% 이상 또는 5대의 인스턴스 이상 축소하지 않음
    • Autohealing (자동 복구)
      • Health Checks (상태 확인)
        • 인스턴스 응답 상태 확인
        • 인스턴스 상태가 비정상으로 판단 될 경우 인스턴스를 새로 생성
      • Initial delay (초기 지연)
        • HealthCheck를 시작하기 전에 인스턴스가 부팅되고, 애플리케이션이 완전히 시작할 때까지의 시간 설정
        • ex ) 300초로 설정을 했다면 300초 이후에 인스턴스에 대한 HealthCheck를 함
        • 부팅 중에 인스턴스를 비정상으로 인식하여 불필요한 인스턴스가 생성되는 것을 방지
  • Load Balancer

    • 사용자의 트래픽을 분산해주는 서비스
    • 부하 분산을 통해 애플리케이션의 성능 문제 발생 위험을 줄여줌
  • Load Balancer 구성

    • FrontEnd
      • 사용자의 요청이 들어오는 프론트엔드
      • IP address
      • Protocol, port
    • Host and path rules
      • 트래픽을 백엔드로 전달하는 규칙
      • Host 기반
        • naver.com, google.com
      • Path 기반
        • abc.net/video
        • abc.net/picture
    • Backend End
      • 로드밸런서의 트래픽을 받는 엔드포인트
      • Instance Group
      • Cloud Storage Bucket
      • Google Kubernetes
      • App Engine