

 **このページの改善にご協力ください** 

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「**GitHub でこのページを編集する**」リンクを選択してください。

# 2 つのクラスター間でターゲットグループを共有する
<a name="auto-multi-cluster-target-groups-example"></a>

次の例では、2 つのクラスター間で 1 つのターゲットグループを共有します。最初のクラスターは Ingress を介して Application Load Balancer を所有し、2 番目のクラスターは手動で作成された `TargetGroupBinding` を介して共有ターゲットグループを結合します。開始する前に、[マルチクラスターターゲットグループを設定する](auto-multi-cluster-target-groups.md) をレビューして、MultiCluster サポートの仕組みと有効にする方法を理解してください。

## クラスター 1 – Ingress を介してロードバランサーを所有する
<a name="_cluster_1_own_the_load_balancer_through_an_ingress"></a>

アプリケーション (`NodePort` Service を使用したデプロイなど) をデプロイし、マルチクラスター注釈を持つ `IngressClass` と `Ingress` を作成します。

```
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: alb-mc
spec:
  controller: eks.amazonaws.com/alb
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echoserver
  namespace: echoserver
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: instance
    alb.ingress.kubernetes.io/multi-cluster-target-group: "true"
spec:
  ingressClassName: alb-mc
  rules:
    - http:
        paths:
          - path: /
            pathType: Exact
            backend:
              service:
                name: echoserver
                port:
                  number: 80
```

コントローラーはロードバランサーをプロビジョニングし、`spec.multiClusterTargetGroup: true` を使用して `TargetGroupBinding` を生成します。生成された `TargetGroupBinding` と Service の次の値に注意してください。2 番目のクラスターには 3 つすべてが必要です:
+ `targetGroupARN`。
+ Service `nodePort`。
+ `spec.networking.ingress[].from[].securityGroup.groupID` からのロードバランサーのセキュリティグループ ID。

## クラスター 2 – TargetGroupBinding を介して共有ターゲットグループを結合する
<a name="_cluster_2_join_the_shared_target_group_through_a_targetgroupbinding"></a>

同じアプリケーションをデプロイし、クラスター 1 の `nodePort` に Service をピン留めしてから、クラスター 1 のターゲットグループ ARN とセキュリティグループ ID を参照する `TargetGroupBinding` を作成します。

```
apiVersion: eks.amazonaws.com/v1
kind: TargetGroupBinding
metadata:
  name: mc-echoserver
  namespace: echoserver
spec:
  multiClusterTargetGroup: true
  serviceRef:
    name: echoserver
    port: 80
  targetGroupARN: <cluster-1-target-group-arn>
  targetType: instance
  networking:
    ingress:
      - from:
          - securityGroup:
              groupID: <cluster-1-alb-security-group-id>
        ports:
          - port: <cluster-2-node-port>
            protocol: TCP
```

両方のバインドで MultiCluster サポートを有効にすると、各クラスターは自身のターゲットのみを登録および登録解除します。両方のクラスターのノードは単一の共有ターゲットグループで正常な状態を維持し、ロードバランサーはそれらのすべてにトラフィックを分散します。