pile·
인프라 / DevOps·slack-engSlack Engineering·

Shipyard: Slack의 차세대 EC2 플랫폼을 구축한 방법

Slack이 기존 가변형(mutable) EC2 인스턴스 운영 방식을 불변형(immutable) 인프라로 전환한 Shipyard 플랫폼 구축 경험을 다룬다. 오래된 인스턴스를 계속 패치하는 방식에서 인프라를 배포 가능한 아티팩트로 취급하는 방식으로 전환해 드리프트를 없애고, 초 단위 프로비저닝과 보안 신호 기반 자동 인스턴스 교체(The Reaper)를 구현했다.

핵심 포인트
  • 핵심 패러다임 전환: 가변형 인스턴스 업데이트에서 인프라를 배포 가능한 아티팩트로 취급하는 불변형 인프라로 전환해 드리프트 문제를 근원적으로 제거했다.
  • 2단계 이미지 빌드: 베이킹(패키지 설치, 일회성)과 프로비저닝(환경별 설정·시크릿 적용) 단계를 분리해 인스턴스 실행 시간을 초 단위로 줄였다.
  • slack-zero 기반 공유 이미지가 OS 강화·모니터링 에이전트·시스템 구성을 포함하며 AMD64/ARM Graviton, Ubuntu/RHEL/Amazon Linux 다중 아키텍처를 지원한다.
  • The Reaper: 보안 도구 신호 또는 최대 수명 초과 시 자동 인스턴스 교체를 수행하며 지역/AZ별 동시 교체 수 제한과 S3 제어 객체 기반 긴급 중단을 지원한다.
  • Consul Template으로 Vault 시크릿을 인스턴스 교체 없이 동적 갱신하여 불변성의 예외를 우아하게 처리했다.
상세 정리
  • 배경: 기존 모델에서는 EC2 인스턴스를 Chef로 지속 패치해 인프라 드리프트가 누적되고 변경 조정이 복잡해졌다.
  • Shipyard 핵심 원칙: 불변성, 점진적 롤아웃, 자동화된 안전성 — 인프라를 소프트웨어 아티팩트처럼 빌드·테스트·배포한다.
  • 2단계 이미지: 베이킹(Chef 쿡북으로 패키지 설치, 일회성) → 프로비저닝(환경별 설정, 시크릿 적용). 기존처럼 Chef를 지속 실행하지 않아 드리프트가 없다.
  • slack-zero: OS 강화, 모니터링 에이전트, 시스템 구성을 포함한 공유 베이스 이미지. AMD64/ARM Graviton과 Ubuntu/RHEL/Amazon Linux를 지원한다.
  • AWS Image Builder: 자동 라이프사이클 관리, SSM 파라미터 자동 발행, EventBridge 기반 자동화, 배포 전 자동 검증 테스트를 통합했다.
  • Gondola 오케스트레이션: 메트릭 기반 점진적 배포와 자동 롤백을 지원하며 Shipyard가 통합되어 안전한 플릿 업데이트를 수행한다.
  • Peekaboo 시스템: EC2 플릿 전체의 실시간 인벤토리 가시성을 제공해 인스턴스 상태를 즉시 파악한다.
  • The Reaper: 보안 도구 신호 또는 최대 수명 초과 시 인스턴스 자동 교체. 지역/AZ별 동시 교체 수를 속도 제한으로 제어하고 S3 제어 객체로 전체 활동을 긴급 중단할 수 있다.
  • Consul Template 예외: Vault에서 시크릿과 인증서를 동적으로 갱신해 인스턴스 교체 없이도 자격증명 업데이트가 가능한 불변성 예외 구조다.
  • Ship Quick: 개발자가 CLI로 실제 인프라에서 베이킹·프로비저닝을 테스트하는 내부 환경. Longshoremen 워커 플릿이 Ubuntu/slack-zero 두 경로를 지원한다.
  • 향후 과제: 데이터 노드, 싱글톤 서비스 등 장기 실행 인스턴스를 위한 Gondola 새 배포 실행자를 개발 중이다.
왜 읽나EC2 기반 대규모 인프라를 불변형으로 전환하고 자동 인스턴스 교체와 점진적 배포를 구현하려는 인프라·SRE 엔지니어에게 Slack의 실전 아키텍처를 제공한다.
slack-eng
Slack Engineering 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    Claude Apps Gateway on AWS 자세히 알아보기

    Anthropic의 Claude Code 바이너리에 내장된 LLM 게이트웨이 솔루션 Claude Apps Gateway의 AWS 인프라 배포 방법과 엔터프라이즈 기능을 다룬다. API 키 대신 IdP(Identity Provider) 기반 SSO를 사용해 Okta, Microsoft Entra ID, Keycloak과 연동하며, 그룹별 권한 정책, 예산 관리, OpenTelemetry 기반 관측성을 제공한다.

    #claude#bedrock#opentelemetry+2
  2. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    금융 클라우드 길라잡이 A to Z Part 2 – 연구개발망 예외와 망분리 개선 로드맵

    2024년 8월 금융위원회의 망분리 개선 로드맵에 따라 허용된 연구개발망(R&D 망)을 AWS 멀티 계정 아키텍처로 구현하는 방법을 다룬다. 물리적 망분리 대신 논리적 분리로 전환되면서 생성형 AI와 SaaS 서비스 사용이 R&D 망에서 허용됐다. 3계층 VPC 설계, AI 도구 통합, 아티팩트 이전 파이프라인 등 실무 구현 사례를 포함한다.

    #aws#network-security#compliance+2