배포 때마다 끊기던 서비스의 무중단 적용 - Jenkins Rolling Deployment에서 내린 네 가지 결정
타겟 그룹 전체를 동시에 재시작하던 Jenkins 파이프라인을 서버별 순차 배포와 LB 제어로 바꾸며 내린 네 가지 결정과 아직 남은 한계
타겟 그룹 전체를 동시에 재시작하던 Jenkins 파이프라인을 서버별 순차 배포와 LB 제어로 바꾸며 내린 네 가지 결정과 아직 남은 한계
SonarQube Java 분석의 .class 요구 에러를 빌드로 풀고, brew 없이도 돌도록 서버와 Scanner를 Docker로 옮긴 기록
첫 Ansible ping이 publickey 오류로 막혔고, 인벤토리에 키를 지정해 풀었다. 이어서 ad-hoc 명령과 첫 플레이북까지 돌렸다.
맥북에 Multipass VM 두 대를 띄워 제어노드에 Ansible을 설치하고, 관리노드로 SSH 키 접속을 여는 과정을 정리했다.
Mac에서 컨테이너 IP가 보이는데도 접속되지 않는 건 Docker 네트워크가 Linux VM 안에만 있어서다.
PoC에서 SSH 접속을 시험하려는데 Ubuntu 이미지에 sshd가 없어서, openssh-server를 깔고 로컬 2222번 포트로 붙였다.
하루를 넘기던 분석 배치를 대기열 건수 메트릭과 CloudWatch Alarm으로 ECS 태스크 1~10개 사이에서 스케일링한 기록
Docker ELK에 Metricbeat 컨테이너를 붙였지만 Mac 호스트 메트릭은 수집되지 않아, Mac에 직접 설치해 Kibana에서 CPU 사용량을 확인했다.
Aurora MySQL 5.7에서 8.0으로 올리며 배포 방식별 다운타임, 파라미터 그룹 우선순위, 바뀐 기본값을 확인하고 롤백 절차를 직접 세운 기록
아키텍처 차이로 생긴 exec format error를 Docker Buildx의 –platform으로 풀고, GitHub Actions에서 buildx로 빌드해 ECR에 푸시하도록 옮긴 기록