본문 바로가기

반응형

DevOps

(12)
쿠버네티스 기본 개념 정리 이 글을 작성하는 이유는?쿠버네티스에 대한 정리된 내용은 많이 있지만 막상 보려면 처음보는 용어도 있고 이해하는데 어려움이 있어서 기본 개념을 배워보자라는 마음으로 작성해봤습니다. Kubernetes란 무엇인가요?Kubernetes(쿠버네티스)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 운영할 수 있도록 도와주는 오픈 소스 플랫폼입니다. 애플리케이션을 컨테이너로 묶어서 관리하기 때문에 개발자와 운영자가 애플리케이션을 보다 효율적으로 실행하고 관리할 수 있도록 돕습니다.간단히 말하면, 여러 컨테이너가 있을 때 쿠버네티스가 그 컨테이너를 잘 배치하고, 실행 중 문제가 생기면 복구하며, 사용량에 따라 확장/축소까지 자동으로 처리합니다. 정리하자면, 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성..
카카오 알림톡 AWS Lambda 구현 히스토리 현재 운영중인 서비스에서 사용자가 구매한 서비스가 사용 가능하면 알림을 주기로 했다. 국내는 카카오 알림톡으로 위와 같은 사례를 대부분 처리하기 때문에 참고하여 진행했다. 내가 진행한 카카오 알림톡 API는 비즈뿌리오 (나름 잘되어있는 편이라고 생각) 가이드도 잘되어있고, 기존에 사용한 이력이 있어서 쉽게 진행이 가능했다. (템플릿 추가 및 검수까지) 하지만 개발을 진행하는 도중 문제가 발생했따. 현재 운영 서비스는 AWS EKS를 사용하고 있고, MSA 서비스로 API를 운영하고 있었다. 각 서비스마다 배포 시 동적 IP를 할당 받고 있어서 비즈뿌리오 API를 사용하려면 방화벽 허용 처리를 하기위해 고정 IP가 필요했던 것이다. 원인 및 해결방안 알림톡을 발송하려면 방화벽 이슈로 고정 IP가 ..
AWS EC2 설정 및 도메인 적용 그리고 배포까지 (2) 이번 포스팅은 지난번 포스팅을 이어서 진행합니다. AWS EC2 설정 및 도메인 적용 그리고 배포까지 (1) AWS EC2 설정 및 도메인 적용 그리고 배포까지 (1) 이번 포스팅은 AWS EC2를 활용해서 Rest API로 진행한 프로젝트를 배포하는 내용입니다. 전체적으로 진행하는 내용은 아래와 같습니다. 1. EC2 & RDS 생성 2. EC2 서버 JDK 및 MySql 설치 & 설정 3. 도메인 네 givepro.tistory.com 진행하는 항목은 아래와 같습니다. 1. EC2 & RDS 생성 2. EC2 서버 JDK 및 MySql 설치 & 설정 3. 도메인 네임서버 변경 4. SSL 생성 및 설정 5. ALB 생성 및 설정 6. 배포 3. 도메인 네임서버 변경 저의 경우에는 타업체에서 도메인을 ..
AWS EC2 설정 및 도메인 적용 그리고 배포까지 (1) 이번 포스팅은 AWS EC2를 활용해서 Rest API로 진행한 프로젝트를 배포하는 내용입니다. 전체적으로 진행하는 내용은 아래와 같습니다. 1. EC2 & RDS 생성 2. EC2 서버 JDK 및 MySql 설치 & 설정 3. 도메인 네임서버 변경 4. SSL 생성 및 설정 5. ALB 생성 및 설정 6. 보안그룹 설정 7. 배포 한번에 모든 내용을 다루면 복잡하다보니 단계별로 진행하겠습니다. 이번 포스팅은 1,2번입니다. 1. EC2 생성 및 보안그룹 설정 EC2 생성 시 주의할점은 아래와 같습니다. 인스턴스 유형 키 페어 (암호키) 보안 그룹 고정 IP OS의 경우에는 대부분 Amazon Linux 또는 Ubuntu를 사용하기때문에 리눅스 기반 OS로 생각하시면 됩니다. 저는 Amazon Linux..
Jenkins 개발 가이드 + Bitbucket (윈도우 /로컬) 윈도우 환경에서 Jenkins로 로컬 개발환경을 구축 시스템 환경 Windows 10 Pro 64Bit WSL2 & Ubuntu Docker Desktop SourceTree & Git Bash 젠킨스 설치 Jenkins download and deployment Jenkins download and deployment The Jenkins project produces two release lines: Stable (LTS) and regular (Weekly). Depending on your organization's needs, one may be preferred over the other. See the links below for more information and recommendatio..
Docker 기본 (Dockerfile 작성 및 컨테이너 실행까지) 전에 팀원들에게 Docker의 기본적인 작성 방법 및 실행에 대해 리뷰를 했었습니다. 포스팅으로도 남기면 좋을 것 같아서 작성해봅니다. :D 준비 Docker Container를 실행하는 과정을 간략하게 작성해봤습니다. 선행조건 Docker 설치 Node 설치 (꼭 노드가 아니어도 됨. 여기서는 간단하게 실행하기 위해 사용) 1. 간단한 Node 코드 작성 server.js 파일 생성 및 작성 var http = require('http'); var handleRequest = function(req, res) { res.writeHead(200); res.end('Hello World'); }; var www = http.createServer(handleRequest); www.listen(8080)..
게이트웨이 (Gateway)란? 게이트웨이란 네트워크에서 다른 네크워크로 이동하기 위하여 거쳐야 하는 지점이라고 말할 수 있습니다. 또한 이종 프로토콜 및 네트워크 간에 통신을 가능하게 합니다. 라우터와 게이트웨이는 기능은 유사하지만 다른 부분이 있습니다. 라우터 OSI 3계층 및 4계층을 이용 하드웨어 게이트웨이 OSI 5계층 이상 이용 소프트웨어 라우터를 포괄 주변에서 볼 수 있는 게이트웨이의 예시는 인터넷 유무선 공유기입니다. 공유기는 사용자 기기의 네트워크와 인터넷을 연결하여 사용자가 인터넷에 접근할 수 있게 해줍니다. 그리고 사용자가 속해 있는 로컬 네트워크의 통신 프로토콜과 인터넷의 통신 프로토콜이 다르기 때문에 게이트웨이가 반드시 있어야 합니다. 그러면 프로토콜이란? 원래 외교상의 언어로써 의례나 국가간에 약속을 의미하며,..
MSA 개념 정리 마이크로서비스 아키텍쳐란? 하나의 서비스를 작은 마이크로서비스로 쪼개는 것. (독립된 서비스로 운영될 수 있는) 다른 마이크로서비스와 겹치지 않고 독립적으로 운영을 할 수 있는 서비스를 의미 한다. 가장 많이 쓰이는 것은 REST API이다. 비즈니스 중심의, 기능이 섞여 있는 서비스 단위 팀으로 구축이 된다. 서비스가 중단되지 않고 지속적으로 기능 업데이트가 가능하다. 마이크로서비스 아키텍쳐의 장점 빠른 개발 속도 : 개발 언어 선택의 자유로움, 서비스 팀의 역량만으로 가능 빠른 배포 속도 및 병렬 배포 : 각 마이크로서비스간 독립된 배포 파이프라인 (CI/CD) DevOps팀과 통합된 운영 : 서비스에 대한 Ownership 확장성, 가용성 : 마이크로서비스 특성에 마즌 확장성/가용성 설계 비즈니스 ..