

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

# 라우팅 제어에 대한 안전 규칙 생성
<a name="routing-control.safety-rules"></a>

동시에 여러 라우팅 제어를 사용하는 경우 의도하지 않은 결과가 발생하지 않도록 보호 장치를 마련하기로 결정할 수 있습니다. 예를 들어, 애플리케이션의 모든 라우팅 제어를 실수로 끄면 페일 오픈 시나리오가 발생하는 것을 방지할 수 있습니다. 또는 자동화로 인해 트래픽이 다시 라우팅되지 않도록 마스터 온/오프 스위치를 구현하여 일련의 라우팅 제어를 비활성화할 수도 있습니다. ARC에서 라우팅 제어를 위한 이와 같은 안전 장치를 설정하려면 *안전 규칙*을 생성합니다.

지정한 라우팅 제어, 규칙 및 기타 옵션을 조합하여 라우팅 제어에 대한 안전 규칙을 구성합니다. 각 안전 규칙은 단일 컨트롤 패널과 연결되지만 컨트롤 패널에는 둘 이상의 안전 규칙이 있을 수 있습니다. 안전 규칙을 만들 때는 각 컨트롤 패널 내에서 안전 규칙 이름이 고유해야 한다는 점에 유의하세요.

**Topics**
+ [안전 규칙 유형](#routing-control.about-safety-rule)
+ [콘솔에서 안전 규칙 생성](routing-control.create-safety-rule.md)
+ [콘솔에서 안전 규칙 편집 또는 삭제](routing-control.edit-delete-safety-rule.md)
+ [안전 규칙을 재정의하여 트래픽 다시 라우팅](routing-control.override-safety-rule.md)

## 안전 규칙 유형
<a name="routing-control.about-safety-rule"></a>

안전 규칙에는 *어설션 규칙*과 *게이팅 규칙*이라는 두 가지 유형이 있으며, 이를 사용하여 다양한 방식으로 장애 조치를 보호할 수 있습니다.

**어설션 규칙**  
어설션 규칙을 사용하면 하나 또는 일련의 라우팅 제어 상태를 변경할 때 ARC는 규칙을 구성할 때 설정한 기준이 충족되도록 강제하며, 그렇지 않은 경우 라우팅 제어 상태가 변경되지 않습니다.  
이것이 유용한 경우의 예로는 트래픽이 한 셀로 이동하는 것을 중지하고 다른 셀로 트래픽 흐름을 시작하지 않는 시나리오와 같은 페일 오픈 시나리오를 방지하는 것입니다. 이를 방지하기 위해 어설션 규칙은 컨트롤 패널에 있는 일련의 라우팅 제어 중 하나 이상의 라우팅 제어가 주어진 시간에 `On`인지 확인합니다. 이를 통해 트래픽이 애플리케이션의 하나 이상의 리전 또는 가용 영역으로 흐르도록 할 수 있습니다.  
이 기준을 적용하기 위해 어설션 규칙을 생성하는 예제 AWS CLI 명령을 보려면에서 *안전 규칙 생성을* 참조하세요[에서 ARC 라우팅 제어 API 작업을 사용하는 예제 AWS CLI](getting-started-cli-routing.md).  
어설션 규칙 API 작업 속성에 대한 자세한 내용은 Amazon Application Recovery Controller용 라우팅 제어 API 참조 안내서의 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule) 항목을 참조하세요.

**게이팅 규칙**  
게이팅 규칙을 사용하면 일련의 라우팅 제어에 전체 온-오프 스위치를 적용하여 해당 라우팅 제어 상태를 변경할 수 있는지 여부가 규칙에 지정된 일련의 기준에 따라 적용되도록 할 수 있습니다. 가장 간단한 기준은 스위치로 지정한 단일 라우팅 제어가 `ON` 또는 `OFF`로 설정되어 있는지 여부입니다.  
이를 구현하려면 전체 스위치로 사용할 *게이팅 라우팅 제어*, *대상 라우팅 제어*를 생성하여 다양한 리전 또는 가용 영역으로의 트래픽 흐름을 제어합니다. 그런 다음 게이팅 규칙에 대해 구성한 대상 라우팅 제어의 수동 또는 자동 상태 업데이트를 방지하기 위해 게이팅 라우팅 제어 상태를 `Off`로 설정합니다. 업데이트를 허용하려면 `On`으로 설정합니다.  
이러한 종류의 전체 전환을 구현하는 게이팅 규칙을 생성하는 예제 AWS CLI 명령을 보려면에서 *안전 규칙 생성을* 참조하세요[에서 ARC 라우팅 제어 API 작업을 사용하는 예제 AWS CLI](getting-started-cli-routing.md).  
게이팅 규칙 API 작업 속성에 대한 자세한 내용은 Amazon Application Recovery Controller용 라우팅 제어 API 참조 안내서의 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule) 항목을 참조하세요.

# 콘솔에서 안전 규칙 생성
<a name="routing-control.create-safety-rule"></a>

이 섹션의 단계에서는 ARC 콘솔에서 안전 규칙을 생성하는 방법을 설명합니다. 어설션 규칙을 생성하든 게이팅 규칙을 생성하든 단계는 비슷합니다. 차이점은 절차에 나와 있습니다.

Amazon Application Recovery Controller(ARC)에서 복구 및 라우팅 제어 API 작업을 사용하는 방법에 대한 자세한 내용은 [라우팅 제어 API 작업](actions.routing-control.md) 섹션을 참조하세요.

# 안전 규칙 생성


1. [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)에서 ARC 콘솔을 엽니다.

1. **라우팅 제어**를 선택합니다.

