Skip to content

Fix: production Docker awslogs stream option 호환성 수정 #303

Description

@coconutcococode

Issue Overview

  • 이슈 개요: production Docker Engine 25.0.16이 지원하지 않는 awslogs-stream-prefix 때문에 Backend CD가 container 재생성 단계에서 실패한 문제를 logging configuration 최소 수정으로 해결한다.

Issue Description

  • 세부 설명:
    • Backend CD run 31363102146의 정확한 오류는 unknown log opt 'awslogs-stream-prefix' for awslogs log driver이다.
    • production은 Amazon Linux 2023, Docker Server 25.0.16/API 1.44, Docker Compose 2.39.2이며 awslogs driver plugin은 설치되어 있다.
    • 현재 rollback release 67e49fe4afed3d434a4cf889a88d3126df00a926의 backend는 json-file driver로 healthy 상태다.
    • Docker Engine v25.0.16의 awslogs validator는 tagawslogs-stream을 지원하지만 ECS option인 awslogs-stream-prefix는 지원하지 않는다.
    • 정적 awslogs-stream은 재생성 및 scale-out에서 stream 공유 위험이 있으므로, supported tag template로 container name과 full container ID를 결합한 고유 stream을 사용한다.
    • 변경 범위는 compose.yaml, production observability contract test, deployment documentation으로 제한한다.
    • CloudFormation/IAM/retention/metric/alarm/KMS/SNS 및 OpenAI P0/P1 코드는 변경하지 않는다.
    • production deploy, CloudFormation update, PR merge, artificial OpenAI request/500/retry는 수행하지 않는다.

To do

  • awslogs-stream-prefix를 Docker 25.0.16에서 지원하는 collision-safe tag template로 교체
  • compose config 및 Docker 25.0.16 option allowlist contract 검증
  • remote deploy contract, clean build, MySQL migration gate, git diff --check 실행
  • running production backend/nginx를 변경하지 않는 stopped scratch container create/remove로 exact option acceptance 확인
  • Draft PR 생성 후 CI 확인

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions