AWS Cloud Map은 클라우드 리소스 검색 서비스입니다. Cloud Map을 사용하면 애플리케이션 리소스의 사용자 지정 이름을 정의할 수 있으며 동적으로 변화하는 이러한 리소스의 업데이트된 위치를 유지 관리합니다. 이를 통해 웹 서비스가 항상 가장 최신 리소스 위치를 검색할 수 있어 애플리케이션 가용성이 향상됩니다.
최신 애플리케이션은 일반적으로 API를 통해 액세스할 수 있고 특정 기능을 수행하는 여러 서비스로 구성되어 있습니다. 각 서비스는 데이터베이스, 대기열, 객체 스토어 및 고객 정의 마이크로서비스 등 다양한 기타 리소스와 상호 작용하며, 기능 작동을 위해 의존하는 모든 인프라 리소스의 위치를 찾을 수 있어야 합니다. 대부분의 경우 애플리케이션 코드 내에서 이러한 모든 리소스 이름 및 위치를 수동으로 관리합니다. 하지만 수동 리소스 관리는 시간이 많이 소요되고 오류에 취약합니다. 함께 사용하는 인프라 리소스의 수가 증가하거나 마이크로서비스의 수가 트래픽을 기반으로 동적 확장 및 축소하기 때문입니다. 타사 서비스 검색 제품을 사용할 수도 있지만, 그럴 경우 추가 소프트웨어 및 인프라를 설치하고 관리해야 합니다.
Cloud Map을 사용하면 데이터베이스, 대기열, 마이크로서비스 및 기타 클라우드 리소스와 같은 애플리케이션 리소스를 사용자 지정 이름으로 등록할 수 있습니다. 그런 다음 Cloud Map은 리소스 상태를 지속적으로 확인하여 위치가 최신인지 확인합니다. 그런 다음 애플리케이션은 애플리케이션 버전 및 배포 환경에 따라 필요한 리소스 위치에 대해 레지스트리를 쿼리할 수 있습니다.
이점
애플리케이션 가용성 향상
Cloud Map은 애플리케이션의 모든 IP 기반 구성 요소의 상태를 모니터링하고 필요 또는 제거 시 각 마이크로서비스의 위치를 동적으로 업데이트합니다. 이를 통해 애플리케이션은 리소스의 최신 위치만을 검색하게 되어 애플리케이션에 대한 가용성이 증가합니다.
개발자 생산성 향상
Cloud Map은 사용자 지정 이름으로 정의할 수 있는 모든 애플리케이션 서비스에 대한 단일 레지스트리를 제공합니다. 이를 통해 개발 팀에서는 지속적으로 리소스 이름 및 위치 정보를 저장, 추적 및 업데이트하거나 애플리케이션 코드 내에서 직접 변경할 필요가 없습니다.
작동 방식
사용 사례
서비스 검색
마이크로서비스는 일반적으로 컨테이너와 같은 동적 리소스를 사용하여 구현되며, 빠른 시작 및 종료가 가능합니다. 이러한 리소스는 API를 통해 커뮤니케이션하고, 애플리케이션 코드 내에서 함께 사용하는 리소스의 위치를 지정해야 합니다. 하지만 이러한 각각의 리소스는 지속적으로 위치가 변경되는 동적인 성격을 갖고 있어 개별 리소스가 모든 종속성의 위치를 일관되게 추적하고 찾는 데 어려움이 있습니다. Cloud Map은 서비스 이름 및 위치의 단일 최신 레지스트리를 제공하며, 이를 통해 마이크로서비스에서 손쉬운 검색이 가능합니다.
지속적 통합 및 전달
여러 환경, 리전 및 버전에 걸친 애플리케이션 코드 배포 시 여러 구성 파일에 모든 서비스의 위치를 업데이트해야 합니다. Cloud Map은 서비스 이름 및 위치의 최신 레지스트를 유지 관리합니다. 배포하는 환경, 리전 또는 애플리케이션 버전을 기반으로 리소스의 위치를 업데이트하고, 애플리케이션은 자동으로 올바른 리소스를 검색합니다.
자동화된 상태 모니터링
애플리케이션은 일반적으로 AWS 서비스 및 사용자 지정 리소스의 조합입니다. 하지만 모든 애플리케이션 리소스의 최신 상태를 안정적으로 확보하는 것은 어렵습니다. Cloud Map은 자동화된 상태 확인을 통해 정상적인 리소스만 최신 리소스를 유지함으로써 아카이빙을 지원합니다. 이를 통해 트래픽이 항상 정상적인 엔드포인트에만 제공됩니다.
블로그 게시물 및 기사
Introducing Cloud Map(Cloud Map 소개)
AWS Cloud Map은 모든 애플리케이션 구성 요소, 위치, 속성 및 상태를 추적합니다. 이제 애플리케이션은 AWS SDK, API 또는 DNS를 사용해 간편하게 AWS Cloud Map에 쿼리하여 종속성 위치를 검색할 수 있습니다.
서버리스 애플리케이션을 위한 AWS Cloud Map 서비스 검색
AWS Cloud Map은 모든 비즈니스 로직을 묶는 접착제 역할을 하여 마이크로서비스로의 여정을 가능하게 합니다. Peak.ai에서는 서버리스 프레임워크를 매우 많이 사용하므로 AWS Cloud Map을 서버리스 프레임워크 워크플로에 통합하는 방법을 살펴보고자 했습니다.