분류 전체보기(40)
-
MySQL 이중화 하기(HA) 1편: Keepalived 설치하기
이번 글에서는 MySQL의 이중화 (HA: High Availability) 를 구성해보도록 한다. 일반적인 어플리케이션은 DB Host 를 한가지만 지정해서 DB와 연결한다. 즉 DB를 이중화를 하든 삼중화를 하든 100중화를 하든 어플리케이션 단에서는 DB의 단일 IP로만 연결하는게 일반적이라는 것이다. (Laravel 등에서 Read / Write 를 나누어서 복수의 DB Host 를 연결할 수 있는 기능을 제공하기는 하는데, 일반적인 백엔드 어플리케이션은 단일 IP로 연결하는게 대부분이다) 어플리케이션 단에서 DB가 이중화가 되어있냐 등을 고려해서 코딩을 해야한다면, 어플리케이션 ~ DB 층이 커플링 되어버려 유연한 아키텍처를 구성하기가 힘들어진다. DB 이중화는 생각만큼 간단하지 않다. VIP ..
2021.12.20 -
SSH Key 파일명을 내맘대로 변경후 github 등에 접속 안될 때
리눅스에서 일반적으로 SSH Key를 생성하면 id_ssa, id_ed25519 같은 파일명에 ~/.ssh 로 생성될 것이다. 이렇게 기본값을 생성했을 경우엔 별다른 설정없이 github 에 자신의 Public Key 를 등록해준다면 문제없이 github 과 연동이 되지만, 여러개의 SSH Key 들을 생성했고 또 관리의 편의성을 위해 파일명을 바꾸었을 경우에는 접속이 잘 되지 않는다. 이런 경우에는 다음과 같은 설정을 해주면 된다. ~/.ssh/config 에 아래 내용을 써주고 저장한다. Host github.com-itspjc # Host명은 맘대로 써줘도 되는데, 공백, '(' ')' 등 일부 특수문자는 넣으면 안된다. HostName github.com User git IdentityFile ~..
2021.11.20 -
Windows 에서 gsutil 사용하기 (Cloud Storage 데이터 업로드, 다운로드)
이전에 Linux에 gsutil 을 설치하여 Cloud Storage 와 연동하는 법을 설명했는데, 이번에는 Windows 에서 gsutil 을 사용하는 법을 소개한다. 공식문서 가이드도 잘 되어 있으니 공식 문서를 참고해도 된다. 공식문서: (Windows 부분을 보면 된다) 설치 공식문서 gsutil 설치 | Cloud Storage | Google Cloud 의견 보내기 gsutil 설치 이 페이지에서는 HTTPS를 사용하여 명령줄에서 Cloud Storage에 액세스할 수 있는 도구인 gsutil의 설치 및 설정을 설명합니다. gsutil을 설치하면 공개 데이터에 대한 즉시 읽기 cloud.google.com 그럼 설치해보자 1. 공식문서 상의 링크에서 Cloud SDK Installer 를 다운..
2021.11.04 -
CKA 시험후기 (Certified Kubernetes Administrator)
회사에서 서비스를 쿠버네티스로 운영하고 있어서 기본적인 쿠버네티스의 개념이나 사용법은 실무수준에서는 이해하고 있었지만, 뭔가 체계적으로 한번 전체적으로 훑어보고 싶었다. 그냥 책만 읽어서는 동기부여가 안될 것 같아서 알아보니 CKA 라는 공인 시험이 있어서 이걸 준비해보기로 했다. 내용을 대충 살펴보니 시험 타이틀 그대로 쿠버네티스 관리자를 위한 시험이었고, 내가 하는 업무의 연관성과 매우 깊었기 때문에 시험에 도전했고, 다행히 무사히 합격했다. 자사 서비스를 쿠버네티스에서 운영하는 사람들에게 필요한 지식들을 테스트하는 시험이니 관심있으신 분들은 이 후기를 참고하셔서 꼭 합격하시면 좋겠다. CKA 시험에 대해 간단히 설명하자면, 온라인으로 진행되며 쿠버네티스 가상환경을 띄워주고 거기에 수험자가 접속해서 ..
2021.10.31 -
Fast API 는 더 깔끔한 API UI도 제공합니다 ( ReDoc )
보통 FastAPI 를 시작하지 얼마 안된 개발자들은 API UI 문서로 OpenAPI기반인 Swagger 를 많이 사용하는데, 사실 나는 Swagger 이 문서로서의 가독성이 좋은지도 모르겠고 무엇보다 그닥 디자인상 마음에 들지 않는다. 다만 API를 테스트해보는 기능이 있기 때문에 많이 사용할 뿐이다. 좀 더 깔끔한 UI로 API 문서를 제공하고 싶은 경우에는 ReDoc 이라는 옵션도 생각해 볼 수 있는데, 이것도 FastAPI에서 디폴트로 제공하고 있다. 다만 ReDoc 은 API를 테스트 해볼 수 있는 기능은 없어서 문서 용도로만 제공하는게 좋겠다. localhost:8000 에 FastAPI 서버를 띄웠다고 가정하겠다. 1. Swagger URL: localhost:8000/docs 2. ReD..
2021.10.29 -
Fast API 에서 .env 파일로 환경변수 관리하기 (python-dotenv)
OS가 아닌 FastAPI 프로젝트 폴더단위로 환경변수를 관리하여, FastAPI 서버를 실행시켜 그 환경변수들만 로드하는 것에 대한 방법에 대해 설명한다. FastAPI에 대한 기초적인 지식은 있다고 가정하고 설명한다. 일단 간단한 프로젝트를 하나 만들어보자. test-fastapi / - main.py - .env Code 0. 필요한 패키지를 설치해준다. 이 글에서 필요한 패키지는 python-dotenv 이다. # 요놈들은 FastAPI 구동을 위한 기본 패키지이고, pip install uvicorn pip install fastapi # 우리가 설치해야 할 애는 이놈이다. pip install python-dotenv 1. main.py: 실제로 FastAPI를 동작시킬 코드이다. 최대한 간단..
2021.10.29