Cloud/GCP 16

[GCP] GKE 모니터링 로깅 솔루션

병목현상(bottleneck) 병목현상이란 병의 목 부분처럼 넓은 길이 갑자기 좁아짐으로써 교통 정체 현상, 컴퓨터 성능 저하 현상이 일어나는 것이다. 대규모 데이터를 한 번에 내보냈을 때 메모리가 이를 소화하지 못해서 성능이 떨어지는 현상이다. 로깅과 모니터링 로깅과 모니터링은 애플리케이션의 동작과 이벤트를 기록하고 분석하는 과정이다. 로그는 애플리케이션 실행 중에 발생하는 다양한 정보를 기록한다. 로그를 적절하게 모니터링하고 분석하여 병목 현상이 발생하는 지점을 식별하여 병목 현상 해결에 기여할 수 있다. 로깅 에이전트(Logging Agent) 로깅 에이전트는 애플리케이션에서 생성되는 로그를 수집하고 중앙 로깅 시스템으로 전송한다. 로그 수집, 로그 형식 변환(JSON, CSV), 필터링, 전송 및..

Cloud/GCP 2023.07.14

[GCP] GKE 배포, 로드밸런서 서비스 배포, 카나리아 배포

GKE 클러스터에 배포하기 nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 # nginx 배포하기 kubectl apply -f ./nginx-deployment.yaml # 배포 목록 확인하기 kubectl get deployments Pod 확장하기 # 포..

Cloud/GCP 2023.07.12

[GCP] 구글 클라우드와 컨테이너

쿠버네티스는 구글이 만든 서비스이기 때문에 특성이 같다. 그러나 현재 다양한 벤더들이 사용하기 때문에 독립적 성격을 가진다. 컨테이너: 리소스 효율이 높고 이동성이 우수한 독립형 패키지 이미지: 애플리케이션 실행에 필요한 종속성, 환경설정들을 포함하는 패키지 컨테이너 실행 단계 컨테이너 이미지 작성: 도커(Docker) 이미지가 가장 일반적으로 사용된다. 필요한 경우, Dockerfile을 작성해서 이미지를 빌드한다. 컨테이너 오케스트레이션 플랫폼(Kubernetes) 설정으로 컨테이너 자동 확장 및 배포 설정 Ex) GKE 컨테이너 클러스터 구성 컨테이너 배포: 이미지를 사용해서 애플리케이션 클러스터에 배포 모니터링: 컨테이너 실행되면 오케스트레이션 플랫폼으로 컨테이너 상태, 로그, 성능 등을 모니터리..

Cloud/GCP 2023.07.10

[GCP] 구글 클라우드의 리소스 관리 : 리소스 계층 및 리소스 관리 방법

리소스 관리 리전과 영역 구글은 전 세계 인터넷 트래픽 40%을 책임질 정도로 거대한 네트워크를 구성하고 있다 (해저 케이블도 가진다) PoP을 통해 구글 네트워크로 전송한다. PoP는 전 세계에 위치한 Google의 데이터 센터와 사용자들 간에 네트워크 연결을 제공하는 지점이다. PoP는 GCP의 다양한 서비스 및 제품에 적용되며, 사용자들이 가까운 PoP를 통해 데이터를 전송하고, 네트워크 지연 시간을 최소화하며, 안정적인 연결을 유지할 수 있도록 도와준다. 한국의 네트워크는 일본과 싱가포르를 지나서 통신하기 때문에 속도가 느려서 글로벌 서비스를 운영하는데 불리하다. 멀티 리전: 리전이 손실되는 자연 재해로 인해 발생하는 재해 복구로 장애를 방지하기 위해 데이터의 복제 및 분산을 가능하게 설정하는 여..

Cloud/GCP 2023.07.10

[GCP] 클라우드 컴퓨팅과 구글 클라우드

클라우드 컴퓨팅과 구글 클라우드 클라우드 컴퓨팅의 5가지 기본 속성 주문형 셀프 서비스: 사용자 개입 없이 리소스 확 광범위한 네트워크 액세스: 어디서나 액세스 리소스 풀링: 제공업체와 고객의 리소스 공유 신속한 탄력성: 필요에 따라 빠르게 추가 리소스 확보 측정형 서비스: 사용한 만큼만 지불 컴퓨팅 서비스 소개 Compute Engine - IaaS Google Kubernetes Engine(GKE) - IaaS App Engine - PaaS Cloud Functions Compute Engine에 쿠버네티스를 이용하려면 구성 설정, 로드밸런싱, 백업 등의 관리 정책을 가지고 여러 개의 VM들을 각각 수동으로 관리하기 때문에 컨테이너 서비스가 등장 했다. 컨테이너(Container) 내에 애플리케이..

Cloud/GCP 2023.07.10

