피드로 돌아가기
Dev.toBackend
원문 읽기
Air Traffic Control Scaleway Ep.6
Scaleway가 Managed Redis를 Serverless Containers와 통합하여 상태 비저장 함수에 영구 데이터 계층을 추가
AI 요약
Context
Episode 4에서 배포한 상태 비저장 프로브(함수 및 컨테이너)는 실행 후 아무것도 남기지 않으므로 미션 데이터, 장비 목록, 미션 히스토리와 같은 요청 간 영구 상태를 저장할 수 없었다. 컨테이너 재시작, Pod 제거, 배포 사이클 동안 데이터를 유지하면서도 자체 관리 인프라의 운영 오버헤드를 제거할 필요가 있었다.
Technical Solution
- Managed Redis 인스턴스 프로비저닝: RED1-MICRO 노드 타입, 독립 실행형 모드, Amsterdam 1 가용성 영역에서 공개 네트워크로 구성
- 데이터베이스 자격증명 관리: 사용자명과 암호를 정의하고 공개 엔드포인트(호스트:포트 형식)를 복사
- Serverless Containers 네임스페이스에 환경 변수 설정: REDIS, USERNAME, PASSWORD 환경 변수를 네임스페이스 수준에서 정의하여 배포된 모든 컨테이너가 자동으로 상속
- Docker 이미지 빌드 및 푸시: Scaleway Container Registry에 대해 Docker CLI 인증을 수행하고 linux/amd64 컨테이너 이미지 빌드 및 프라이빗 레지스트리에 푸시
- Serverless Container 배포: 70 mVCPU와 128 MB 메모리를 할당하여 Redis와 연결된 컨테이너 배포 및 curl을 통한 라이브 엔드포인트 호출로 검증
Key Takeaway
영구 상태 계층과 상태 비저장 컴퓨팅의 분리를 통해 컨테이너 에페메랄성을 유지하면서 미션 기록을 보존할 수 있으며, 환경 변수를 통한 자격증명 관리는 이미지 또는 소스 코드에 비밀을 포함하지 않는 보안 패턴을 실현한다.
실천 포인트
Redis가 필요한 Serverless 또는 컨테이너 기반 워크로드에서는 관리형 데이터베이스 인스턴스를 프로비저닝하고 네임스페이스 수준의 환경 변수를 통해 자격증명을 주입하면 개발자가 인프라 운영 오버헤드 없이 요청 간 상태를 영구 저장할 수 있다.