전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/인터넷 인터넷 📒 인터넷이란 무엇일까? 컴퓨터로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다. 여러 통신망을 하나로 연결한다는 의미의 '인터 네트워크(inter-netowork)'라 velog.io 인터넷이란 무엇일까? 정의 컴퓨터로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크입니다. 여러 통신망을 하나로 연결한다는 의미의 '인터 네트워크(inter-netowork)'라는 말에서 시작되었습니다. 역사 1960년대 미국 국방성에서 군사적인 목적으로 구축한 알파넷(ARPANET)으로부터 시작되었습니다. 1970년대 빈트 서프와 로버트 칸이 tcp/ip..
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/네트워크 네트워크 📒 네트워크란 무엇일까? Net + Work의 합성어로 말 뜻대로 해석하면 '일하는 그물'이라는 뜻이다. 통신에 접목시키면, 통신 장비들이 서로 연결되어 데이터를 교환하며, 일하는 통신망이라 할 수 velog.io 네트워크란 무엇일까? Net + Work의 합성어로 말 뜻대로 해석하면 '일하는 그물'이라는 뜻입니다. 통신에 접목시키면, 통신 장비들이 서로 그물처럼 연결되어 데이터를 교환하며 일하는 통신 체계라고 할 수 있습니다. 네트워크의 장점 네트워크 통신을 통해 방대한 자료를 공유할 수 있습니다. 파일 공유를 통해 다른 네트워크에 있는 컴퓨터의 파일에 접근할 수 있게 되었습니다. 사진, 음악, 영상 ..
ArgoCD는 GitOps를 구현하기 위한 도구 중 하나로 쿠버네티스를 위한 CD 툴이라고 할 수 있습니다. Git Repository의 특정 브랜치, 태그에 대한 업데이트를 추적하여 Manifest 파일의 변경사항을 감시하게 됩니다. 동기화(Sync)를 통해 현재 배포된 환경의 상태와 Manifest 파일에 정의된 상태를 동일하게 유지하는 역할을 수행합니다. 오늘은 ArgoCD를 설치하고, 간단한 애플리케이션 버전 업데이트를 해보겠습니다. 1. ArgoCD 설치 argocd Namespace를 생성하고, github argocd repository에 있는 install.yaml을 통해 설치할 수 있습니다. kubectl create namespace argocd kubectl apply -n argoc..
쿠버네티스는 부하 증가에 대비해 HPA(Horizontal Pod Autoscaler)를 제공하고 있습니다. HPA를 사용하면 CPU나 메모리의 사용량에 따라 Pod를 추가적으로 배치하거나 감소시킬 수 있습니다. 그러나 HPA로 Pod를 늘리다보면 EC2 Node 리소스가 부족해져 Pod가 Pending 상태에 놓이게 됩니다. 이때, Cluster Autoscaler를 사용하면 Node를 자동으로 증축시켜 Node 리소스 부족에 대처할 수 있습니다. 또한, 부하 감소로 활용도가 낮은 Node가 있다면 Node를 축소시키기도 합니다. 오늘은 HPA, Cluster Autoscaler를 이용하여 부하 증가에 대응해봅시다. 0. Deployment 준비 HPA의 대상이 되는 deployment를 먼저 준비하겠..
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/OSI-7-계층 OSI 7 계층 📒 OSI 7 계층은 무엇일까? 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. velog.io OSI 7 계층 정의 국제표준화기구(ISO)에서 제안한 통신 규약으로, 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것입니다. 나눈 이유 통신이 일어나는 과정을 한 눈에 파악할 수 있습니다. 흐름을 한 눈에 알아보기 쉽고 사람들이 이해하기 쉽습니다. 특정 계층에 이상이 생기면 다른 단계의 장비 및 소프트웨어 등을 건들이지 않고 통신 장애를 일으킨 단계에서 해결할 수 있습니다. 1계층 - 물리계층 주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송합니다. 통..
Fargate는 컨테이너에 대한 적정 규모의 온디맨드 컴퓨팅 용량을 제공하는 기술입니다. Fargate를 사용하면 EC2와 달리 인스턴스를 설정하고, 확장시킬 방안을 고민할 필요가 없습니다. 그럼 Fargate를 사용하여 Pod를 배포하고, 로그까지 보내봅시다. 0. 사전 준비 Fargate profile을 구성할 때, Pod execution role이 필요합니다. IAM Role 생성으로 들어가 Use case에서 EKS - Fargate pod를 선택합니다. Policy는 자동으로 설정되므로 계속 Next를 누르고 Role name을 정한 뒤 Create role을 하면 됩니다. 로그를 받을 Kinesis Data Firehose도 하나 생성하겠습니다. 이때, Source는 Direct PUT이여야..
오늘은 CodePipeline을 사용하여 React CI / CD 환경을 구축해보겠습니다. 0. React 서비스 구축 React 서비스는 S3와 CloudFront를 이용하여 구축했습니다. S3에는 build 디렉토리 안에 있는 파일들을 업로드 하였습니다. 정적 웹 호스팅 기능은 사용하지 않았습니다. CloudFront를 사용할 때 OAC를 통해 S3에 접근하고, Default root object를 index.html로 설정해야 합니다. 또한, React에서 BrowserRouter을 사용한다면 Error pages 설정을 바꿔줘야 합니다. 403 & 404 에러가 발생했을 때 /index.html 경로로 200 코드 응답을 하게 해야합니다. 이제 CloudFront Domain에 접속하면 성공적으로..