계층 7 정책
계층 7(L7) 정책은 해당 L7 정보를 L7 규칙과 일치시킨 후 해당 규칙이 일치하는 경우 특정 조치를 수행하여 트래픽을 분류하는 데 사용됩니다.
- 정책은 프론트 엔드 애플리케이션 포트(프로토콜)에 적용됩니다.
- 동일한 프로토콜에 다중 정책을 적용할 수 있습니다.
여러 정책을 프로토콜에 적용할 수 있으므로 우선순위가 각 정책과 연관됩니다.
- 설정된 우선순위가 가장 낮은 정책이 먼저 평가됩니다.
- 정책과 연관된 규칙이 트래픽과 일치하지 않으면 우선순위 목록에서 다음으로 가장 낮은 정책이 평가됩니다.
트래픽이 어떤 정책 규칙과도 일치하지 않으면 기본 로드 밸런서가 배치될 때 구성된 풀인 기본 풀로 트래픽이 경로 재지정됩니다.
각 정책은 정책의 모든 규칙이 트래픽과 일치하는 경우에 실행되는 조치와 연관되어 있습니다.
조치는 다음과 같습니다.
- 거부
- HTTPS로 경로 재지정
- URL로 경로 재지정
- 풀로 경로 재지정
reject로 설정된 정책이 우선 평가됩니다.
조치가 REDIRECT_HTTPS로 설정되면 HTTP 트래픽이 HTTPS 리스너 포트로 경로 재지정됩니다. 이 조치의 오직 1개 구성만 리스너당 지원됩니다. 이 조치는 L7 규칙을 구성할 수 없으며, 사용자는 API를 사용하여 이를 구성해야 합니다. REDIRECT_HTTPS 서비스의 addL7Policies 메소드가 포함된 SoftLayer_Network_LBaaS_L7Policy 조치를 사용하여 L7 정책을 구성할 수 있습니다. redirectUrl 데이터 유형은 HTTPS 리디렉션을 위한 HTTPS 리스너의 UUID(범용 고유 식별자)를 제공합니다.
Redirect to https 정책은 Reject 이후에 평가됩니다. 이 정책이 존재하면 기존의 Redirect to url 및 Redirect to pool 정책이 적용되지 않습니다. 또한 기존 Redirect to https 정책이 있는 경우 새 Redirect to url 및 Redirect to pool 정책을 만들 수 없습니다.
HTTPS 경로 재지정 정책이 존재하지 않으면 Redirect to url으로 설정된 모든 정책이 Reject 이후 평가됩니다.
최종적으로는 Redirect to pool으로 설정된 정책이 맨 마지막에 평가됩니다.
각 조치 카테고리 내에서 정책은 오름차순 우선순위(최하위에서 최상위로)로 평가됩니다. 리스너당 REDIRECT_HTTPS의 1개 조치만 허용되며, 이는 REJECT를 제외한 기타 모든 정책에 우선합니다. 따라서 "우선순위" 라는 개념은 적용되지 않습니다.
계층 7 정책 특성
| 특성 | 설명 |
|---|---|
| 이름 | 정책의 이름입니다. 각 정책의 이름은 고유해야 합니다. |
| 조치 | 규칙이 일치할 때 수행할 조치입니다. 조치는 REJECT, REDIRECT_HTTPS, REDIRECT_URL, REDIRECT_POOL입니다. REDIRECT_HTTPS 조치는 API에서만 지원됩니다. |
| 우선순위 | 각 조치 카테고리 내에서 정책은 오름차순 우선순위로 평가됩니다. 이러한 조치는 리스너당 하나만 적용 가능하므로 REDIRECT_HTTPS에는 이 필드를 적용할 수 없습니다. |
| URL 경로 재지정 | 조치가 REDIRECT_URL로 설정된 경우 트래픽이 경로 재지정되는 URL입니다. 또한 조치가 REDIRECT_HTTPS로 설정된 경우 트래픽이 경로 재지정되는 HTTPS 리스너 UUID입니다. |
| 경로 재지정 L7 풀 | 조치가 REDIRECT_POOL로 설정된 경우 트래픽이 전송되는 서버 풀입니다. |
| 프로토콜 | 정책이 적용되는 프론트 엔드 애플리케이션 포트입니다. |
계층 7 규칙
계층 7 규칙은 특정 값과 일치될 수신 트래픽의 일부를 정의합니다.
REDIRECT_HTTPS조치를 사용하는 L7 정책의 경우 L7 규칙 추가가 허용되지 않습니다.- 수신 트래픽이 지정된 규칙 값과 일치하면 규칙이
true로 평가됩니다. - 계층 7 규칙은 항상 계층 7 정책과 연관됩니다. 다중 계층 7 규칙은 동일한 계층 7 정책과 연관시킬 수 있습니다.
- 여러 규칙이 정책과 연관되어 있는 경우 각 규칙은
true또는false로 평가됩니다. - 정책과 연관된 모든 규칙이
true로 평가되면 정책 조치가 요청에 적용됩니다. 그렇지 않으면 로드 밸런서가 다음 정책을 평가합니다.
규칙에는 규칙과 일치할 계층 7 트래픽의 일부를 표시하는 유형이 있습니다.
| 유형 | 추출되고 평가될 필드 |
|---|---|
HOST_NAME |
URL의 호스트 이름 파트(예: api.my_company.com) |
FILE_TYPE |
파일 유형을 나타내는 URL의 끝부분(예: jpg) |
HEADER |
HTTP 헤더의 필드 |
COOKIE |
HTTP 헤더의 이름 지정된 쿠키 |
PATH |
호스트 이름 다음에 오는 URL의 파트(예: /index.html) |
또한 규칙에는 규칙이 평가되는 방법을 표시하는 비교 유형이 있습니다.
| 비교 유형 | 평가 유형 |
|---|---|
REGEX |
추출된 필드(예: hostname)를 제공된 정규식과 일치 |
STARTS_WITH |
추출된 필드가 제공된 문자열로 시작되는지 여부 확인 |
ENDS_WITH |
추출된 필드가 제공된 문자열로 끝나는지 여부 확인 |
CONTAINS |
추출된 필드에 제공된 문자열이 포함되는지 여부 확인 |
EQUAL_TO |
추출된 필드가 제공된 문자열과 동일한지 여부 확인 |
모든 규칙 유형이 모든 비교 유형을 지원하지는 않습니다. 예를 들어, FILE_TYPE을 사용 중인 경우 비교 유형 REGEX 및 ENDS_WITH를 사용하는 것이 좋습니다.
계층 7 규칙 특성
| 특성 | 설명 |
|---|---|
| 유형 | 규칙의 유형을 지정합니다. 규칙 유형은 HOST_NAME, FILE_TYPE, HEADER, COOKIE 또는 PATH입니다. |
| 비교 유형 | 비교 유형은 규칙 유형, 키, 값과 연관되어 규칙을 정의하고 트래픽을 분류하는 데 사용됩니다. 비교 유형은 REGEX, STARTS_WITH, ENDS_WITH, CONTAINS 및 EQUAL_TO입니다. |
| 키 | 규칙 유형 HEADER 및 COOKIE에 대한 설명 키입니다. |
| 값 | 규칙 유형 HEADER 및 COOKIE의 경우 값이 키와 비교됩니다. |
| 반전 | 값을 1로 설정하면 지정된 규칙이 일치하지 않을 때마다 이 L7 규칙 비교 값이 true로 설정됩니다. |
| 계층 7 정책 ID | 규칙이 첨부되는 정책의 고유 ID입니다. |