1. **라우팅 제어** 페이지에서 제어판을 선택합니다.

1. 컨트롤 패널 세부 정보 페이지에서 **작업**을 선택한 다음 **안전 규칙 추가**를 선택합니다.

1. 추가할 규칙 유형(**어설션 규칙** 또는 **게이팅 규칙**)을 선택합니다.

1. 이름을 선택하고 선택적으로 대기 기간을 변경할 수 있습니다.

1. 안전 규칙의 구성 옵션을 지정합니다.
   + 어설션 규칙의 경우 어설션된 라우팅 제어를 지정합니다.
   + 게이팅 규칙의 경우 게이팅 라우팅 제어 및 대상 라우팅 제어를 지정합니다.

   두 규칙 모두에 대해 유형 및 임계값, 규칙 반전 여부를 선택하여 규칙 구성을 지정합니다.
**참고**  
어설션 규칙 지정에 대한 자세한 내용은 Amazon Application Recovery Controller용 라우팅 제어 API 참조 안내서에서 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule) 작업에 대해 제공된 정보를 참조하세요. 게이팅 규칙 지정에 대한 자세한 내용은 Amazon Application Recovery Controller용 라우팅 제어 API 참조 안내서에서 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule) 작업에 대해 제공된 정보를 참조하세요.

1. **생성(Create)**을 선택합니다.

# 콘솔에서 안전 규칙 편집 또는 삭제
<a name="routing-control.edit-delete-safety-rule"></a>

이 섹션의 단계에서는 ARC 콘솔에서 안전 규칙을 편집 또는 삭제하는 방법을 설명합니다. 이름을 변경하거나 대기 기간을 업데이트하기 위해 안전 규칙을 제한적으로만 편집할 수 있습니다. 다른 사항을 변경하려면 안전 규칙을 삭제하고 다시 생성합니다.

Amazon Application Recovery Controller(ARC)에서 API 작업을 사용하는 방법을 알아보려면 [라우팅 제어 API 작업](actions.routing-control.md) 섹션을 참조하세요.

# 안전 규칙 삭제


1. [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)에서 ARC 콘솔을 엽니다.

1. **라우팅 제어**를 선택합니다.

1. **라우팅 제어** 페이지에서 제어판을 선택합니다.

1. 컨트롤 패널 세부 정보 페이지에서 안전 규칙을 선택한 다음 **삭제** 또는 **편집**을 선택합니다.

# 안전 규칙을 재정의하여 트래픽 다시 라우팅
<a name="routing-control.override-safety-rule"></a>

구성한 안전 규칙과 함께 적용되는 라우팅 제어 안전 장치를 우회하려는 시나리오가 있습니다. 예를 들어 재해 복구를 위해 신속하게 장애 조치하고 싶을 때 하나 이상의 안전 규칙으로 인해 예기치 않게 라우팅 제어 상태를 업데이트하여 트래픽을 다시 라우팅하지 못할 수 있습니다. 이와 같은 “break glass” 시나리오에서는 하나 이상의 안전 규칙을 재정의하여 라우팅 제어 상태를 변경하고 애플리케이션을 장애 조치할 수 있습니다.

`update-routing-control-state` 또는 `update-routing-control-states` AWS CLI 명령을 `safety-rules-to-override` 파라미터와 함께 사용하여 라우팅 제어 상태(또는 여러 라우팅 제어 상태)를 업데이트할 때 안전 규칙을 우회할 수 있습니다. 재정의하려는 안전 규칙의 Amazon 리소스 이름(ARN)으로 파라미터를 지정하거나, 쉼표로 구분된 ARN 목록을 지정하여 둘 이상의 안전 규칙을 재정의합니다.

안전 규칙이 라우팅 제어 상태 업데이트를 차단하는 경우 오류 메시지에는 업데이트를 차단한 규칙의 ARN이 포함됩니다. 따라서 ARN을 기록해 둔 다음 안전 규칙 재정의 파라미터를 사용하여 라우팅 제어 상태 CLI 명령에서 ARN을 지정할 수 있습니다.

**참고**  
업데이트 중인 라우팅 제어에 대해 둘 이상의 안전 규칙이 있을 수 있으므로 CLI 명령을 실행하여 하나의 안전 규칙 재정의로 라우팅 제어 상태를 업데이트하지만 다른 안전 규칙이 업데이트를 차단하고 있다는 오류가 발생할 수 있습니다. 업데이트 명령이 성공적으로 완료될 때까지 업데이트 명령에서 재정의할 규칙 목록에 안전 규칙 ARN을 쉼표로 구분하여 계속 추가합니다.

API 및 SDK와 함께 `SafetyRulesToOverride` 속성을 사용하는 방법에 대해 자세히 알아보려면 [UpdateRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlState.html)를 참조하세요.

다음은 안전 규칙을 재정의하여 라우팅 제어 상태를 업데이트하는 CLI 명령의 두 가지 예입니다.

**한 가지 안전 규칙 재정의**  

```
aws route53-recovery-cluster --region us-west-2 update-routing-control-state \
				--routing-control-arn \
				arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
				--routing-control-state On \
				--safety-rules-to-override arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/yyyyyyy8888888 \
				--endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

**두 가지 안전 규칙 재정의**  

```
aws route53-recovery-cluster --region us-west-2 update-routing-control-state \
				--routing-control-arn \
				arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
				--routing-control-state On \
				--safety-rules-to-override "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/yyyyyyy8888888" \
				"arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/qqqqqqq7777777"
				--endpoint-url https://host-dddddd.us-west-2.example.com/v1
```