AWS AppConfig란 무엇인가요? - AWS AppConfig

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS AppConfig란 무엇인가요?

AWS AppConfig 기능 플래그와 동적 구성을 사용하면 소프트웨어 빌더가 전체 코드를 배포하지 않고도 프로덕션 환경에서 애플리케이션 동작을 빠르고 안전하게 조정할 수 있습니다. AWS AppConfig는 소프트웨어 릴리스 빈도를 높이고, 애플리케이션 복원력을 개선하며, 새로운 문제를 더 빠르게 해결하는 데 도움이 됩니다. 기능 플래그를 사용하면 새로운 기능을 모든 사용자에게 완전히 배포하기 전에 새로운 기능을 점진적으로 사용자에게 릴리스하고 이러한 변경의 영향을 측정할 수 있습니다. 운영 플래그와 동적 구성을 사용하여 차단 목록, 허용 목록, 조절 제한, 로깅 상세도를 업데이트하고 기타 운영 조정을 수행하여 프로덕션 환경의 문제에 신속하게 대응할 수 있습니다.

참고

AWS AppConfig는 AWS Systems Manager의 기능입니다.

효율성을 개선하고 변경 사항을 더 빠르게 릴리스하세요

새로운 기능과 함께 기능 플래그를 사용하면 프로덕션 환경에 변경 사항을 릴리스하는 프로세스가 빨라집니다. 릴리스 전에 복잡한 병합이 필요한 수명이 긴 개발 브랜치에 의존하는 대신 기능 플래그를 사용하면 트렁크 기반 개발을 사용하여 소프트웨어를 작성할 수 있습니다. 기능 플래그를 사용하면 사용자가 볼 수 없는 CI/CD 파이프라인에서 시험판 코드를 안전하게 롤아웃할 수 있습니다. 변경 사항을 릴리스할 준비가 되면 새 코드를 배포하지 않고도 기능 플래그를 업데이트할 수 있습니다. 출시가 완료된 후에도 코드 배포를 롤백할 필요 없이 플래그가 블록 스위치 역할을 하여 새로운 기능을 비활성화할 수 있습니다.

내장된 안전 기능으로 의도하지 않은 변경이나 장애를 방지하세요

AWS AppConfig는 애플리케이션 장애를 일으킬 수 있는 기능 플래그를 활성화하거나 구성 데이터를 업데이트하지 않도록 하는 데 도움이 되는 다음과 같은 안전 기능을 제공합니다.

  • 유효성 검사기: 프로덕션 환경에 변경 사항을 배포하기 전에 구성 데이터가 구문상 및 의미상 올바른지 확인합니다.

  • 배포 전략: 배포 전략을 사용하면 몇 분 또는 몇 시간에 걸쳐 프로덕션 환경에 변경 사항을 천천히 릴리스할 수 있습니다.

  • 모니터링 및 자동 롤백: AWS AppConfig는 Amazon CloudWatch와 통합되어 애플리케이션의 변경 사항을 모니터링합니다. 잘못된 구성 변경으로 인해 애플리케이션이 비정상적으로 작동하고 이 변경으로 인해 CloudWatch에서 경보가 트리거되는 경우, AWS AppConfig는 변경 사항을 자동으로 롤백하여 애플리케이션 사용자에게 미치는 영향을 최소화합니다.

안전하고 확장 가능한 기능 플래그 배포

AWS AppConfig는 AWS Identity and Access Management (IAM)과 통합되어 서비스에 대한 세분화된 역할 기반 액세스를 제공합니다. AWS AppConfig는 또한 암호화를 위해 AWS Key Management Service (AWS KMS), 감사를 위해 AWS CloudTrail와 통합됩니다. 외부 고객에게 릴리스되기 전에는 서비스를 대규모로 사용하는 내부 고객을 대상으로 모든 AWS AppConfig 안전 제어를 처음 개발하고 검증했습니다.

AWS AppConfig 사용 사례

애플리케이션 구성 콘텐츠가 애플리케이션마다 크게 다를 수 있음에도 불구하고 AWS AppConfig는 광범위한 고객 요구를 포괄하는 다음과 같은 사용 사례를 지원합니다.

  • 기능 플래그 및 토글 — 통제된 환경에서 고객에게 새로운 기능을 안전하게 릴리스하십시오. 문제가 발생할 경우 변경 사항을 즉시 롤백할 수 있습니다.

  • 애플리케이션 조정 — 애플리케이션 변경 사항을 신중하게 도입하면서 프로덕션 환경의 사용자를 대상으로 변경 사항이 미치는 영향을 테스트합니다.

  • 허용 목록 또는 차단 목록 — 새 코드를 배포하지 않고도 프리미엄 기능에 대한 액세스를 제어하거나 특정 사용자를 즉시 차단할 수 있습니다.

  • 중앙 집중식 구성 스토리지 — 모든 워크로드에서 구성 데이터를 체계적이고 일관되게 유지합니다. AWS AppConfig를 사용하여 AWS AppConfig 호스팅된 구성 스토어, AWS Secrets Manager, Systems Manager 파라미터 스토어 또는 Amazon S3에 저장된 구성 데이터를 배포할 수 있습니다.

