불변 인프라의 구성 변경

불변 인프라의 구성 변경

불변 인프라를 사용하는 사람들은 서로 다른 환경 간의 구성 변경을 어떻게 처리합니까? 역할당 하나의 AMI를 생성하고 이를 모든 환경에서 사용하는 좋은 방법은 없습니다.

내 말은 개발, 스테이징 및 프로덕션에 배포할 수 있지만 해당 환경에 대한 올바른 ELB 등을 가리키는 단일 AMI를 구축하는 방법입니다. 현재 제가 생각할 수 있는 유일한 옵션은 다음과 같습니다.

  • 역할별 환경(프로덕션 웹 서버, 프로덕션 앱 서버, 스테이징 웹 서버 등)별로 AMI를 구축합니다. 이는 동일한 이미지를 모든 환경에 푸시하려는 II의 목적을 무너뜨리는 것 같습니다.
  • 거의 완전한 AMI를 구축하고 AMI를 시작한 후 ELB에 추가하기 전에 최종 구성을 수행합니다. 가까운 것 같지만 뭔가 빠진 것 같은 느낌이 듭니다.

어쨌든 AMI가 생성될 때 매개변수 세트를 AMI에 전달할 수 있습니까? 다른 사람들은 불변 인프라를 어떻게 사용하고 있나요?

감사해요.

답변1

~에박스퓨즈우리는 불변의 인프라에 살고 숨쉬고 있습니다. 다음 두 가지 접근 방식을 조합하는 것이 좋습니다.

  1. AMI에서 직접 모든 환경에 대해 가능한 한 많은 구성을 굽습니다(런타임에 올바른 세트를 자동 선택).
  2. 나머지 설정을 인스턴스로 전달사용자 데이터해당 머신/환경에 필요한 값으로 환경 환경을 내보내는 셸 스크립트(cloud-init)

관련 정보