Anthos Service Mesh는 온프레미스 또는 Google Cloud에서 안정적인 서비스 메시를 모니터링하고 관리하는 데 도움이 되는 도구 모음입니다.
서비스 메시란 무엇인가요?
서비스 메시는 서비스 간의 관리되는 통신, 관측 가능한 통신, 보안 통신을 사용 설정하여 선택된 인프라의 여러 마이크로서비스로 구성된 강력한 엔터프라이즈 애플리케이션을 만들 수 있게 해주는 아키텍처입니다. 서비스 메시는 일관되고 강력한 도구를 사용하여 모니터링, 네트워킹, 보안과 같은 서비스 실행과 관련된 일반적인 문제를 모두 고려하여 서비스 개발자와 운영자가 사용자를 위한 훌륭한 애플리케이션을 만들고 관리하는 데 집중할 수 있게 해줍니다.
Anthos Service Mesh는 구성 가능하고 강력한 오픈소스 서비스 메시 플랫폼인 Istio로 구동되며 업계 권장사항을 지원하는 도구와 기능이 포함되어 있습니다. Anthos Service Mesh는 전체 인프라에서 균일한 레이어로 배포됩니다. 서비스 개발자와 운영자는 애플리케이션 코드를 변경하지 않고도 풍부한 기능을 사용할 수 있습니다.
구조적으로 서비스 메시는 1개 이상의 제어 영역과 데이터 영역으로 구성됩니다. 서비스 메시는 프록시를 통해 모든 트래픽을 모니터링합니다. Kubernetes에서 프록시는 사이드카 패턴에 의해 메시의 마이크로서비스에 배포됩니다. 가상 머신(VMS)에서 프록시는 VM에 설치됩니다. 이 패턴은 애플리케이션 또는 비즈니스 로직을 네트워크 기능에서 분리하므로 개발자는 비즈니스에 필요한 기능에 집중할 수 있습니다. 또한 서비스 메시를 사용하면 운영팀과 개발팀이 작업을 서로 분리할 수 있습니다.
다음 다이어그램에서는 클러스터 내 제어 영역과 사이드카 프록시의 Anthos Service Mesh 구성요소 및 기능을 보여줍니다.
Anthos Service Mesh가 어떤 도움이 되나요?
Anthos Service Mesh를 사용하면 GKE Enterprise가 테스트하고 지원하는 Istio 배포판으로 Google의 전적인 지원을 통해 Google Cloud 기반 GKE 및 기타 플랫폼에서 서비스 메시를 만들고 배포할 수 있습니다.
기능
Anthos Service Mesh는 통합된 방식으로 안전한 안정적인 서비스를 관찰하고 관리하는 데 도움이 되는 기능 및 도구 모음을 제공합니다.
참고: Google Cloud 콘솔의 Anthos Service Mesh 페이지를 포함한 일부 기능은 Google Cloud 기반 GKE에서만 사용할 수 있습니다. 각 플랫폼에서 지원되는 서비스 메시 기능에 대해 알아보려면 지원되는 기능을 참조하세요.
트래픽 관리
Anthos Service Mesh는 서비스 간 트래픽, 메시(인그레스) 내부로의 트래픽, 외부 서비스(이그레스)로의 트래픽의 흐름을 제어합니다. Istio 호환 커스텀 리소스를 구성 및 배포하여 애플리케이션(L7) 레이어에서 이 트래픽을 관리합니다. 예를 들어 커스텀 리소스로 다음 작업을 수행할 수 있습니다.
Anthos Service Mesh는 메시 내 모든 서비스의 서비스 레지스트리를 이름 및 해당 엔드포인트별로 유지합니다. 이는 트래픽 흐름을 관리하기 위해 레지스트리를 유지합니다(예: Kubernetes Pod IP 주소). 이 서비스 레지스트리를 사용하고 프록시를 서비스와 나란히 실행하면 메시는 트래픽을 적절한 엔드포인트로 전송할 수 있습니다.
관측 가능성 통계
Google Cloud Console의 Anthos Service Mesh 페이지에서 서비스 메시에 대한 다음의 유용한 정보를 확인할 수 있습니다.
메시의 GKE 클러스터 내 HTTP 트래픽의 서비스 측정항목 및 로그는 Google Cloud에 자동으로 수집됩니다.
사전 구성된 서비스 대시보드는 서비스를 이해하는 데 필요한 정보를 제공합니다.
Cloud Monitoring, Cloud Logging, Cloud Trace를 기반으로 한 심층 원격 분석으로 서비스 측정항목 및 로그를 자세히 확인할 수 있습니다. 다양한 속성별로 데이터를 필터링 및 분할할 수 있습니다.
서비스 간 관계를 한눈에 볼 수 있어 각 서비스와 각 서비스가 의존하는 서비스를 파악할 수 있습니다.
보유 서비스의 통신 보안 상태뿐 아니라 다른 서비스와의 관계를 신속하게 확인할 수 있습니다.
서비스 수준 목표(SLO)는 서비스 상태에 관한 유용한 정보를 제공합니다. SLO를 쉽게 정의하고 자체 서비스 상태 표준을 알릴 수 있습니다.
Observable 가이드에서 Anthos Service Mesh의 관측 가능성에 대해 자세히 알아보세요.
보안 이점
도용된 사용자 인증 정보를 사용하는 재생 또는 명의 도용 공격의 위험을 완화합니다. Anthos Service Mesh는 JSON 웹 토큰(JWT)과 같은 Bearer 토큰이 아닌 상호 TLS(mTLS) 인증서를 사용하여 피어를 인증합니다.
전송 중인 데이터 암호화를 보장합니다. 인증에 대한 mTLS를 사용하면 전송 시 모든 TCP 통신이 암호화됩니다.
승인된 클라이언트만 클라이언트의 네트워크 위치와 애플리케이션 수준 사용자 인증 정보와 관계없이 민감한 정보를 포함한 서비스에 액세스할 수 있습니다.
프로덕션 네트워크 내에서 사용자 데이터 위반 위험을 완화합니다. 내부 사용자가 승인된 클라이언트를 통해서만 민감한 정보에 액세스하도록 할 수 있습니다.
민감한 정보를 포함한 서비스에 액세스한 클라이언트를 식별합니다. Anthos Service Mesh 액세스 로깅은 IP 주소와 함께 클라이언트의 mTLS ID를 캡처합니다.
모든 클러스터 내 제어 영역 구성요소와 프록시는 FIPS 140-2 검증 암호화 모듈을 사용합니다.
보안 가이드에서 Anthos Service Mesh의 보안 이점과 기능에 대해 자세히 알아보세요.
배포 옵션
1.9 이전에는 클러스터에 Anthos Service Mesh 제어 영역을 설치하고 직접 업그레이드를 관리했습니다. Anthos Service Mesh 1.9 이상에서는 다음 배포 옵션을 사용할 수 있습니다.
- Google 관리 제어 영역을 배포합니다.
- 서비스 메시에 Compute Engine VM을 포함합니다.
Google 관리 제어 영역
Google 관리 제어 영역은 메시를 자동으로 업그레이드, 확장, 보호하여 수동 사용자 유지보수를 최소화합니다. 다음 다이어그램에서는 Google 관리 제어 영역 및 클러스터 내 사이드카 프록시의 Anthos Service Mesh 구성요소와 기능을 보여줍니다.
Google 관리 제어 영역의 설정 또는 마이그레이션에 대한 자세한 내용은 Google 관리 제어 영역 구성을 참조하세요.
Compute Engine VM용 Anthos Service Mesh
이제 Compute Engine VM용 Anthos Service Mesh를 미리보기 기능으로 사용할 수 있습니다. 동일한 메시의 Google Cloud 클러스터에서 Compute Engine 관리형 인스턴스 그룹(MIG)과 GKE 모두에서 실행되는 서비스를 관리, 관측, 보호할 수 있습니다. Anthos Service Mesh의 이점을 활용하면서 서비스를 실행하는 데 가장 적합한 환경을 혼합하고 선택할 수 있습니다. 다음 다이어그램은 GKE 클러스터와 동일한 서비스 메시의 MIG를 보여줍니다.
자세한 내용은 Anthos Service Mesh에 Compute Engine VM 추가를 참조하세요.