[GCP] VPC-SC (Service Control)

VPC-SC (Service Control) VPC-SC: 구글에서 사용하고 있는 API에 대한 보안 설정을 해준다. VPC와 관계없다. IDS, 패킷 미러링 등의 기능을 제공한다. IDS(탐지 시스템)을 통해서 인스턴스들이 주고받는 트래픽을 감지하고, 이상을 보이는 트래픽들에 대해서 알린다. 패킷 미러링: 네트워크의 통신은 휘발성이라는 특징이 있다. 중간에 패킷이 손실이 되더라도 확인할 수 있는 방법이 없다. 따라서 패킷을 복제해서 사용한다. 클라우드 로그에서 로깅을 보는 게 아니라, 패킷 자체에서 특정 VM에 넣어놓고 나중에 분석하는 용도로 사용한다. (통신 중의 VM A → 복제된 VM B) Packet Mirroring Packet Mirroring은 VPC 내에서 특정 인스턴스의 트래픽을 점검할..

Cloud/GCP 2023.07.07

[GCP] Network Security - Cloud Armor

Network Security Network Logging 기본적으로 네트워크 트래픽은 꺼져있다. 로깅은 저장용량과 비용을 발생시킬 수 있기 때문에 기본적으로 비활성화되어 있다. Cloud 내 보안 솔루션 WAF WAF는 네트워크의 트래픽을 검사하고 애플리케이션 계층에서 보안을 제공하는 방화벽이다. 웹 애플리케이션 취약성에 대한 보호를 제공하기 위해 HTTP 및 HTTPS 트래픽을 모니터링하고, 악성 코드나 공격 시도를 탐지하고 차단한다. Cloud Armor L3~L4 단계에서 DDoS 공격을 막는다. 그 상위의 보안을 강화하기 위해서 Web Application Firewall (WAF)를 사용하는데 이와 같은 기능을 Amor가 한다. Cloud Amor는 GLB 없이는 사용할 수 없다. 종합적인 클..

Cloud/GCP 2023.07.07

[GCP} VM 로그인 옵션 설정2 - OS 로그인 설정하기

2. OS Login 설정하기 OS Login 기능을 활성화하기 위해 Compute Engine의 메타데이터 항목에 아래의 Key:Value 항목을 추가한다. Key: enable-oslogin Value: TRUE 2. 1번 실습에서 했던 SSH Key로 접속하는 명령어를 입력하여 Key를 통한 로그인이 실패하는지 확인한다. 2023.07.07 - [DevOps/GCP] - [GCP] VM 로그인 옵션 설정 1 - Custom SSH Key로 로그인하기 3. Cloud Shell에서 명령어로 재시도해서 접속이 되는지 확인한다. ssh -i mykey ACCOUNT@[VM-IP] 4. 아래의 명령어로 재시도하여 접속이 되는지 확인한다. gcloud compute ssh [인스턴스 ID] --zone=[존]

Cloud/GCP 2023.07.07

[GCP] VM 로그인 옵션 설정1 - Custom SSH Key로 로그인 하기

1. Custom SSH Key로 로그인하기 접속 테스트를 할 VM을 하나 생성한다. Cloud Shell에 아래 명령어로 Key를 생성한다. ssh-keygen -t rsa -f mykey -C ACCOUNT 3. mykey를 콘솔에 출력한다. 4. VM 편집을 누르고 SSH 키를 추가한다. cat mykey.pub 맥북 환경에서는 PowerShell을 켜고 내컴퓨터명@컴퓨터명.local을 USER란에 넣는다. ex) HvQ0ucIgysbCP609Y8XUzRLWPO/QF1PDtJOwDq7hiedXPU= 내컴퓨터명@컴퓨터사용자명 5. 생성한 키로 접속이 되는지 확인한다. ssh -i mykey ACCOUNT@[VM-IP]

Cloud/GCP 2023.07.07

[GCP] VM Security - API 제어 및 Cloud IAP

VM Security Compute Engine의 API 액세스 설정 Service Account는 API를 활성화하게 되면 구글에서 관리하는 default로 생성된다. default는 많은 권한을 가지고 있고 Compute Engine에 들어가는 default라는 계정은 Editor 권한을 가지고 있어서 사용 범위가 너무 넓다. 따라서 Compute Engine에서는 Service Account는 사용하지 않는다. 그 대신 VM 인스턴스의 API 액세스 설정으로 해당 인스턴스에 대한 API 호출을 허용 또는 제한하는 방법을 정의한다. 액세스 범위는 인스턴스에서 호출할 수 있는 특정 API의 범위를 정의한다. 이는 인스턴스에 할당된 IAM 역할 및 서비스 계정에 적용된다. 액세스 범위는 각 API에 대해..

Cloud/GCP 2023.07.07