본문 바로가기

[Cloud]/[GCP]

(11)
[Side-Project] Ant Platform - High-scale chat server 구성하기 3 [ 로컬에서 GCP Redis-Instance(memorystore) 에 연결하기 ] Redis 인스턴스에 연결 | Redis용 Memorystore | Google Cloud 이 페이지에서는 Compute Engine 및 Google Kubernetes Engine을 사용하여 Redis 인스턴스에 연결하는 방법을 설명합니다. 또한 Telnet으로 기본 Redis 명령어를 테스트하는 방법도 제공합니다. Memorystore for Redis cloud.google.com 로컬 개발환경에서 GCP의 MemoryStore(나의 경우 redis-instance)에 접근 할 필요가 있다. 이럴때는 간단하게, 포트를 Redis 인스턴스로 전달하는 데 사용할 Compute Engine 인스턴스를 생성하면 된다. 그..
[Side-Project] Ant Platform - High-scale chat server 구성하기 2 [ 캐치업 ] 오랜만에 스프링 부트에서 다시 사이드 플젝으로 돌아왔다. 지난 포스팅에서 [ 1. Cloud MemoryStore에 Redis Instance를 생성 ], [ 2. VPC Connector를 생성 ] 까지를 완성했다. 이후로 바로 cloud-run을 사용하려다가, 코드에서 고칠 부분도 있고 해서 VM에 환경을 구성하고 방화벽 등 서버간 통신이 문제가 없는 것을 확인하고 나서 Docker를 통해 배포를 해보기로 마음먹었다. [Side-Project] Ant Platform - High-scale chat server 구성하기 1 [ 캐치업 ] 지난 한주는 정말 불꽃같은 한주였다. 먼저 면접... 백엔드+ML+클라우드+빅데이터(파이프라인) 에 대한 다소 깊이있는(신입 수준에서) 내용을 정리하느..
[Side-Project] Ant Platform - High-scale chat server 구성하기 1 [ 캐치업 ] 지난 한주는 정말 불꽃같은 한주였다. 먼저 면접... 백엔드+ML+클라우드+빅데이터(파이프라인) 에 대한 다소 깊이있는(신입 수준에서) 내용을 정리하느라 정작 기본적인 내용을 리마인드 하지 못했다. 게다가 2년전에 프로젝트를 여쭤보시는 바람에 기억이 잘 안나서 이상한 말도 많이했다ㅎㅎ. 생각할수록 아쉽고 부끄럽다 (면접관님께서 정확히 파악하셨다^^). 그래도 어쩌겠는가? 지나간 것은 이미 지나간 것이고, 이참에 이력서도 업데이트 하고, 기본기는 지금보다 더 잘 쌓인 개발자가 되면 된다! 일전에 Side-project를 진행하면서 Cloud-Run과 Redis를 이용해 websocket 프로그램을 어떻게 배포할 것인지에 대한 고민과 함께 아키텍쳐를 공부했다. 이번에는 실질적인 배포과정을 기록..
[GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 5.NAT을 통한 Static-IP 요금 절약 [ NAT? ] Cloud NAT을 사용하면 외부 IP 주소가 없는 Google Cloud 가상 머신(VM) 인스턴스가 외부 인터넷망으로 아웃바운드 패킷을 보내고, 다시 NAT을 거쳐 설정된 인바운드 응답 패킷을 받는다. 사용시 이점은 다음과 같다. 보안 수동 NAT IP 주소 할당을 사용하여 Cloud NAT 게이트웨이를 구성할 경우 공통 외부 소스 IP 주소 집합을 대상과 확실하게 공유할 수 있다. 예를 들어 대상 서비스는 알려진 외부 IP 주소로부터 들어오는 연결만 허용할 수 있다. 이그레스 방화벽 규칙에 따라 외부 IP 주소가 없는 VM이 인터넷에서 대상에 액세스할 수 있다. 지원 여부 Cloud NAT는 분산형 소프트웨어 정의 관리형 서비스이다. 프로젝트의 VM 또는 단일 물리적 게이트웨이 기기..
[GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 4. 중간 점검,앞으로 할 일 정리 [ 발생한 문제 정리 ] 1. 원래는 한창 celery에 관한 포스팅을 준비하고 있었는데 갑자기 문제가 터졌다. 여러가지 서비스를 이제 클라우드상에 배포할 예정인데 다음과 같이 Static IP에 대한 charge가 꾸준하게 발생하기 시작했다. 내부에는 팀원이 올린 vm인스턴스 하나와, 테스트용 마이크로서버2개가 있다. 따라서 이번에는 Cloud NAT를 이용해 외부로 공개되는 IP의 개수를 줄여 보안성을 높이고, 동시에 비용도 절감하려고 한다. 실제로 static ip를 사용하는 일반 vm과 nat를 사용하는 vm은 각각 시간당 0.004$ vs $0.0014$로 세배에 가까운 가격차이가 난다. 아래 링크에 들어가면 정확한 과금정책을 확인할 수 있다. cloud.google.com/nat/pricing..
[GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 3. Cloud Monitoring [ Cloud Monitoring의 시작 ] 이제 notice-server에 Cloud-Monitoring을 적용시켜보자. (이전에는 stackDriver라고 불렀다!) Cloud-Monitoring은 인스턴스에 대한 모니터링과 로깅 기능을 지원하는 서비스로, 꼭 GCP의 VM Instance뿐만 아니라 AWS의 EC2도 지원하며, 관련 설명도 document를 확인하면 볼 수 있다. 아마 다른 플랫폼에서 지원하는 인스턴스도 한눈에 모니터링 할 수 있도록 지원하는 것이 아닌가 싶다. 부족한 설명들은 아래의 document에 적용단계가 친절하게 나와있으므로 참고하면 될 것 같다. cloud.google.com/monitoring/quickstart-lamp Compute Engine 인스턴스 모니터링 빠른..
[GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 2. 부하테스트(Locust) [ 부하테스트 ] 다음은 지정한 URL로 부하테스트를 해보려고 한다. 사용할 툴은 바로 Locust! Python으로 스트립트를 작성하기도 하고, 또 사용하기 쉽다고 해서 바로 써보기로 했다. 정식 document는 다음과 같다. docs.locust.io/en/stable/ Locust Documentation — Locust 1.4.3 documentation © Copyright Revision 48de4444. docs.locust.io [ 현재 상태 ] 현재 GCP상에 올려놓은 내 서버는 다음과 같다. gcloud 명령어로 나타낸 각 인스턴스의 정보는 다음과 같다. 무료 인스턴스인 f1-micro가 얼마나 버틸 수 있을것인지.... [ 부하테스트 툴 : Locust ] Locust의 아이디어는 ..
[GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 1.시작 이번 포스팅은 사실 사이드 프로젝트를 진행하면서, Cloud monitoring을 적용시켜보게 된 이유를 설명하고, 그 과정을 기록으로 남기기 위한 것이라, Cloud-Monitoring에 대한 내용은 이어서 포스팅하도록 하겠다. [ 목적 ] 만들려는 서비스는 간단했다. 바로 거대한 플랫폼 서비스에 들어갈 Notification server를 비동기식 micro-service 형태로 만드는 것. 당연히 제대로 알고 하는 것도 아니고, 알음알음 이것저것 뒤져보면서, 이왕이면 지속적으로 확장가능하도록 만들려고 했다. 아래 두 글은 현재 내가 참고하고 있는 포스팅 들이다. medium.com/swlh/architecting-a-scalable-notification-service-778c6fb3ac28 Arc..
[GCP] coursera, Cloud Engineering with Google Cloud 과정 수료 얼른 할인 바우쳐를 달라!!! . . . 예쓰!!!! 시간 좀 남으면 바로 치러 가야겠다!!!
[Qwiklabs] Google Cloud Essentials:Challenge Lab 솔직히 Challenge Lab 하나에 essential에서 진행했던 실습 내용들이 전부 녹아 있기 때문에 이 Lab 하나만 실습해 봐도 전반적인 GCP에 대한 기초적인 내용들을 알 수 있다고 생각한다. challenge lab의 과제내용들은 다음과 같다. Create an instance.(task 1) Create a 3 node Kubernetes cluster and run a simple service.(task 2) Create an HTTP(s) Load Balancer in front of two web servers.(task 3) 정리하면 instance 생성방법, 3개의 Kubernetes cluster 생성, 그리고 HTTP Load balancer를 만들어 보는 것이다. 각각의 t..