Istio

마이크로 서비스 연결, 모니터링, 보안 설정을 위한 개방형 플랫폼

개요

Istio는 분산형 마이크로 서비스 아키텍처 실행을 지원하는 독립형 오픈소스 서비스 메시입니다. 점점 더 많은 조직이 클라우드 플랫폼을 채택함에 따라 개발자는 마이크로 서비스를 사용하여 이식성을 설계해야 하며 운영자는 하이브리드 및 멀티 클라우드 배포를 포함하는 대규모 분산 배포를 관리해야 합니다. Istio는 마이크로 서비스를 보호, 연결, 모니터링하는 일관된 방법을 제공하여 마이크로 서비스 배포 관리의 복잡성을 줄입니다.

Istio Security

개발자가 다른 중요한 작업에 집중할 수 있도록 보안에 대한 부담을 줄여줍니다.

Istio Monitoring

강력하고 사용이 간편한 모니터링을 통해 문제를 빠르고 효과적으로 발견하고 해결합니다.

Istio Connect

Istio는 배포가 확장됨에 따라 트래픽 관리를 간소화합니다.

향상된 애플리케이션의 가시성 덕분에 문제 발생 시 이를 해결하는 데 걸린 시간이 크게 줄어들었습니다. K8의 Istio를 사용하면서부터 애플리케이션을 안전하게 공용 클라우드로 이전하고 플랫폼의 신뢰성, 안정성, 성능을 향상할 수 있다는 자신감을 얻었습니다.

러셀 워맨, Autotrader 인프라 책임자
안전한 서비스 통신

서비스 통신 보안

Istio는 마이크로 서비스 간 통신의 인증, 승인, 암호화를 확장 가능한 방식으로 관리합니다. Istio의 기반 보안 통신 채널을 통해 개발자는 애플리케이션 수준 보안에 집중할 수 있습니다.

서비스 통신

보안 통신

Istio는 서비스 코드를 변경하지 않고 마이크로 서비스 및 통신(서비스 간 통신 및 최종 사용자와 서비스 간 통신)의 보안을 강화합니다. 클러스터 및 클라우드 간 상호 운용성을 실현하도록 역할에 따라 각 서비스에 강력한 ID를 부여합니다.

심층 방어

심층 방어

Kubernetes(또는 인프라) 네트워크 정책을 토대로 Istio를 사용하면 네트워크와 애플리케이션 레이어 모두에서 포드-포드 간 또는 서비스-서비스 간 통신이 보호됩니다. 마이크로 서비스 통신을 보호하기 위한 Google의 심층 방어 전략을 기반으로 한 Istio를 Google Cloud에서 사용하면 Google 인프라를 통해 완벽하게 안전한 애플리케이션 배포를 구축할 수 있습니다.

기본 보안

기본 보안

애플리케이션을 거의 혹은 전혀 변경하지 않기 때문에 Istio는 기본적으로 서비스 통신을 보호하고 이러한 정책을 다양한 프로토콜 및 런타임에 일관되게 적용할 수 있습니다.

로깅

로깅, 모니터링 및 서비스 운영 유지

Istio는 추적, 모니터링, 로깅을 통해 서비스 메시 배포에 대한 심층적인 정보를 제공합니다. 서비스의 성능과 다른 프로세스에 미치는 성능의 영향을 확인하고 문제를 빠르고 효과적으로 감지 및 분류할 수 있습니다.

한눈에 확인

한눈에 확인

Istio의 커스텀 대시보드를 통해 서비스의 동작을 한눈에 확인할 수 있으므로 문제를 빠르게 감지하고 효과적으로 분류할 수 있습니다.

서비스 파악

서비스 성능 파악

Istio의 모니터링 기능을 사용하면 서비스 성능이 업스트림과 다운스트림에 미치는 영향을 파악할 수 있으므로 서비스에 SLO를 보다 효과적으로 설정, 모니터링, 적용할 수 있습니다.

측정항목

필요한 시점에 필요한 측정항목 제공

