안녕하세요! 🙋

개발, 클라우드 및 컨테이너 등을 정리하는 기술 블로그입니다.
AWS Smile

Amazon Aurora Auto Scaling을 이용하여 원하는 시간에 스케줄링

Amazon RDS Aurora MySQL, PostgreSQL은 Auto Scaling을 현재 지원하고 있다. 현재 해당 글을 쓰는 시점으로 CPU 사용률 또는 Connection 수로 Scaling을 할 수 있다. 하지만 원하는 시간에 DB를 Scaling 하려면 어떻게 해야 할까? Amazon RDS 콘솔에서는 보이지 않지만, aws application-autoscaling CLI를 이용하면 설정할 수 있다. Terraform을 이용하여 등록하는 방법은 해당 문서를 참고한다. 사전 조건 Scalable Target 등록 우선 Amazon RDS Aurora MySQL 또는 PostgreSQL을 사용하고 있어야 한다. Auto Scaling이 설정되어 있다면 상관없지만 걸려있지 않다면 아래 명령어를 이용하여 MinCapacity, MaxCapcity를 설정해 준다....

April 20, 2024 · minwoo.kim
AWS re:Invent 2023 EXPO entrance

AWS re:Invent 2023 후기

AWS re:Invent 2023 후기를 간단히 작성하였습니다. 사전 준비 AWS Events App 설치 세션 예약 AWS re:Invent 에 가기 앞서 내가 직접 한 것은 위 2가지 밖에 없다. ESTA, 항공권, re:Invent 티켓 및 호텔 예약은 GS네오텍의 지원을 받아 예약을 전부 해주었다. AWS Events App은 행사 Badge 수령 및 일정 관리를 하는데 필요했다. 세션 예약의 경우 좀 늦게 해서 생각보다 원하는 세션을 예약하지 못했는데, 막상 가서 경험해 보니, Walk-Up (미리 가서 기다리는 방법)으로도 충분히 가능했고 일정을 찜해놓고 보다 보면 자리가 비어 충분히 가서 예약할 수도 있었다....

December 17, 2023 · 4 min · minwoo.kim
Coding

Kafka topic retention.ms 변경하는 법

KAFKA_BOOTSTRAP_SERVER : Kafka Bootstrap Server 주소 KAFKA_TOPIC : retention.ms 를 변경할 Kafka Topic 구 버전의 경우 --bootstrap-server 가 아닌, --zookeeper 를 사용한다. 해당 글은 Kafka version 3.4.0 기준으로 작성함. 변경 시도 kafka-topics.sh --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --alter --topic $KAFKA_TOPIC --config retention.ms=43200000 Kafka topic을 위 명령어로 변경을 시도 했지만 아래와 같이 에러가 났다. 당연히 kafka-topics.sh 명령어를 사용할 줄 알았지만 아니였음. Option combination "[bootstrap-server],[config]" can't be used with option "[alter]" (the kafka-configs CLI supports altering topic configs with a --bootstrap-server option 해결 방법 kafka-configs....

April 25, 2023 · minwoo.kim
Istio

Istio Pod Init:CrashLoopBackOff 에러 (Apple M1 Chip, ARM CPU)

Istio Pod Init:CrashLoopBackOff 환경: Apple M1 Chip / M1과 같은 ARM 기반 CPU Istio 테스트를 하기 위해 로컬 환경인 docker-desktop이나 minikube 등을 이용하여 Istio sidecar injection을 하면 에러가 발생하는 것을 확인할 수 있습니다. 에러 발생 시키기 주의: Istio 공식 문서 를 보고 Istio를 설치했다고 가정하고 진행합니다. Nginx Deployment 적용 curl -Ls https://k8s.io/examples/application/deployment.yaml | istioctl kube-inject -f - | kubectl apply -f - 포드(pod) 목록 및 상태 확인 kubectl get pods -l app=nginx NAME READY STATUS RESTARTS AGE nginx-deployment-fc9fcd7c7-98wzz 0/2 Init:CrashLoopBackOff 5 (2m15s ago) 5m12s nginx-deployment-fc9fcd7c7-d5dkh 0/2 Init:CrashLoopBackOff 5 (2m9s ago) 5m12s 포드가 다시 살아나지 못하고 CrashLoopBackOff 상태인 것을 확인할 수 있습니다....

May 28, 2022 · minwoo.kim
Coding