AWS AppConfig 사용의 이점

AWS AppConfig는 조직에 다음과 같은 이점을 제공합니다.

  • 고객의 예상치 못한 가동 중지 시간을 줄이세요

    AWS AppConfig는 구성의 유효성을 검사하는 규칙을 생성할 수 있도록 함으로써 애플리케이션 가동 중지 시간을 줄입니다. 유효하지 않은 구성은 배포할 수 없습니다. AWS AppConfig에서는 구성의 유효성을 검사하기 위한 다음 두 가지 옵션을 제공합니다.

    • 구문 유효성 검사의 경우 JSON 스키마를 사용할 수 있습니다. AWS AppConfig는 JSON 스키마를 사용하여 구성의 유효성을 검사하여 구성 변경이 애플리케이션 요구 사항을 준수하는지 확인합니다.

    • 시맨틱 검증의 경우 AWS AppConfig는 사용자가 소유한 AWS Lambda 함수를 호출하여 구성 내에서 데이터를 검증할 수 있습니다.

  • 대상 집합에 변경 사항을 신속하게 배포

    AWS AppConfig는 중앙 위치에서 구성 변경 사항을 배포하여 대규모로 애플리케이션 관리를 단순화합니다. AWS AppConfig는 AWS AppConfig 호스팅된 구성 저장소, Systems Manager 파라미터 스토어, 파라미터, Systems Manager(SSM) 문서 및 Amazon S3에 저장된 구성을 지원합니다. EC2 인스턴스, AWS Lambda, 컨테이너, 모바일 애플리케이션 또는 IoT 디바이스에서 호스팅되는 애플리케이션에서 AWS AppConfig를 사용할 수 있습니다.

    대상은 Systems Manager SSM 에이전트, 또는 다른 Systems Manager 기능에서 필요한 IAM 인스턴스 프로필을 사용하여 구성될 필요가 없습니다. 즉, AWS AppConfig는 비관리형 인스턴스와 함께 작동합니다.

  • 중단 없이 애플리케이션 업데이트

    AWS AppConfig는 중량(heavy-weight) 빌드 프로세스 없이, 또는 대상을 서비스 중단하지 않고 런타임 시 대상에 구성 변경 사항을 배포합니다.

  • 애플리케이션 전반의 변경 사항 배포 제어

    대상에 구성 변경 사항을 배포할 때 AWS AppConfig를 사용하면 배포 전략을 사용하여 위험을 최소화할 수 있습니다. 배포 전략을 사용하면 구성 변경 사항을 플릿에 천천히 롤아웃할 수 있습니다. 배포 중에 문제가 발생하는 경우 대부분의 호스트에 적용되기 전에 구성 변경 내용을 롤백할 수 있습니다.

AWS AppConfig 작동 방식

이 섹션은 AWS AppConfig 작동 방식 및 시작 방법에 대한 개괄적인 설명을 제공합니다.

1. 클라우드에서 관리하고자 하는 코드의 구성 값을 식별하십시오.

AWS AppConfig 아티팩트를 만들기 전에 AWS AppConfig를 이용해 코드에서 동적으로 관리할 구성 데이터를 식별하는 것이 좋습니다. 좋은 예로는 기능 플래그 또는 토글, 허용 및 차단 목록, 로깅 상세 정보, 서비스 제한, 제한 규칙 등이 있습니다.

구성 데이터가 이미 클라우드에 있는 경우 AWS AppConfig 검증, 배포 및 확장 기능을 활용하여 구성 데이터 관리를 더욱 간소화할 수 있습니다.

2. 애플리케이션 네임스페이스 생성

네임스페이스를 만들려면 애플리케이션이라는 AWS AppConfig 아티팩트를 만들어야 합니다. 애플리케이션은 단순히 폴더와 같은 조직적 구성입니다.

3. 환경 생성

각 AWS AppConfig 애플리케이션에 대해 하나 이상의 환경을 정의합니다. 환경은 Beta 또는 Production 환경의 애플리케이션, AWS Lambda 함수, 또는 컨테이너와 같은 대상의 논리적 그룹입니다. 애플리케이션 하위 구성 요소(예: Web, MobileBack-end)에 대한 환경을 정의할 수도 있습니다.