개발자가 애플리케이션에 관련 기능을 수동으로 도입할 필요 없이 실행 중인 모든 애플리케이션에서 일관된 측정항목 및 추적 데이터를 수집합니다.

트래픽 관리

트래픽 관리 및 정책 제어

Istio 트래픽 관리 기능을 사용하면 서비스 간의 API 호출 및 트래픽 흐름을 제어하고 트래픽에 대한 가시성을 향상시켜 문제가 발생하기 전에 포착할 수 있습니다. 이렇게 하면 악조건 속에서도 호출을 보다 안정적으로 하고 네트워크를 강화할 수 있습니다.

간편한 규칙 구성

간편한 규칙 구성

Istio를 사용하면 회로 차단기, 시간 초과, 재시도 등의 서비스 수준 속성을 구성하고 백분율 기반 트래픽 분할을 통해 카나리아 출시, A/B 테스트, 단계적 출시 등의 일반적인 지속적 배포 작업을 설정할 수 있습니다.

콘텐츠 유도

원하는 위치로 콘텐츠 유도

트래픽이 추적하기를 원하는 규칙을 지정하여 해당 버전을 지원하는 인스턴스의 수와 관계없이 트래픽을 서비스 버전으로 라우팅할 수 있습니다. 예를 들어 모든 트래픽의 5%가 특정 카나리아 버전으로 이동하도록 지정하거나 요청 내용에 따라 트래픽을 특정 버전으로 라우팅하도록 지정할 수 있습니다.

오류 복구

즉시 사용 가능한 오류 복구

시간 초과, 시간 초과 예산 및 가변 지터가 포함된 재시도, 업스트림 서비스 제한에 대한 요청 및 동시 연결, 부하 분산 풀의 각 구성원에 대한 주기적인 활성 상태 점검, 세분화된 회로 차단기와 같은 수동 상태 검사 등 즉시 사용 가능한 강력한 오류 복구 기능을 제공합니다.

Istio 보안 기능

강력한 서비스 인증

Istio Auth는 강력한 인증을 거쳐 권한이 부여된 클라이언트에서만 민감한 데이터가 있는 서비스에 액세스할 수 있도록 합니다.

인증 정책

Istio의 구성 정책은 플랫폼 인증을 위해 서버 측을 구성하지만 클라이언트 측에 정책을 시행하지 않으며 서비스에 대한 인증 요구사항을 지정할 수 있습니다.

역할 기반 액세스 제어(RBAC)

Istio RBAC는 Istio Mesh의 서비스에 네임스페이스 수준, 서비스 수준, 메소드 수준의 액세스 제어를 제공합니다. 사용하기 쉬운 역할 기반 의미와 서비스-서비스 간 및 최종 사용자-서비스 간 권한 부여를 포함하며 역할 및 역할 바인딩에서 커스텀 속성 지원을 통한 유연성을 제공합니다.

상호 TLS 인증

Istio는 서비스 코드를 변경하지 않고 마이크로 서비스 및 통신(서비스 간 통신 및 최종 사용자와 서비스 간 통신)의 보안을 강화합니다. 각 서비스에 강력한 역할 기반 ID를 부여하여 클러스터 및 클라우드 간에 상호 운용성을 실현합니다.

키 관리

Istio의 키 관리 시스템은 키 및 인증서 생성, 배포, 순환, 폐지를 자동화합니다.

Istio 모니터링 기능

백엔드 추상화

정책 제어 및 텔레메트리 수집을 제공하는 Istio의 구성요소인 Mixer는 Istio의 나머지 부분을 개별 인프라 백엔드의 구현 세부사항으로부터 격리합니다.

중개

Mixer를 사용하면 메시와 인프라 백엔드 간의 모든 상호작용을 세부적으로 제어할 수 있습니다.

짧은 지연 시간

메시의 각 서비스 인스턴스 옆에서 메모리를 조금만 사용해야 하는 사이드카 프록시와는 달리 Mixer는 독립적으로 실행되므로 비교적 규모가 큰 캐시 및 출력 버퍼를 사용할 수 있어 확장성과 가용성이 높은 2차 수준 사이트카 캐시의 역할을 합니다.

