Envoy 1.17로 업데이트/마이그레이션 - AWS App Mesh

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

Envoy 1.17로 업데이트/마이그레이션

중요

지원 종료 공지: 2026년 9월 30일에 AWS 는에 대한 지원을 중단합니다 AWS App Mesh. 2026년 9월 30일 이후에는 AWS App Mesh 콘솔 또는 AWS App Mesh 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은이 블로그 게시물 Migrating from to Amazon ECS Service Connect를 참조 AWS App Mesh 하세요.

SPIRE를 사용한 보안 암호 검색 서비스

App Mesh에서 SPIRE(SPIFE Runtime Environment)를 사용하여 서비스에 신뢰 인증서를 배포하는 경우 SPIRE 에이전트 버전 0.12.0(2020년 12월 출시)을 사용하고 있는지 확인합니다. 이 버전은 1.16 이후 Envoy 버전을 지원할 수 있는 첫 번째 버전입니다.

정규식 변경 사항

Envoy 1.17부터 App Mesh는 Envoy가 기본적으로 RE2 정규 표현식 엔진을 사용하도록 구성합니다. 대부분의 사용자에게는 이러한 변경이 명확하게 보이지만 Routes 또는 Gateway Routes의 일치 항목이 더 이상 정규 표현식에서 미리 보기 또는 역참조를 허용하지 않습니다.

긍정 및 부정 미리 보기

긍정 - 긍정 미리 보기는 ?=로 시작하는 괄호로 묶인 표현식입니다.

(?=example)

이러한 방법은 문자를 일치의 일부로 사용하지 않고도 문자열을 일치시킬 수 있기 때문에 문자열 대체 시 가장 유용합니다. App Mesh는 정규식 문자열 대체를 지원하지 않으므로 정규식 문자열 대체를 일반 일치로 바꾸는 것이 좋습니다.

(example)

부정 - 부정 미리 보기는 ?!로 시작하는 괄호로 묶인 표현식입니다.

ex(?!amp)le

괄호로 묶인 표현식은 표현식의 일부가 주어진 입력과 일치하지 않음을 어셜선하는 데 사용됩니다. 대부분의 경우에 이를 0 한정사로 바꿀 수 있습니다.

ex(amp){0}le

표현식 자체가 문자 클래스인 경우 전체 클래스를 부정하고 ?를 사용하여 선택 사항으로 표시할 수 있습니다.

prefix(?![0-9])suffix => prefix[^0-9]?suffix

사용 사례에 따라 경로를 변경하여 이를 처리할 수도 있습니다.

{ "routeSpec": { "priority": 0, "httpRoute": { "match": { "headers": [ { "name": "x-my-example-header", "match": { "regex": "^prefix(?!suffix)" } } ] } } } } { "routeSpec": { "priority": 1, "httpRoute": { "match": { "headers": [ { "name": "x-my-example-header", "match": { "regex": "^prefix" } } ] } } } }

첫 번째 경로 일치에서는 “prefix”로 시작하지만 뒤에 “suffix”가 없는 헤더를 찾습니다. 두 번째 경로는 “suffix”로 끝나는 헤더를 포함하여 “prefix”로 시작하는 다른 모든 헤더를 일치시키는 역할을 합니다. 대신 부정 미리 보기를 없애기 위한 방법으로 이러한 방식을 거꾸로 진행할 수도 있습니다.

{ "routeSpec": { "priority": 0, "httpRoute": { "match": { "headers": [ { "name": "x-my-example-header", "match": { "regex": "^prefix.*?suffix" } } ] } } } } { "routeSpec": { "priority": 1, "httpRoute": { "match": { "headers": [ { "name": "x-my-example-header", "match": { "regex": "^prefix" } } ] } } } }

이 예제는 경로를 반대로 진행하여 “suffix”로 끝나는 헤더에 더 높은 우선 순위를 부여하고, “prefix”로 시작하는 다른 모든 헤더는 우선 순위가 낮은 경로에서 일치시킵니다.

역참조

역참조는 괄호로 묶인 이전 그룹을 반복하여 더 짧은 식을 작성하는 방법입니다. 형식은 다음과 같습니다.

(group1)(group2)\1

백슬래시 \ 뒤에 숫자가 오는 것은 표현식에서 괄호로 묶인 n번째 그룹의 자리 표시자 역할을 합니다. 이 예제에서는 \1(group1)을 한 번 더 쓰기 위한 대체 방법으로 사용됩니다.

(group1)(group2)(group1)

예제와 같이 역참조를 참조 대상 그룹으로 바꾸면 이러한 문제를 간단히 제거할 수 있습니다.