목록배포 (53)
개발놀이터
이번 포스팅에선 도커, 그 중에서 도커 네트워크에 대해서 알아보도록 하겠습니다. 도커 네트워크에 대해서는 구글링하면 bridge니 host니 overlay니 많이 나와있으니 흔히 구글링하면 나오는 내용 말고 좀 더 딥한 내용을 다뤄보려고합니다. 제가 도커 네트워크를 공부해야겠다고 생각하게 된 계기는 제가 너무 도커에 대해서 아무것도 모르고 도커를 사용하고 있던 것을 발견했습니다. 그냥 Dockerfile만들고 build하고 docker-compose에 등록해서 관리하면 끝! 사실 이게 끝일 정도로 도커 자체는 정말 간단하긴 하지만 도커를 조금 더 깊이있게 공부해야겠다는 마음으로 도커 카테고리를 약 1년만에 부활시켰습니다. 이번엔 도커 네트워크에 대해서 딥다이브하는 시간을 가져보겠습니다. 도커 아..
이번 포스팅에선 AWS를 다채롭게 사용하여 대부분의 웹을 이루고 있는 3티어 아키텍처를 고도화하는 과정을 포스팅해보도록 하겠습니다. 3 Tier Architecture3계층 구조라고도 불리는 이 아키텍처는 현재 대부분의 웹의 구조입니다. 이 3티어 아키텍처 말고도 1티어 2티어도 있는데 그냥 티어라는 것은 "서버를 물리적으로 분리했다"라고 생각하시면 됩니다. 1티어 2티어 아키텍처에 대한 내용은 구글링하시면 쉽게 접할 수 있는 내용이기 때문에 이번 포스팅에선 넘어가도록 하겠습니다. 저는 3티어 아키텍처만 집중적으로 파보겠습니다. 클라이언트 계층흔히 정적 데이터(html, css, js, image)들이 들어가있는 계층으로서 3티어 아키텍처에선 주로 웹서버가 이 자리를 차지하고 있습니다. 웹에선..
오늘은 kubernetes의 정책 관리를 맡고 있는 Istio에 대해서 포스팅 해보도록 하겠습니다. DevOps 엔지니어 모집 공고를 보면 "Istio를 기반으로한 서비스 메쉬에 대한 이해가 높으신 분" 같은 문구를 종종 볼 수 있습니다. 이것이 제가 쿠버네티스 아키텍처에서 Istio를 제일 먼저 공부하게 된 계기입니다. 어떤 놈이고 어떤 일을 하는지 공식 문서와 GPT를 이용해 공부해봤습니다. Istio 우선 쿠버네티스 아키텍처를 먼저 짚고 넘어가겠습니다. 여기서 서비스 메시라고 적혀있는 Istio가 오늘의 주인공입니다. 서비스 메시가 뭘까요? 서비스 메시란 마이크로 서비스로 이루어진 네트워크망을 뜻합니다. 즉 쿠버네티스 내부적인 네트워크 망이라고 보시면 되겠습니다. 이제 본격적으로 Istio에 대해서..
개인적으로 쿠버네티스에 관심이 있어서 표면적인 지식을 학습하려고합니다. 쿠버네티스는 구글에서 개발한 오픈소스 컨테이너 오케스트레이션 도구이며 구글에서 가이드라인을 주기로는 행성급 애플리케이션(약 10억개의 컨테이너)에 어울리는 기술이라고 합니다. 때문에, 웬만한 기업에선 쿠버네티스를 사용하는 것이 오히려 유지보수적인 측면에서 독이 될 정도로 사용하기 까다로운 기술 중 하나입니다. 신입인 저는 공부하는 것이 오버스펙이라고 주변에서 뜯어말리지만 공부는 그냥 자기가 하고싶은거 하는게 최고이지 않겠습니까 공부해서 손해보는 공부는 없으니까요. 그래서 사람들 말 무시하고 제가 하고싶은 공부 하기로 했습니다. 쿠버네티스란? 위의 사진은 개발 단계를 표현한 그림입니다. 맨 처음 전통적인 개발 방식은 하드웨어에 OS를 ..
앞선 포스팅과 이어지는 내용입니다. https://coding-review.tistory.com/460 Elastic Load Balancer (ELB) : (1) 이번 포스팅에선 AWS의 핵심 시스템 중 하나인 Elastic Load Balancer 줄여서 ELB에 대해서 알아보도록 하겠습니다. ELB는 개발자에게 그리고 AWS에게도 빠질 수 없는 중요한 시스템인데요. 만약 개발자에 coding-review.tistory.com 우리는 인스턴스를 생성했고 로드밸런서를 생성했으며 타겟그룹까지 생성했고 로드밸런서에 타겟그룹을 라우팅하는 작업까지 끝났습니다. 근데 이러고 보니까 조금 문제가 있습니다. 바로 사용자가 로드밸런서에 접근할 때마다 새로운 애플리케이션으로 연결해주는데 로그인을 했는데도 로그인이 풀려..
이번 포스팅에선 AWS의 핵심 시스템 중 하나인 Elastic Load Balancer 줄여서 ELB에 대해서 알아보도록 하겠습니다. ELB는 개발자에게 그리고 AWS에게도 빠질 수 없는 중요한 시스템인데요. 만약 개발자에게 "AWS에서 제공하는 로드밸런서의 기능을 직접 구현해라"라고 하면 구현하는 것도 만만치 않은데다 유지보수 하는것도 쉽지 않을 것입니다. 또한, 기껏 직접 로드밸런서를 만들었다고 하더라도 다른 시스템과 연동하는건 또 다른 이야기이죠. 이 로드밸런서를 각각의 애플리케이션과 연결하고 관리하는건 개발자로 하여금 막대한 기술부채를 안겨다주죠. AWS도 ELB라는 구현하기 쉽고 유지보수하기 쉬운 시스템을 내면서 다양한 AWS의 시스템과 ELB를 연동시킬 수 있게 함으로써 더욱 다양한 AWS의 ..
이번 포스팅에선 EC2의 저장공간에 대해서 알아보도록 하겠습니다. 이번 포스팅은 실습보다는 이론 위주로 공부한 것을 정리해보도록 하겠습니다 (비용이 무서워서...) AWS의 핵심 기능 중 하나인 EC2의 저장공간 역할을 하는 인스턴스 스토리지는 데스크탑으로 치면 하드디스크에 해당합니다. 하지만 데스크탑과 다른 점은 클라우드 상에서 벌어지는 일인만큼 하드디스크에 접근하기 위해서는 네트워크 I/O가 있어야 한다는 점입니다. 그래서 실제 데스크탑에 물리적으로 연결되어 있는 하드디스크 (HDD, SSD, NVMe) 보다는 속도가 떨어집니다. 하지만 유연하게 저장공간을 설정할 수도 있고 성능도 원한다면 얼마든지 커스텀할 수 있습니다. 이제 본격적으로 EC2 인스턴스 스토리지에 대해서 알아보도록 하죠! EC2란? ..
만약 애플리케이션에서 파일 업로드와 다운로드를 구현할 때 한번쯤 고려해보는 시스템이 바로 S3입니다. S3란 세개의 S를 말하는데요 Simple Storage Service 이렇게 S3입니다 (갑자기 꽃보다 남자의 F4가 생각나네요). S3는 그냥 단순하게 클라우드 저장소라고 보면 되는데 구글 드라이브와 다르지 않습니다. 하지만 구글 드라이브와는 다르게 S3는 단순한 저장소 이상으로 다양하게 사용할 수 있습니다. 이번 포스팅에선 S3를 다양하게 사용할 수 있는 방법에 대해서 알아보고 직접 S3를 만들어보고 업로드까지 해보는 시간을 가져보겠습니다. 1. 단순하게 저장소로 사용하는 방법 그냥 단순하게 저장소로 사용하는 방법입니다. 아주 심플하고 간단하죠. 클라우드처럼 저장해놓고 꺼낼 때 꺼내는 방법입니다. ..
프로젝트를 진행하면서 AWS에 접근하기 위해서 IAM이라는 것을 설정해본 기억이 한번쯤 있으실 것입니다. IAM은 별 내용이 없어서 지나치기 쉽지만 꽤 심오한 내용을 담고 있었습니다. 이번 포스팅에선 AWS의 권한 책임자 IAM에 대해서 알아보고 직접 만들어보기까지 해보도록 하겠습니다. IAM AWS IAM은 Identity and Access Management의 약자로 IAM은 AWS의 서비스나 자원을 안전하게 접근하도록 관리해주는 서비스입니다. IAM을 사용하면 AWS 유저나 그룹을 생성하고 관리할 수 있으며 AWS 자원에 접근하거나 제한하는 권한을 사용할 수 있습니다. 즉, 인가와 비슷하다고 볼 수 있는데요. 어떤 유저에게는 어떤 서비스는 이용할 수 있고, 어떤 서비스는 이용할 수 없도록 막는 인..
https://coding-review.tistory.com/436 Docker로 Prometheus, Grafana 배포하기 실제 환경을 모니터링하는 것은 매우 중요한 것으로 알려져있습니다. 물론 항상 모니터링 하진 않겠지만 중요한 서비스를 배포해야 한다거나 버그를 고치고 난 뒤에 모니터링을 통해 실제 환경 coding-review.tistory.com 이전 포스팅과 이어집니다. 우리는 앞서 프로메테우스, 그라파나, node-exporter까지 준비를 완료했습니다. 이제 그라파나를 어떻게 사용하는지 천천히 알아보도록 하죠. 그라파나 시작하기 그라파나를 처음 시작하면 다음과 같은 화면이 보입니다. 디폴트 계정은 ID : admin PW : admin 이렇게 되어있으니 로그인 하시면 됩니다. 로그인 후 비..