Enterprise Distributed Application Service (EDAS) では、アプリケーションの Application Load Balancer (ALB) Ingress を作成できます。 ALB Ingress は、ALB インスタンスに基づいて、より効率的な方法でイングレストラフィックを管理するのに役立ちます。 ALB Ingress は NGINX Ingress と互換性があり、複雑なルーティングと自動証明書の検出をサポートしています。
前提条件
- サービスを追加する
- ALB Ingress コントローラーがインストールされていること。
- [ingress] パラメーターを [ALB Ingress] に設定することにより、[コンポーネント構成] ウィザードページでクラスターを作成するときに、ALB Ingress コントローラーをインストールできます。
- ALB Ingress コントローラーがインストールされていない既存のクラスターに ALB Ingress コントローラーをインストールすることもできます。 詳細については、「コンポーネントの管理」をご参照ください。
背景情報
ALB Ingress コントローラーは、API サーバーから Ingress への変更を取得し、Ingress の変更が検出されたときに AlbConfig オブジェクトを動的に生成します。 次に、ALB Ingress コントローラーは、ALB インスタンスの作成、リスナーの構成、Ingress ルールの作成、バックエンドサーバーグループの構成という操作を順番に実行します。 Service、Ingress、および AlbConfig オブジェクトは、次のように相互作用します。
- Service は、複製された Pod のグループにデプロイされるアプリケーションの抽象化です。
- Ingress にはリバースプロキシルールが含まれており、HTTP または HTTPS リクエストのルーティング先となる Service を指定します。 たとえば、Ingress は、リクエスト内のホスト名と URL に基づいて、リクエストを異なる Service にルーティングします。
- AlbConfig オブジェクトは、ALB Ingress コントローラーが ALB インスタンスとリスナーを構成するために使用するカスタムリソース定義 (CRD) オブジェクトです。 AlbConfig オブジェクトは 1 つの ALB インスタンスに対応します。

制限事項
- Ingress を提供する ALB インスタンスは、EDAS で完全に管理されます。 Ingress エラーによるサービスの中断を避けるため、ALB コンソールでこれらの ALB インスタンスを変更しないことをお勧めします。
- EDAS によって作成された Ingress リソースは変更できません。 これらのリソースには、
edas-domain: edas-admin
およびedas-domain
というラベルが付いています。 Ingress に関連付けられた IngressClass オブジェクトと AlbConfig オブジェクトは、変更または削除できません。 これらのオブジェクトには、edas-{alb_id}
形式の名前が付けられます。 - Flannel ネットワークプラグインを使用するクラスターは、NodePort Service と LoadBalancer Service のみをサポートしています。
- ALB Ingress に HTTPS ベースのルーティングを構成する必要がある場合は、Ingress のすべてのルーティングルールで Open The TLS を有効にする必要があります。
- ALB Ingress は、自動証明書の検出をサポートしています。 ALB Ingress のルーティングルールで Open The TLS を有効にした後、Secret を構成する必要はありません。 ただし、SSL Certificates Service で対応するドメイン名の一意の証明書を購入する必要があります。 証明書は、ワイルドカード証明書または単一ドメイン証明書にすることができます。
- アプリケーションの ALB Ingress を作成するには、既存の標準 ALB インスタンスを Ingress にバインドする必要があります。 Ingress を作成した後、Ingress にバインドされた ALB インスタンスを他のクラスターで再利用することはできません。
手順
EDAS コンソールにログインします。
- 左側のナビゲーションペインで、[アプリケーションルーティング] をクリックします。
- [アプリケーションルーティング (kubernetes Ingress)] ページで、トップメニューバーのリージョンを選択します。 次に、マイクロサービス名前空間 を選択します。
- [アプリケーションルーティング (kubernetes Ingress)] ページで、[ALB Ingress の作成] をクリックします。
- [ALB Ingress の作成] パネルで、[k8s クラスター]、[k8s 名前空間]、[アプリケーションルート名]、[ALB インスタンス] パラメーターを設定します。 [転送ルールの追加] をクリックし、必要なパラメーターを設定して、[はい] をクリックします。
パラメーター 説明 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 の名前。 名前は、選択した名前空間内で一意である必要があります。 名前には、小文字、数字、およびハイフン (-) を使用できます。 文字で始まり、文字または数字で終わる必要があります。
ALB インスタンス Ingress にバインドされる ALB インスタンス。 [ALB インスタンス] ドロップダウンリストには、選択した Kubernetes クラスターと同じ Virtual Private Cloud (VPC) に存在する ALB インスタンスのみが表示されます。
ALB インスタンスが存在しない場合は、作成します。 詳細については、「ALB インスタンスの作成」をご参照ください。
説明- 標準 ALB インスタンスのみがサポートされています。
- Kubernetes クラスターの ALB Ingress に ALB インスタンスがバインドされると、その ALB インスタンスを他の Kubernetes クラスターの Ingress にバインドすることはできません。
- 1 つの ALB インスタンスをクラスター内の複数の ALB Ingress にバインドできます。
転送ルール 説明 1 つ以上の ALB Ingress のルーティングルール。 ルーティングルールを作成するときは、次の点に注意してください。- 1 つの Ingress に複数のルーティングルールを作成できます。
- 特定のドメイン名と特定のパスの組み合わせは、1 つの Service のアドレスとしてのみ使用できます。
- 1 つの Service を、ドメイン名とパスの複数の組み合わせに対応させることができます。
- 異なる Ingress に同じルーティングルールを作成できます。
ドメイン名 アクセスされるドメイン名。 パス アクセスされるパス。 パスはスラッシュ (/) で始まる必要があります。 アプリケーション 選択した Kubernetes クラスターでアクセスされるアプリケーション。 ドロップダウンリストからアプリケーションを選択します。 サービス名 アクセスされるアプリケーションの Service。 ドロップダウンリストから必要な Service を選択します。 サービスポート Service のポート。 Open The TLS [open The TLS] を有効にすると、外部 HTTPS リクエストを内部 Service にルーティングできます。 外部 HTTPS リクエストを許可するには、Transport Layer Security (TLS) 証明書を指定する必要があります。 これを行うには、EDAS コンソールの左側のナビゲーションペインで Secret の作成」をご参照ください。
を選択します。 表示されるページで、左側のペインの [secrets] タブをクリックします。 Secret リストで、TLS 証明書に関する情報を格納する Secret を選択します。 このような Secret をまだ作成していない場合は、[secrets の作成] をクリックして作成します。 Secret の作成方法の詳細については、「Ingress が作成されると、Ingress リストに表示されます。 Ingress ではさまざまな操作を実行できます。 たとえば、Ingress の詳細の表示、ルーティングルールの変更、Ingress の削除などです。