このタスクについて

Swarm クラスターのアプリケーションが <HostIP>:<port> またはドメイン名から直接解決されたノード IP アドレスを介してアクセスされた場合、Swarm クラスターのリソースは、サービスを中断せずに移行することができません。 また、移行をリアルタイムでロールバックすることはできません。 Swarm クラスター内のアプリケーションにアクセスするように SLB (Server Load Balancer) インスタンスを設定し、Swarm クラスターの ECS (Elastic Compute Service) インスタンスに CloudMonitor エージェントをインストールして、Swarm クラスターを標準化する必要があります。

SLB インスタンスを介して Swarm クラスターにアクセス

  1. SLB インスタンスを作成します。
    • SLB インスタンスの自動作成

      Swarm クラスターを作成する際に [SLB インスタンスの自動作成] を選択した場合、従量課金の SLB インスタンスが自動的に作成されます。

      SLB コンソールにログインすると、作成された SLB インスタンスが表示されます。 SLB インスタンスがバックエンドサーバーの TCP ポート 9080 をリッスンするように設定されていることを確認してください。

    • SLB インスタンスの手動作成
      Swarm クラスターを作成する際、 [SLB インスタンスの自動作成] を選択しなかった場合、SLB インスタンスを手動で作成し、Swarm クラスターにバインドする必要があります。 手順は次のとおりです。
      1. SLB インスタンスを作成します。 詳細については、「SLB インスタンスの作成」をご参照ください。
      2. SLB インスタンスを Swarm クラスターにバインドして、SLB 設定が自動的に更新されるようにします。 詳細については、「Server Load Balancer のバインドとバインドの解除」をご参照ください。
  2. シンプルルーティングを設定します。
    <HostIP>:<port> からアプリケーションにアクセスする場合、クライアントは Swarm クラスター内のノードの IP アドレスにバインドされます。 クラスターのノードを交換またはスケールアウトした場合、クライアント設定を変更して、新しいノードにデプロイされたアプリケーションにアクセスする必要があります。 したがって、アプリケーションのドメイン名を設定し、クライアントがドメイン名を介してアプリケーションにアクセスできるようにすることを推奨します。
    Alibaba Cloud Container Service では、カスタムドメイン名がない場合に、アプリケーションまたはサービスごとに独立したドメイン名を無料で設定することができます。 Container Service が提供するドメイン名の形式は XXX.$cluster_id.$region_id.alicontainer.com です。アプリケーションまたはサービスごとに XXX をカスタマイズすることができます。

    この方法では、クライアントは、ECS や SLB インスタンスの <HostIP>:<port> ではなく、Container Service が提供するカスタムドメイン名またはテストドメイン名を使用して、アプリケーションやサービスにアクセスすることができます。 詳細については、「シンプルルーティング - HTTP および HTTPS のサポート」をご参照ください。

  3. SLB インスタンスを介したアプリケーションへのアクセスをテストします。

    前の手順で設定したドメイン名を使用して、アプリケーションにアクセスし、アプリケーションの機能をテストし、SLB インスタンスにインバウンドトラフィックがあるかどうかを確認します。

    1. domain name からアプリケーションにアクセスします。
    2. SLB インスタンスにインバウンドトラフィックがあるかどうかを確認します。
      アプリケーションの機能をテストして、SLB インスタンスを介したアプリケーションへのドメイン名ベースのアクセスがアプリケーションの機能に影響を与えないことを確認します。
  4. クライアントまたは DNS (Domain Name System) 解決のアクセスアドレスを変更します。
    • DNS 解決のアドレスの変更:クライアントが最初にドメイン名を使用してアプリケーションにアクセスする場合、DNS サービスプロバイダーに連絡して、解決する IP アドレスをノードの IP アドレスから SLB インスタンスのドメイン名に変更します。
      各 DNS サービスプロバイダーは、DNS 解決のために IP アドレスをキャッシュします。 SLB インスタンスのトラフィックを監視して、変更が有効になることを確認する必要があります。
    • クライアントのアドレスの変更:クライアントが最初にノードの IP アドレスを使用してアプリケーションにアクセスする場合、クライアント設定を変更して、ドメイン名を介してアプリケーションにアクセスするようにします。

オプション:CloudMonitor エージェントを Swarm クラスターの ECS インスタンスにインストール

Swarm クラスターを作成する際、[ECS ノードに CloudMonitor エージェントをインストール] を選択していない場合、CloudMonitor エージェントは Swarm クラスターの ECS インスタンスにインストールされません。 そのため、クラスターの移行中に CloudMonitor で ECS インスタンスのモニタリング情報を表示することはできません。 たとえば、Swarm クラスターをオフラインにすると、CloudMonitor を使用して、ECS インスタンスにまだトラフィックがあるかどうかを確認することができません。 このセクションでは、ECS インスタンスのモニタリング情報を表示する方法と CloudMonitor エージェントがインストールされていない場合に手動でインストールする方法について説明します。

  1. Swarm クラスター内の ECS インスタンスのモニタリング情報を表示します。
    1. Container Service - Swarm コンソールにログインします。 左側のナビゲーションウィンドウで、[ノード] をクリックします。 ノードのページで、対象となるノードを見つけ、[操作] 列の[モニタリング] をクリックします。
    2. 表示されるページの左側のナビゲーションウィンドウで [モニタリング] をクリックします。 [モニタリング情報] セクションでは、特定の時間範囲におけるこのノードの詳細なモニタリング情報を表示することができます。

    CloudMonitor エージェントがインストールされていない場合、メモリ使用量、ディスク使用量、TCP 接続など、ECS インスタンスの詳細なモニタリング情報を表示することはできません。 次の手順に進み、ECS インスタンスに CloudMonitor エージェントをインストールします。

  2. Swarm クラスターの ECS インスタンスに CloudMonitor エージェントを手動でインストールします。
    1. CloudMonitor コンソールにログインします。 左側のナビゲーションウィンドウで、[ダッシュボード] > [ホストモニタリング] をクリックします。 [インスタンス] タブをクリックします。 ターゲット ECS インスタンスを選択して [バッチインストール] をクリックして、選択した ECS インスタンスに CloudMonitor エージェントをインストールします。
    2. CloudMonitor エージェントがインストールされたら、[ダッシュボード] > [ホストモニタリング] をクリックします。 ECS インスタンスをクリックします。 [ネットワークメトリック] セクションで、ECS インスタンスの [ネットワークのインバウンドレートとアウトバウンドレート] に関する曲線を表示することができます。