Ubuntu에서 Neovim (nvim) 최신 버전 설치하기

Ubuntu 20.04에서 Neovim 최신 버전 설치하는 방법은 아래와 같습니다. # 만약 Neovim이 이미 설치되어 있다면 제거한다. sudo apt-get remove neovim -y sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update -y sudo apt-get install neovim -y 감사합니다.

April 15, 2022 · minwoo.kim
Django REST framework with JWT, dj-rest-auth

Django REST framework (DRF) JWT로 로그인 및 회원가입 API 구현 (dj-rest-auth)

Django, Django REST framework을 이용하여, 로그인 및 회원가입을 구현해보도록 하겠습니다. 최대한 직접 구현하지 않고, 빠르게 구현하는 데 초점을 맞추었습니다. Django와 관련된 package들을 활용하여 빠르게 로그인 서버를 구축할 수 있습니다. 소스코드는 GitHub 에서 확인해 보실 수 있습니다. ⚙️ 00. 환경 Python: 3.10.3 Django: 4.0.3 PC: macOS Monterey 12.3 (M1 2020) 🛠 01. 프로젝트 초기 설정 Django 프로젝트 생성을 위해 아래 명령어를 실행합니다. Terminal을 이용하여 프로젝트 초기 설정 # Proejct 폴더 생성 mkdir django-auth && cd django-auth # django-admin 이 없으면 pip install Django 실행 django-admin startproject api ....

April 3, 2022 · 5 min · minwoo.kim
Coding

vim에서 파일 타입별로 설정 다르게 하기 (neovim 포함)

사내 코드 규칙 등 회사 또는 개인 프로젝트 할 시에 탭 사이즈를 다르게 하는 경우가 많습니다. 요즘에는 웹은 스페이스 2칸, 서버는 스페이스 4칸으로 하는 경우가 많은 것으로 보입니다. 이에 따라 vim에서도 filetype에 따라 설정하는 법을 공유합니다. autocmd autocmd를 사용하여 하는 경우에는 vim 설정 파일을 열고 아래와 같이 추가합니다. ~/.vimrc neovim의 경우 ~/.config/nvim/init.vim if has("autocmd") filetype on autocmd FileType python setlocal ts=4 sts=4 sw=4 et autocmd FileType javascriptreact setlocal ts=2 sts=2 sw=2 et nu autocmd FileType typescriptreact setlocal ts=2 sts=2 sw=2 et nu endif ftplugin ftplugin은 여러 언어를 다루고, 설정 파일이 복잡한 경우에 유리합니다....

December 26, 2021 · minwoo.kim
AWS Smile

AWS 계정간 RDS 스냅샷 공유

AWS에서는 계정간 database snapshot을 공유할 수 있는 기능을 제공합니다. 해당 내용을 진행하기 위해서는 아래와 같이 진행하면 됩니다. Database가 존재하는 계정을 A, 스냅샷을 공유받을 계정을 B라고 가정하겠습니다. A 계정에서 Database snapshot 생성합니다. (Encrypted인 경우) snapshot을 copy 하기 위해 A 계정에서 KMS key를 생성합니다. (Encrypted인 경우) A 계정에서 생성된 KMS key에 B 계정을 공유할 수 있도록 설정합니다. [Add other AWS accounts] 를 통해 AWS account ID 를 추가합니다. A 계정에서 공유할 snapshot을 copy 합니다....

December 26, 2021 · minwoo.kim
AWS Smile

AWS EC2 용량 증설 (EBS 볼륨 확장)

AWS Console 작업 작업 순서 EC2 메뉴로 이동합니다. 용량을 증설할 서버를 선택 후 Storage 메뉴에서 증설할 Volume ID를 눌러 이동합니다. EBS (Elastic Block Store)의 Volumes 메뉴로 이동됨을 확인합니다. 선택된 Volume의 Actions를 눌러 Modify Volume를 클릭합니다. EBS(Elastic Block Store)의 Volumes에서 Actions를 선택하였을 때 화면 모달 창이 떴다면, Size 값을 변경하고 싶은 값으로 변경하고 Modify 버튼을 눌러 진행합니다. (GiB 기준) Volume Size 변경 화면 확인 창이 나오는데, 해당 내용에 문제가 없다면 Yes 버튼을 눌러 진행합니다....

December 21, 2021 · minwoo.kim