Application Load Balancer (ALB) IngressはNGINX Ingressと互換性があり、ALBインスタンスに基づいて改善されたトラフィックルーティング機能を提供します。 ALB Ingressは、複雑なルーティング、自動証明書検出、およびHTTP、HTTPS、QUICプロトコルをサポートしています。 ALB Ingressは、レイヤー7で超高弾力性と重いトラフィック負荷のバランスをとるためのクラウドネイティブアプリケーションの要件を満たしています。 Container Service for Kubernetes (ACK) クラスターでALB Ingressを設定して、トラフィックを管理できます。 このトピックでは、ALB Ingressを使用してサービスをデプロイし、サービスにアクセスする方法について説明します。
背景情報
ALB Ingressに関連する用語:
ALB Ingressコントローラー: Ingressを管理するKubernetesコンポーネントです。 ALB Ingressコントローラーは、クラスター内のエントリポイントとして機能し、外部トラフィックを特定のサービスにルーティングします。 ALB Ingressコントローラーは、APIサーバーからIngressへの変更を取得し、変更が検出されるとAlbConfigsを動的に生成します。 次に、ALB Ingressコントローラーは、ALBインスタンスの作成、リスナーの設定、Ingressルールの作成、およびバックエンドサーバーグループの設定という操作を順番に実行します。
AlbConfig CRD: カスタムリソース定義 (CRD) はKubernetes APIを拡張し、カスタムリソースを作成できます。 AlbConfigは、1つのALBインスタンスに対応する。
IngressClass: IngressClassは、Ingressコントローラーのクラスまたは識別子を定義するKubernetes Ingressの属性です。 IngressClassesを使用すると、クラスター内で複数のIngressコントローラーを使用し、各Ingressにコントローラーを指定できます。
Ingress: Ingressは、外部トラフィックの転送ルールとアクセスルールを定義するKubernetesのリソースオブジェクトです。 Ingressコントローラは、Ingressに基づいてトラフィックを転送します。 アノテーションを使用して、ALB Ingressで転送ルールを設定できます。 設定が完了すると、HTTP/HTTPSリクエストは転送ルールに基づいて対応するサービスに転送できます。
Service: Kubernetesでは、Serviceは、同じ論理機能を持つポッドのセットを定義し、固定の仮想IPアドレスとポートを使用してポッドにアクセスできるようにする抽象リソースオブジェクトです。
サービスは、アプリケーションへのアクセスを提供し、サービスの仮想IPアドレスおよびポートにアクセスすることによって、他のアプリケーションまたはサービスがバックエンドポッドと通信することを可能にする。 これにより、特定のポッドのIPアドレスとポートを取得する必要がなくなります。 サービスは、複製されたポッドのセットで実行されるバックエンドアプリケーションの抽象化です。
次の図は、ALBインスタンスとALB Ingressの関係を示しています。
制限事項
Flannelネットワークプラグインを使用する場合、ALB IngressのバックエンドサービスはNodePortまたはLoadBalancerタイプである必要があります。
AlbConfigs、名前空間、Ingress、およびServicesの名前は、aliyunで始めることはできません。
以前のNGINX Ingressコントローラのバージョンでは、Ingressの
spec: ingressClassName
フィールドを認識できません。 NGINX IngressとALB IngressがACKクラスターに設定されている場合、ALB Ingressは以前のバージョンのNGINX Ingressコントローラーによって調整される可能性があります。 この問題を回避するには、できるだけ早くNGINX Ingressコントローラーを更新するか、アノテーションを使用してALB IngressのIngressClassesを指定します。 詳細については、「NGINX Ingressコントローラーの更新」または「高度なALB Ingress設定」をご参照ください。
シナリオ
次の例では、2つのNGINXサービスが4つのポッドにデプロイされています。 このトピックでは、例を使用して、同じドメイン名で異なるURLパスを宛先とするリクエストを転送するようにALB Ingressを設定する方法について説明します。
フロントエンド要求 | 転送先 |
| サービス |
|
|
前提条件
ACKマネージドクラスターまたはACK専用クラスターが作成され、クラスターはKubernetes 1.18以降を実行します。 詳細については、「ACK管理クラスターの作成」および「ACK専用クラスターの作成」をご参照ください。
必要に応じて、 kubectlはクラスターへの接続に使用されます。
ドメイン名を登録し、そのドメイン名に対してICP (Internet content provider) 番号を取得する。 詳細については、「ジェネリックドメイン名の登録」および「ICP登録プロセス」をご参照ください。
ステップ1: ALB Ingressコントローラのインストール
ALB Ingressを使用するには、まずALB Ingressコントローラーをインストールします。
クラスター作成時にALB Ingressコントローラーをインストールする
ACK管理クラスターまたはACK専用クラスターを作成する場合、Ingress セクションでALB Ingressを選択します。
[ゲートウェイソース] を [新規] 、[既存] 、または [なし] に設定できます。 次の表に、3つのオプションを示します。
[新規] または [既存] を選択した場合、ALB Ingressコントローラーのインストール後にAlbConfigとIngressClassが自動的に作成されます。 HTTPを使用し、ポート80でリッスンするリスナー
は、AlbConfigで設定されています。
比較項目 | 新しい | 既存 | なし |
利用シナリオ | クラスターでALB Ingressを使用するのはこれが初めてです。 クラスターにはAlbConfigが存在しません。 | 既存のALBインスタンスを使用します。 | ALB Ingressコントローラーのインストール後にAlbConfigを設定します。 |
制御ポリシー機能の動作 | AlbConfigが作成されると、AlbConfigに基づいてALBインスタンスが自動的に作成されます。 | AlbConfigは自動的に作成されます。 | ALB Ingressコントローラのみがインストールされています。 AlbConfigは作成されません。 |
次のステップ | [ネットワークタイプ] をALBインスタンスが使用するネットワークのタイプに設定し、[vSwitch] をALBインスタンスのvSwitchに設定します。 重要 高可用性を確保するために、異なるゾーンに存在するvSwitchを少なくとも2つ選択することを推奨します。 | 使用するALBインスタンスにALB Cloud-native Gatewayを設定します。 AlbConfigを使用してALBインスタンスを指定するには、「既存のALBインスタンスの再利用」をご参照ください。 重要 基本ALBインスタンスはサポートされていません。 | 既存のAlbConfigを選択するか、後でAlbConfigを作成します。 |
既存のクラスターにALB Ingressコントローラーをインストールする
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[アドオン] ページで、[ネットワーク] タブをクリックします。 ネットワーク セクションで、ALB Ingress Controllerカードを見つけ、右下隅の インストール をクリックします。
[ALB Ingress Controllerのインストール] ダイアログボックスで、[ゲートウェイソース] を [新規] 、[既存] 、または [なし] に設定します。 次の表に、3つのオプションを示します。
重要[新規] または [既存] を選択した場合、ALB Ingressコントローラーのインストール後にAlbConfigとIngressClassが自動的に作成されます。 HTTPを使用し、ポート80でリッスンする
リスナー
は、AlbConfigで設定されています。比較項目
新しい
既存
なし
利用シナリオ
クラスターでALB Ingressを使用するのはこれが初めてです。 クラスターにはAlbConfigが存在しません。
既存のALBインスタンスを使用します。
ALB Ingressコントローラーのインストール後にAlbConfigを設定します。
制御ポリシー機能の動作
AlbConfigが作成されると、AlbConfigに基づいてALBインスタンスが自動的に作成されます。
AlbConfigは自動的に作成されます。
id
フィールドは、指定されたALBインスタンスのIDに設定されます。ALB Ingressコントローラのみがインストールされています。 AlbConfigは作成されません。
次のステップ
[ネットワークタイプ] をALBインスタンスが使用するネットワークのタイプに設定し、[vSwitch] をALBインスタンスのvSwitchに設定します。
重要高可用性を確保するために、異なるゾーンに存在するvSwitchを少なくとも2つ選択することを推奨します。
使用するALBインスタンスにALB Cloud-native Gatewayを設定します。 AlbConfigを使用してALBインスタンスを指定するには、「既存のALBインスタンスの再利用」をご参照ください。
重要基本ALBインスタンスはサポートされていません。
既存のAlbConfigを選択するか、後でAlbConfigを作成します。
[OK] をクリックします。
ALB Ingressを使用してACK専用クラスターにデプロイされたサービスにアクセスする場合は、まずクラスターにALB Ingressコントローラーへのアクセスを許可する必要があります。 詳細については、「ACK専用クラスターにALB Ingressコントローラーへのアクセスを許可する」をご参照ください。
手順2: バックエンドサービスのデプロイ
ACKコンソール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
右上隅の [YAMLから作成] をクリックします。
サンプルテンプレート: [カスタム] を選択します。
テンプレート: 次のコードをコードエディターに貼り付けます。 このYAMLファイルは、
coffee
とtea
という名前の2つのデプロイメントと、coffee-svc
とtea-svc
という名前の2つのサービスをデプロイするために使用されます。
設定が完了したら、[作成] をクリックします。 [作成済み] メッセージが表示されます。
次の操作を実行して、デプロイメントとサービスが作成されていることを確認します。
左側のナビゲーションウィンドウで、[ワークロード]> [デプロイメント] を選択します。 コーヒーと紅茶という名前の展開が表示されます。
左側のナビゲーションウィンドウで、[ネットワーク]> [サービス] を選択します。 coffee-svcとtea-svcという名前のサービスが表示されます。
kubectl
cafe-service.yamlという名前のファイルを作成します。 次の内容をコピーしてファイルに貼り付けます。 このファイルは、
coffee
とtea
という名前の2つの展開と、coffee-svc
とtea-svc
という名前の2つのサービスを展開するために使用されます。次のコマンドを実行して、デプロイメントとサービスをデプロイします。
kubectl apply -f cafe-service.yaml
期待される出力:
deployment "coffee" created service "coffee-svc" created deployment "tea" created service "tea-svc" created
次のコマンドを実行して、デプロイメントとサービスのステータスを表示します。
次のコマンドを実行して、デプロイメントのステータスを表示します。
kubectl get deployment
期待される出力:
NAME READY UP-TO-DATE AVAILABLE AGE coffee 1/2 2 1 2m26s tea 1/1 1 1 2m26s
次のコマンドを実行して、サービスのステータスを照会します。
kubectl get svc
期待される出力:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE coffee-svc NodePort 172.16.XX.XX <none> 80:32056/TCP 9m38s tea-svc NodePort 172.16.XX.XX <none> 80:31696/TCP 9m38s
ステップ3: AlbConfigの作成
手順1: ALB Ingressコントローラーのインストールで、Gateway Sourceを [新規] または [既存] に設定した場合、コントローラーは自動的にalbという名前のAlbConfigとalbという名前のIngressClassを作成します。 この場合は、この手順をスキップしてください。
ACKコンソール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
右上隅の [YAMLから作成] をクリックします。
サンプルテンプレート: [カスタム] を選択します。
テンプレート: 次のコードをコードエディターに貼り付けます。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
AlbConfigの名前。
説明AlbConfigの名前は、クラスター内で一意である必要があります。 AlbConfigを作成するときは、競合を防ぐためにAlbConfig名が一意であることを確認してください。
spec.config.name
不可
ALBインスタンスの名前。
spec.config.addressType
不可
ALBインスタンスのネットワークタイプ。 有効な値:
Internet (デフォルト): インターネットに対応しています。 ALBインスタンスはインターネットにサービスを提供し、インターネット経由でアクセスできます。
説明ALBインスタンスがインターネット接続サービスを提供できるようにするには、ALBインスタンスをEIPに関連付ける必要があります。 インターネット接続のALBインスタンスを使用している場合、EIPのインスタンス料金と帯域幅またはデータ転送料金が課金されます。 詳細については、「従量課金」をご参照ください。
イントラネット: 内部向き。 内部対応のALBインスタンスはVPC内でサービスを提供し、インターネット経由でアクセスすることはできません。
spec.config.zoneMappings
可
vSwitch の ID です。 vSwitchの作成方法の詳細については、「vSwitchの作成と管理」をご参照ください。
説明指定されたvSwitchは、ALBインスタンスでサポートされているゾーンにデプロイされ、クラスターと同じVPCにデプロイされている必要があります。 ALBでサポートされているリージョンとゾーンの詳細については、「ALBでサポートされているリージョンとゾーン」をご参照ください。
ALBはマルチゾーン展開をサポートしています。 現在のリージョンで2つ以上のゾーンがサポートされている場合は、高可用性を確保するために2つ以上のゾーンのvSwitchを選択します。
spec.listeners
不可
ALBインスタンスのリスニングポートとプロトコル。 この例では、ポート80を使用するHTTPリスナーが設定されています。
リスナーは、ALBがトラフィックを受信する方法を定義します。 リスナーの構成を保持することを推奨します。 それ以外の場合は、ALB Ingressを使用する前にリスナーを作成する必要があります。
設定完了後、[作成] をクリックします。 [作成済み] メッセージが表示されます。
ALBインスタンスが作成されているかどうかを確認します。
ALB コンソールにログインします。
上部のナビゲーションバーで、ALBインスタンスがデプロイされているリージョンを選択します。
[インスタンス] ページで、ALB-testという名前のalbインスタンスがインスタンスリストに表示されます。 これは、ALBインスタンスが作成されたことを示します。
kubectl
alb-test.yamlという名前のファイルを作成し、次の内容をファイルにコピーします。 ファイルは、AlbConfigを作成するために使用されます。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
AlbConfigの名前。
説明AlbConfigの名前は、クラスター内で一意である必要があります。 AlbConfigを作成するときは、競合を防ぐためにAlbConfig名が一意であることを確認してください。
spec.config.name
不可
ALBインスタンスの名前。
spec.config.addressType
不可
ALBインスタンスのネットワークタイプ。 有効な値:
Internet (デフォルト): インターネットに対応しています。 ALBインスタンスはインターネットにサービスを提供し、インターネット経由でアクセスできます。
説明ALBインスタンスがインターネット接続サービスを提供できるようにするには、ALBインスタンスをEIPに関連付ける必要があります。 インターネット接続のALBインスタンスを使用している場合、EIPのインスタンス料金と帯域幅またはデータ転送料金が課金されます。 詳細については、「従量課金」をご参照ください。
イントラネット: 内部向き。 内部対応のALBインスタンスはVPC内でサービスを提供し、インターネット経由でアクセスすることはできません。
spec.config.zoneMappings
可
vSwitch の ID です。 vSwitchの作成方法の詳細については、「vSwitchの作成と管理」をご参照ください。
説明指定されたvSwitchは、ALBインスタンスでサポートされているゾーンにデプロイされ、クラスターと同じVPCにデプロイされている必要があります。 ALBでサポートされているリージョンとゾーンの詳細については、「ALBでサポートされているリージョンとゾーン」をご参照ください。
ALBはマルチゾーン展開をサポートしています。 現在のリージョンで2つ以上のゾーンがサポートされている場合は、高可用性を確保するために2つ以上のゾーンのvSwitchを選択します。
spec.listeners
不可
ALBインスタンスのリスニングポートとプロトコル。 この例では、ポート80を使用するHTTPリスナーが設定されています。
リスナーは、ALBがトラフィックを受信する方法を定義します。 リスナーの構成を保持することを推奨します。 それ以外の場合は、ALB Ingressを使用する前にリスナーを作成する必要があります。
次のコマンドを実行して、AlbConfigオブジェクトを作成します。
kubectl apply -f alb-test.yaml
期待される出力:
albconfig.alibabacloud.com/alb-demo created
ステップ4: IngressClassの作成
AlbConfigごとにIngressClassを作成することを推奨します。
手順1: ALB Ingressコントローラーのインストールで、Gateway Sourceを [新規] または [既存] に設定した場合、コントローラーは自動的にalbという名前のAlbConfigとalbという名前のIngressClassを作成します。 この場合は、この手順をスキップしてください。
ACKコンソール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
右上隅の [YAMLから作成] をクリックします。
サンプルテンプレート: [カスタム] を選択します。
テンプレート: 次のコードをコードエディターに貼り付けます。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
IngressClassの名前。
説明IngressClassの名前は、クラスター内で一意である必要があります。 したがって、IngressClassを作成するときは、競合を防ぐためにIngressClass名が一意であることを確認してください。
spec.parameters.name
可
関連付けられたAlbConfigの名前。
設定完了後、[作成] をクリックします。 [作成済み] メッセージが表示されます。
次の操作を実行して、IngressClassが作成されているかどうかを確認します。
左側のナビゲーションウィンドウで、[ワークロード]> [カスタムリソース] を選択します。
[リソースオブジェクト] タブをクリックします。
[APIグループ] 検索ボックスに、[IngressClass] と入力します。 IngressClassが表示されます。
kubectl
alb.yamlという名前のファイルを作成し、次の内容をファイルにコピーします。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
IngressClassの名前。
説明IngressClassの名前は、クラスター内で一意である必要があります。 したがって、IngressClassを作成するときは、競合を防ぐためにIngressClass名が一意であることを確認してください。
spec.parameters.name
可
関連付けられたAlbConfigの名前。
次のコマンドを実行して、IngressClassリソースを作成します。
kubectl apply -f alb.yaml
期待される出力:
ingressclass.networking.k8s.io/alb created
ステップ5: Ingressを作成する
ACKコンソール
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
右上隅の [YAMLから作成] をクリックします。
サンプルテンプレート: [カスタム] を選択します。
テンプレート: 次のコードをコードエディターに貼り付けます。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
Ingressの名前。
説明Ingressの名前は、クラスター内で一意である必要があります。 したがって、Ingressを作成するときは、競合を防ぐためにIngress名が一意であることを確認してください。
spec.ingressClassName
可
関連付けられたIngressClassの名前。
spec.rules.host
不可
HTTPホストヘッダーのドメイン名。 このパラメーターをカスタムドメイン名に設定する必要があります。
ブラウザーでhttp:// demo.domain.ingress.topなどのドメイン名にアクセスすると、ブラウザーはHTTPリクエストを送信するときにHost: demo.domain.ingress.topヘッダーを自動的に追加します。 このように、サーバは、ヘッダに基づいて宛先ホストを識別する。 Kubernetesでは、Ingressルールのホストフィールドを使用して、リクエストのホストヘッダーと照合します。 ホストヘッダーが一致する場合、リクエストは対応するバックエンドサービスに送信されます。
説明カスタムドメイン名を指定する場合は、ドメイン名にICP番号が付いていることを確認してください。 そうしないと、ドメイン名の解決に失敗する可能性があります。 詳細については、「ICPファイリングの概要」をご参照ください。
このパラメーターが設定されていない場合、IngressルールはIngressコントローラーに送信されるすべてのリクエストと一致します。
spec.ru les.http.paths.path
可
URL
spec.ru les.http.paths.pathType
可
URLマッチングルール。 詳細については、「URLパスに基づくリクエストの転送」をご参照ください。
spec.rules.http.paths.backend.service.name
可
作成したサービスの名前。
spec.ru les.http.paths.backend.service.port.number
可
作成したサービスのポート番号。
ポートはバックエンドサービスへのリクエストのルーティングに使用されるため、ポートが有効であることを確認してください。 要求がバックエンドサービスにルーティングされ、期待どおりに処理できるように、ポートが有効であることを確認します。
設定完了後、[作成] をクリックします。 [作成済み] メッセージが表示されます。
Ingressが作成されていることを確認します。
左側のナビゲーションウィンドウで、[ネットワーク]> [Ingress] を選択します。 cafe-Ingressという名前のingressが表示されます。
cafe-ingressの [エンドポイント] 列で、エンドポイントを表示できます。
kubectl
cafe-ingress.yamlという名前のファイルを作成し、次の内容をファイルに貼り付けます。 ファイルはIngressを作成するために使用されます。
次の表に、構成可能なパラメーターを示します。
パラメーター
必須 / 任意
説明
metadata.name
可
Ingressの名前。
説明Ingressの名前は、クラスター内で一意である必要があります。 したがって、Ingressを作成するときは、競合を防ぐためにIngress名が一意であることを確認してください。
spec.ingressClassName
可
関連付けられたIngressClassの名前。
spec.rules.host
不可
HTTPホストヘッダーのドメイン名。 このパラメーターをカスタムドメイン名に設定する必要があります。
ブラウザーでhttp:// demo.domain.ingress.topなどのドメイン名にアクセスすると、ブラウザーはHTTPリクエストを送信するときにHost: demo.domain.ingress.topヘッダーを自動的に追加します。 このように、サーバは、ヘッダに基づいて宛先ホストを識別する。 Kubernetesでは、Ingressルールのホストフィールドを使用して、リクエストのホストヘッダーと照合します。 ホストヘッダーが一致する場合、リクエストは対応するバックエンドサービスに送信されます。
説明カスタムドメイン名を指定する場合は、ドメイン名にICP番号が付いていることを確認してください。 そうしないと、ドメイン名の解決に失敗する可能性があります。 詳細については、「ICPファイリングの概要」をご参照ください。
このパラメーターが設定されていない場合、IngressルールはIngressコントローラーに送信されるすべてのリクエストと一致します。
spec.ru les.http.paths.path
可
URL
spec.ru les.http.paths.pathType
可
URLマッチングルール。 詳細については、「URLパスに基づくリクエストの転送」をご参照ください。
spec.rules.http.paths.backend.service.name
可
作成したサービスの名前。
spec.ru les.http.paths.backend.service.port.number
可
作成したサービスのポート番号。
ポートはバックエンドサービスへのリクエストのルーティングに使用されるため、ポートが有効であることを確認してください。 要求がバックエンドサービスにルーティングされ、期待どおりに処理できるように、ポートが有効であることを確認します。
次のコマンドを実行して、外部からアクセス可能なドメイン名と
coffee
およびtea
Servicesのパス
を個別に設定します。kubectl apply -f cafe-ingress.yaml
期待される出力:
ingress.networking.k8s.io/cafe-ingress created
(オプション) 次のコマンドを実行して、ALBインスタンスのドメイン名を照会します。
kubectl get ingress
期待される出力:
NAME CLASS HOSTS ADDRESS PORTS AGE cafe-ingress alb demo.domain.ingress.top alb-m551oo2zn63yov****.cn-hangzhou.alb.aliyuncs.com 80 50s
ステップ6: DNSレコードの作成
Ingressの作成時にspec.ru les.host
パラメーターをカスタムドメイン名に設定した場合、CNAMEレコードを追加して、ドメイン名をALBインスタンスのドメイン名にマップする必要があります。 その後、カスタムドメイン名を使用してサービスにアクセスできます。
ACKコンソールにログインします。
クラスター名をクリックして、クラスターの詳細ページに移動します。
左側のナビゲーションウィンドウで、[ネットワーク]> [Ingress] を選択します。
cafe-ingressの [エンドポイント] 列で、ドメイン名をコピーします。
CNAMEレコードを作成するには、次の手順を実行します。
説明ドメイン名がAlibaba Cloudドメインを使用して登録されていない場合、DNSレコードを設定する前にドメイン名をAlibaba Cloud DNSに追加する必要があります。 詳細については、「ドメイン名の管理」をご参照ください。 ドメイン名がAlibaba Cloudに登録されている場合は、次の手順に進みます。
Alibaba Cloud DNSコンソールにログインします。
権威DNS解決ページで、ドメイン名を見つけて、アクション列のDNS設定をクリックします。
ドメイン名の詳細ページのDNS設定タブで、DNSレコードの追加をクリックします。
[DNSレコードの追加] パネルでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
レコードタイプ
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックスを入力します。 この例では、@ を入力します。
説明ルートドメイン名を使用する場合は、
@
と入力します。DNSリクエストソース
[デフォルト] を選択します。
レコード値
ALBインスタンスのドメイン名であるCNAMEを入力します。
TTL
DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を選択します。 この例では、デフォルト値が使用されます。
ステップ7: トラフィック転送のテスト
ブラウザのアドレスバーに「test domain name + URL path」と入力して、トラフィックを指定されたサービスに転送できるかどうかをテストします。
この例では、demo.domain.ingress.top
がテストで使用されています。
ブラウザのアドレスバーに
demo.domain.ingress.top/coffee
と入力します。 coffee-svcサービスのページが表示されます。ブラウザのアドレスバーに
demo.domain.ingress.top/tea
と入力します。 tea-svcサービスのページが表示されます。
関連ドキュメント
さまざまなドメイン名またはURL宛てのリクエストのさまざまなバックエンドサーバーグループへの転送、ヘルスチェック、HTTPからHTTPSへのリクエストのリダイレクト、カナリアリリース、カスタムリスナーポートなどの高度なALB Ingress設定の詳細については、「高度なALB Ingress設定」をご参照ください。
カスタムALB Ingressルーティングルール、ルーティング条件、およびアクションを設定する方法の詳細については、「ALB Ingressのルーティングルールのカスタマイズ」をご参照ください。
HTTPSリスナーを使用してHTTPSリクエストを転送する方法の詳細については、「ALB Ingressを使用してHTTPSリスナーの証明書を設定する」をご参照ください。
ALB Ingressの問題のトラブルシューティング方法の詳細については、「ALB Ingressのトラブルシューティング」および「ALB Ingress FAQ」をご参照ください。