

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Network Load Balancer のゾーンシフト
<a name="zonal-shift"></a>

ゾーンシフトは Amazon Application Recovery Controller (ARC) の機能です。ゾーンシフトを使用すると、1 回のアクションで Network Load Balancer のリソースを障害のあるアベイラビリティーゾーンから移動できます。このようにして、 AWS リージョンの他の正常なアベイラビリティーゾーンから操作を継続できます。



ゾーンシフトを開始すると、Network Load Balancer は影響を受けるアベイラビリティーゾーンのターゲットへのトラフィックのルーティングを停止します。影響を受けるアベイラビリティーゾーン内のターゲットへの既存の接続は、ゾーンシフトによって終了されません。これらの接続が正常に完了するまでに数分かかる場合があります。

**Topics**
+ [[開始する前に]](#zonal-shift-before-you-begin)
+ [管理オーバーライド](#admin-override)
+ [ゾーンシフトを有効にする](enable-zonal-shift.md)
+ [ゾーンシフトを開始する](start-zonal-shift.md)
+ [ゾーンシフトの更新](update-zonal-shift.md)
+ [ゾーンシフトのキャンセル](cancel-zonal-shift.md)

## ゾーンシフトを開始する前に
<a name="zonal-shift-before-you-begin"></a>
+ ゾーンシフトはデフォルトで無効になっており、各 Network Load Balancer で有効にする必要があります。詳細については、「[Network Load Balancer のゾーンシフトを有効にする](enable-zonal-shift.md)」を参照してください。
+ 特定の Network Load Balancer のゾーンシフトは 1 つのアベイラビリティーゾーンに対してのみ開始できます。複数のアベイラビリティーゾーンに対してゾーンシフトを開始することはできません。
+ AWS は、複数のインフラストラクチャの問題がサービスに影響を与える場合、DNS からゾーン Network Load Balancer IP アドレスをプロアクティブに削除します。ゾーンシフトを開始する前に、現在のアベイラビリティーゾーンの容量を必ず確認してください。Network Load Balancer でゾーンシフトを使用すると、ゾーンシフトの影響を受けるアベイラビリティーゾーンもターゲット容量を失います。
+ クロスゾーン負荷分散が有効になっている Network Load Balancer のゾーンシフト中に、ゾーンロードバランサーの IP アドレスは DNS から削除されます。障害のあるアベイラビリティーゾーン内のターゲットへの既存の接続は、それらが自然に閉じられるまで保持されますが、障害のあるアベイラビリティーゾーン内のターゲットへの新しい接続はルーティングされなくなります。

詳細については、「*Amazon Application Recovery Controller (ARC) デベロッパーガイド*」の「[Route 53 ARC ゾーンシフトのベストプラクティス](https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.zonal-shifts.html)」を参照してください。

## ゾーンシフトの管理オーバーライド
<a name="admin-override"></a>

Network Load Balancer に属するターゲットには、`TargetHealth` 状態とは独立した新しい `AdministrativeOverride` ステータスが含まれます。

Network Load Balancer のゾーンシフトが開始されると、シフトされるゾーン内のすべてのターゲットが管理上オーバーライドされたと見なされます。Network Load Balancer は、管理上オーバーライドされたターゲットへの新しいトラフィックのルーティングを停止します。既存の接続は、有機的に閉じられるまでそのまま残ります。

可能な `AdministrativeOverride` 状態は次のとおりです。

**不明**  
内部エラーのため、状態を伝播できません

**no\$1override**  
ターゲットで現在アクティブなオーバーライドはない

**zonal\$1shift\$1active**  
ゾーンシフトがターゲットアベイラビリティーゾーンでアクティブです

**zonal\$1shift\$1delegated\$1to\$1dns**  
このターゲットのゾーンシフト状態は、 では利用できません`DescribeTargetHealth`が、 AWS ARC - Zonal Shift API またはコンソールから直接表示できます。

# Network Load Balancer のゾーンシフトを有効にする
<a name="enable-zonal-shift"></a>

ゾーンシフトはデフォルトで無効になっており、各 Network Load Balancer で有効にする必要があります。これにより、必要な特定の Network Load Balancer のみを使用してゾーンシフトを開始できます。詳細については、「[Network Load Balancer のゾーンシフト](zonal-shift.md)」を参照してください。

**前提条件**

ロードバランサーのクロスゾーン負荷分散を有効にする場合、ゾーンシフトを有効にする前に、ロードバランサーにアタッチされたすべてのターゲットグループが次の要件を満たしている必要があります。
+ ターゲットグループプロトコルは `TCP` または `TLS` である必要があります。
+ ターゲットグループタイプを `alb` にすることはできません。
+ [[異常のあるターゲットの接続終了]](edit-target-group-attributes.md#unhealthy-target-connection-termination) は無効にする必要があります。
+ `load_balancing.cross_zone.enabled` ターゲットグループ属性は `true` または `use_load_balancer_configuration` (デフォルト) である必要があります。

------
#### [ Console ]

**ゾーンシフトを有効にするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. Network Load Balancer を選択します。

1. **[属性]** タブで、**[編集]** を選択します。

1. **[アベイラビリティーゾーンルーティング設定]** の **[ARC ゾーンシフト統合]** で **[有効化]** を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

------
#### [ AWS CLI ]

**ゾーンシフトを有効にするには**  
`zonal_shift.config.enabled` 属性を指定して [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html) コマンドを使用します。

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes "Key=zonal_shift.config.enabled,Value=true"
```

------
#### [ CloudFormation ]

**ゾーンシフトを有効にするには**  
[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) リソースを更新して、`zonal_shift.config.enabled` 属性を含めます。

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-nlb
      Type: network
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes:
        -Key: "zonal_shift.config.enabled"
         Value: "true"
```

------

# Network Load Balancer のゾーンシフトを開始する
<a name="start-zonal-shift"></a>

ARC のゾーンシフトにより、サポートされているリソースのトラフィックをアベイラビリティーゾーンから一時的に移動できるため、アプリケーションは AWS リージョン内の他のアベイラビリティーゾーンで正常に動作し続けます。

**前提条件**  
開始する前に、ロードバランサーの[ゾーンシフトが有効になっている](enable-zonal-shift.md#enable-zonal-shift.title)ことを確認します。

------
#### [ Console ]

この手順では、Amazon EC2 コンソールでゾーンシフトを開始する方法について説明します。ARC コンソールを使用してゾーンシフトを開始する手順については、「*Amazon Application Recovery Controller (ARC) デベロッパーガイド*」の「[Starting a zonal shift](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)」を参照してください。

**ゾーンシフトを開始するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. Network Load Balancer を選択します。

1. **[統合]** タブで **[Amazon Application Recovery Controller (ARC)]** を展開し、**[ゾーンシフトを開始]** を選択します。

1. トラフィックを移動させたいアベイラビリティーゾーンを選択します。

1. ゾーンシフトの有効期限を選択または入力します。ゾーンシフトは、最初は 1 分から最大 3 日 (72 時間) まで設定できます。

   すべてのゾーンシフトは一時的なものです。有効期限を設定する必要がありますが、アクティブなシフトを後で更新して有効期限を設定できます。

1. コメントを入力します。後でゾーンシフトを更新してコメントを編集できます。

1. このチェックボックスを選択して、ゾーンシフトを開始するとトラフィックがアベイラビリティーゾーンからシフトされてアプリケーションの容量が減少することを確認します。

1. **[確認]** を選択します。

------
#### [ AWS CLI ]

**ゾーンシフトを開始するには**  
Amazon Application Recovery Controller (ARC) [start-zonal-shift](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/start-zonal-shift.html) コマンドを使用します。

```
aws arc-zonal-shift start-zonal-shift \
    --resource-identifier load-balancer-arn \
    --away-from use2-az2 \
    --expires-in 2h \
    --comment "zonal shift due to scheduled maintenance"
```

------

# Network Load Balancer のゾーンシフトを更新する
<a name="update-zonal-shift"></a>

ゾーンシフトは、更新して新しい有効期限を設定できます。また、コメントを編集したり置き換えたりもできます。

------
#### [ Console ]

この手順では、Amazon EC2 コンソールを使用してゾーンシフトを更新する方法について説明します。Amazon Application Recovery Controller コンソールを使用してゾーンシフトを更新する手順については、「*Amazon Application Recovery Controller (ARC) Developer Guide*」の「[Update a zonal shift](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)」を参照してください。

**ゾーンシフトを更新するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. アクティブなゾーンシフトを持つ Application Load Balancer を選択します。

1. **[統合]** タブで **[Amazon Application Recovery Controller (ARC)]** を展開し、**[ゾーンシフトを更新]** を選択します。

   これにより ARC コンソールが開き、更新プロセスが続行されます。

1. (オプション) **[ゾーンシフトの有効期限を設定]** で、有効期限を選択または入力します。

1. (オプション) **[コメント]** では、必要に応じて既存のコメントを編集するか、新しいコメントを入力します。

1. **[更新]** を選択します。

------
#### [ AWS CLI ]

**ゾーンシフトを更新するには**  
Amazon Application Recovery Controller (ARC) [update-zonal-shift](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/update-zonal-shift.html) コマンドを使用します。

```
aws arc-zonal-shift update-zonal-shift \
    --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf57EXAMPLE \
    --expires-in 1h \
    --comment "extending zonal shift for scheduled maintenance"
```

------

# Network Load Balancer のゾーンシフトをキャンセルする
<a name="cancel-zonal-shift"></a>

ゾーンシフトは、有効期限が切れる前であればいつでもキャンセルできます。開始したゾーンシフト、またはゾーンオートシフトの練習実行のリソースに対して AWS 開始したゾーンシフトをキャンセルできます。

------
#### [ Console ]

この手順では、Amazon EC2 コンソールを使用してゾーンシフトをキャンセルする方法について説明します。Amazon Application Recovery Controller コンソールを使用してゾーンシフトをキャンセルする手順については、「*Amazon Application Recovery Controller (ARC) デベロッパーガイド*」の「[Canceling a zonal shift](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)」を参照してください。

**ゾーンシフトをキャンセルするには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**ロードバランシング**] で [**ロードバランサー**] を選択します。

1. アクティブなゾーンシフトを持つ Network Load Balancer を選択します。

1. **[統合]** タブの **[Amazon Application Recovery Controller (ARC)]** で、**[ゾーンシフトをキャンセル]** を選択します。

   これにより ARC コンソールが開き、キャンセルプロセスが続行されます。

1. **[Cancel zonal shift]** (ゾーンシフトをキャンセル) を選択します。

1. 確認を求められたら、[**確認**] を選択します。

------
#### [ AWS CLI ]

**ゾーンシフトをキャンセルするには**  
Amazon Application Recovery Controller (ARC) [cancel-zonal-shift](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/cancel-zonal-shift.html) コマンドを使用します。

```
aws arc-zonal-shift cancel-zonal-shift \
    --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf57EXAMPLE
```

------