すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:アプリケーションの NGINX Ingress を作成する

最終更新日:Jan 07, 2025

Enterprise Distributed Application Service (EDAS) では、Ingress は、外部 HTTP または HTTPS トラフィックを内部サービスにルーティングするために使用されるルーティング規則の集合です。アプリケーションに対して異なる Kubernetes Ingress を構成できます。このようにして、外部リクエストは、異なるルーティング規則に基づいて、クラスター内の異なるサービスにルーティングできます。このトピックでは、アプリケーションの Ingress を構成し、EDAS コンソールでルーティング規則を構成する方法について説明します。

前提条件

サービスを追加する

背景情報

デフォルトでは、Kubernetes クラスターを作成するときに Ingress コントローラーがデプロイされます。Ingress コントローラーは、クラスター内の Ingress のルーティング規則を解析するために使用されます。Ingress コントローラーは、Ingress のルーティング規則に一致するリクエストを受信すると、そのリクエストを対応するサービスにルーティングします。次に、サービスはリクエストをポッドに転送し、ポッドはリクエストを処理します。

次のコンテンツでは、Kubernetes クラスターでサービス、Ingress、および Ingress コントローラーがどのように連携して動作するかについて説明します。

  • サービスは、複製されたポッドのセットにデプロイされるアプリケーションの抽象化です。

  • Ingress は、外部 HTTP または HTTPS トラフィックを内部サービスにルーティングするために使用されるルーティング規則の集合です。

  • Ingress コントローラーは、Ingress のルーティング規則を解析し、規則に基づいて HTTP または HTTPS トラフィックを対応するサービスにルーティングするリバースプロキシです。

Relationships between the Services, Ingresses, and Ingress controller

Kubernetes クラスターでの Ingress の管理に関する制約

EDAS によって作成された Ingress リソースは変更できません。リソースには、edas-domain: edas-admin または edas-domain ラベルが付いています。

手順

  1. EDAS コンソール にログインします。左側のナビゲーションペインで、[トラフィック管理] > [アプリケーションルーティング] を選択します。

  2. [アプリケーションルーティング (kubernetes Ingress)] ページで、上部のナビゲーションバーでリージョンを選択します。次に、マイクロサービス名前空間 を選択します。

  3. [アプリケーションルーティング (kubernetes Ingress)] ページで、[nginx Ingress の作成] をクリックします。

  4. [nginx Ingress の作成] パネルで、[k8s クラスター][k8s 名前空間]、および [アプリケーションルート名] パラメーターを設定します。[転送ルールを追加] をクリックし、関連パラメーターを設定して、[はい] をクリックします。

    Create an Ingress for an application

    パラメーター

    説明

    K8s クラスター

    Ingress を作成する Kubernetes クラスター。ドロップダウンリストから Kubernetes クラスターを選択します。

    K8s 名前空間

    クラスターの Kubernetes 名前空間。内部システムオブジェクトは、異なる Kubernetes 名前空間に割り当てられ、論理的に分離されたプロジェクト、グループ、またはユーザーグループを形成します。このようにして、異なるグループを個別に管理し、クラスター全体のリソースを共有できます。有効な値:

    • default:デフォルトの Kubernetes 名前空間。オブジェクトに Kubernetes 名前空間が指定されていない場合は、デフォルトの Kubernetes 名前空間が使用されます。

    • kube-system:システムによって作成されたオブジェクトの Kubernetes 名前空間。

    • kube-public:自動的に作成され、認証されていないユーザーを含むすべてのユーザーが読み取ることができる Kubernetes 名前空間。

    この例では、default が選択されています。

    HTTPS にリダイレクト

    HTTP リクエストを HTTPS にリダイレクトするかどうかを指定します。[HTTPS にリダイレクト] をオンにすると、HTTP リクエストは HTTPS にリダイレクトされます。

    アプリケーションルート名

    Ingress の名前。名前は、選択した名前空間内で一意である必要があります。

    名前には、小文字、数字、およびハイフン (-) を使用できます。文字で始まり、文字または数字で終わる必要があります。

    転送ルール

    説明

    Ingress を作成するときは、次の項目に注意してください。

    • 1 つの Ingress に複数のルーティングルールを作成できます。

      • 特定のドメイン名と特定のパスの組み合わせは、1 つのサービスのアドレスとしてのみ使用できます。

      • 1 つのサービスは、ドメイン名とパスの複数の組み合わせに対応できます。

    • 異なる Ingress に同じルーティングルールを作成できます。

    ドメイン名

    アクセスされるドメイン名。

    パス

    アクセスされるパス。パスはスラッシュ (/) で始まる必要があります。

    アプリケーション

    選択した Kubernetes クラスターでアクセスされるアプリケーション。ドロップダウンリストからアプリケーションを選択します。

    サービス名

    アクセスされるアプリケーションのサービス。ドロップダウンリストから必要なサービスを選択します。

    サービスポート

    サービスのポート。

    詳細オプション

    [詳細オプション] をクリックし、[サンプリングレート] パラメーターを設定します。

    説明
    • サンプリングレート:EDAS では、Ingress のルーティング規則に一致するリクエストをトレースできます。トレース ID を取得するには、Ingress 監視ページの [ログ分析] タブに移動します。Application Real-Time Monitoring Service (ARMS) が提供するトレース分析機能と合わせて、EDAS は異常なリクエストの分析に役立ちます。

    • このパラメーターは、トレース分析機能によってトレースされるリクエストの割合を指定します。有効な値:0 ~ 100。デフォルト値:0。値 100 は、すべてのリクエストがトレースされることを示します。

    • 制限:

      • EDAS Standard Edition では、サンプリングレートが 10% を超えるルーティングルールを最大 5 つ作成できます。

      • EDAS Professional Edition および Platinum Edition では、サンプリングレートに制限はありません。

    TLS を開く

    [TLS を開く] をオンにすると、外部 HTTPS リクエストを内部サービスにルーティングできます。

    外部 HTTPS リクエストを許可するには、Transport Layer Security (TLS) 証明書も指定する必要があります。[secrets] ドロップダウンリストで、TLS 証明書に関する情報を格納する Secret を選択します。このような Secret をまだ作成していない場合は、[新しいキー] をクリックして作成します。Secret の作成方法の詳細については、「Secret を作成する」をご参照ください。

    Ingress が作成されると、Ingress リストに表示されます。必要に応じて Ingress を管理できます。たとえば、Ingress の詳細の表示、ルーティング規則の変更、Ingress の削除、Ingress の監視詳細の表示などができます。

結果の確認

ブラウザーのアドレスバーに、ルーティング規則で指定されているドメイン名とパスを入力します。ドメイン名/パス 形式を使用します。指定したサービスにアクセスできるかどうかを確認します。