높은 신뢰성

Mixer는 각 개별 Mixer 인스턴스에 고가용성을 제공하도록 설계되었습니다. Mixer의 로컬 캐시 및 버퍼는 지연 시간을 줄이면서 백엔드가 응답하지 않는 경우에도 인프라 백엔드 오류를 마스킹하도록 지원합니다.

Istio 연결 기능

트래픽 관리 및 인프라 확장 분리

트래픽 관리와 인프라 확장을 분리하면 A/B 테스트를 위한 동적 요청 라우팅, 점진적 출시, 카나리아 출시 등 애플리케이션 코드 외부의 기능을 제공하고 시간 초과, 재시도, 회로 차단기를 통해 오류 복구를 처리하며 결함 주입을 통해 서비스 전반에서 오류 복구 정책의 호환성을 테스트합니다.

결함 주입

오류 복구 정책을 잘못 구성하면 애플리케이션에서 중요한 서비스를 계속 사용할 수 없으므로 엔드 투 엔드 오류 복구 테스트가 중요합니다. Istio는 포드 연결을 끊어 TCP 계층의 패킷을 지연시키거나 손상시키지 않고 네트워크 안에 프로토콜에 특정한 결함을 주입합니다.

부하 분산

현재 Istio는 Envoy가 지원하는 부하 분산 모드 중 3개인 라운드 로빈(정상적인 각각의 업스트림 호스트를 라운드 로빈 순서로 선택), 무작위(무작위의 부하 분산기가 정상적인 호스트를 무작위로 선택), 가중치가 적용된 최소 요청을 지원합니다.

마이크로 서비스 사용이 늘어나고 작업 부하 전반에 걸쳐 광범위하게 적용되면서 누가 어떤 마이크로 서비스를 실행하는지에 대한 일관된 정보를 확보하기가 점점 어려워지고 있습니다. Istio를 배포하면 서비스가 어떤 언어로 구축되어 있는지에 상관없이 실시간으로 동일한 방식을 통해 서비스에 대한 자세하고 유용한 정보를 바로 확인할 수 있습니다. 일관성 있는 정보는 문제를 더 빨리 해결하고 서비스의 안정성을 향상시키는 데 도움이 됩니다.

팀 켈튼, Descartes Labs 공동 창업자

문서

Compute Engine에서 Istio 사용

Kubernetes Engine에 배포된 Istio 메시에 Compute Engine VM을 통합합니다.

Istio 저장소

OSS 코드베이스에 참여하면 Istio를 개선하는 데 도움이 됩니다.

리소스

가이드를 참조하여 빠른 시작을 실행하고 후기를 살펴보세요.

최신 Istio 출시 버전 다운로드

Kubernetes, Nomad, Consul, Eureka용 Istio 빠른 시작

Google Cloud Endpoints 서비스용 Istio 설치 방법 확인

샘플 앱을 배포하여 Istio 서비스 메시에 대해 자세히 알아보기

최신 Istio 기능으로 최신 상태 유지

명령줄 및 구성 옵션에 대한 자세한 정보

통합

엔터프라이즈급 Istio 지원

Google Cloud는 온프레미스 및 비 GCP 클라우드 배포에 대한 엔터프라이즈급 Istio 지원을 제공합니다. 지원 수준은 다양하므로 유연하게 선택할 수 있습니다. 지원 제품에는 Kubernetes 구성, VM 설치, 유지 보수 등을 테스트하는 Google 인증 이미지가 있습니다. 추가 옵션에는 Google Cloud 전문가가 제공하는 전문 서비스가 포함됩니다.

Istio용 Apigee API 관리

마이크로 서비스가 파트너 혹은 고객과 외부에서 또는 다른 그룹과 내부적으로 통신해야 하는 경우 API가 됩니다. Google Cloud는 Istio용 Apigee API 관리를 제공하여 API 관리와 마이크로 서비스의 기본 통합을 제공합니다. Apigee를 통해 조직은 클라우드 또는 온프레미스에 관계없이 안전하게 API를 관리하고 모니터링할 수 있습니다.