각 환경에 대해 Amazon CloudWatch 경보를 구성할 수 있습니다. 시스템은 구성 배포 중에 경보를 모니터링합니다. 경보가 트리거되면 시스템이 구성을 롤백합니다.

4. 구성 프로필 생성

구성 프로필에는 무엇보다도 저장된 위치에서 AWS AppConfig가 구성 데이터를 찾을 수 있는 URI와 프로필 유형이 포함됩니다. AWS AppConfig는 기능 플래그와 자유 형식 구성이라는 두 가지 구성 프로필 유형을 지원합니다. 기능 플래그 구성 프로필은 해당 데이터를 AWS AppConfig 호스팅된 구성 저장소에 저장하며 URI는 간단하게 hosted입니다. 자유 형식 구성 프로필의 경우에 에서 자유 형식 구성 프로필 만들기 AWS AppConfig에 설명된 대로 AWS AppConfig 호스팅된 구성 저장소 또는 AWS AppConfig와 통합되는 모든 AWS 서비스에 데이터를 저장할 수 있습니다.

구성 프로파일에는 구성 데이터가 구문상 및 의미상 올바른지 확인하기 위해 선택적 유효성 검사기가 포함될 수도 있습니다. AWS AppConfig에서는 배포를 시작할 때 유효성 검사기를 사용하여 검사를 수행합니다. 오류가 발견되면 배포는 이전 구성 데이터로 롤백합니다.

5. 구성 데이터 배포

새로 배포를 생성할 때 다음을 지정할 수 있습니다.

  • 애플리케이션 ID

  • 구성 프로필 ID

  • 구성 버전

  • 구성 데이터를 배포할 환경 ID

  • 변경 사항을 얼마나 빨리 적용할지를 정의하는 배포 전략 ID

StartDeployment API 작업을 호출하면 AWS AppConfig는 다음 작업을 수행합니다.

  1. 구성 프로필의 위치 URI를 사용하여 기본 데이터 저장소에서 구성 데이터를 검색합니다.

  2. 구성 프로필을 생성할 때 지정한 유효성 검사기를 사용하여 구성 데이터가 구문상 및 의미상 올바른지 확인합니다.

  3. 애플리케이션에서 검색할 수 있도록 데이터 사본을 캐시합니다. 이 캐시된 복사본을 배포된 데이터라고 합니다.

6. 구성을 검색합니다

AWS AppConfig 에이전트를 로컬 호스트로 구성하고 에이전트가 구성 업데이트를 위해 AWS AppConfig를 폴링하도록 할 수 있습니다. 에이전트는 StartConfigurationSessionGetLatestConfiguration API 작업을 호출하고 구성 데이터를 로컬에 캐시합니다. 데이터를 검색하기 위해 애플리케이션은 로컬 호스트 서버에 HTTP 호출을 수행합니다. AWS AppConfig 에이전트는 간소화된 검색 방법에 설명된 대로 여러 사용 사례를 지원합니다.

사용 사례에서 AWS AppConfig 에이전트가 지원되지 않는 경우 StartConfigurationSessionGetLatestConfiguration API 작업을 직접 호출하여 구성 업데이트를 위해 AWS AppConfig를 폴링하도록 애플리케이션을 구성할 수 있습니다.

AWS AppConfig 시작하기

다음 리소스는 AWS AppConfig로 직접 작업하는 데 도움이 될 수 있습니다.

비디오: AWS AppConfig 기능 플래그 소개

AWS AppConfig 기능 플래그 기능에 대한 소개 동영상을 확인하세요.

Amazon Web Services 유튜브 채널에서 더 많은 AWS 동영상을 보세요.

다음 블로그는 AWS AppConfig와 그 기능을 자세히 알아보는 데 도움이 됩니다.

SDK

AWS AppConfig 언어별 SDK에 대한 자세한 내용은 다음 리소스를 참조하세요.

AWS AppConfig 요금

AWS AppConfig 요금은 구성 데이터 및 기능 플래그 검색을 기준으로 사용한 만큼만 지불하는 방식입니다. 비용을 최적화하려면 AWS AppConfig 에이전트를 사용하는 것이 좋습니다. 자세한 내용은 AWS Systems Manager 요금을 참조하세요.

AWS AppConfig 할당량

다른 Systems Manager 할당량과 함께 AWS AppConfig 엔드포인트 및 서비스 할당량에 대한 정보는 Amazon Web Services 일반 참조에 있습니다.

참고

AWS AppConfig 구성을 저장하는 서비스의 할당량에 대한 자세한 내용은 구성 저장소 할당량 및 제한 섹션을 참조하십시오.