Application Load Balancer (ALB) は、アプリケーション層の処理機能と多様な高度な転送ルールを提供するレイヤー 7 負荷分散サービスです。ALB インスタンスは、クライアントリクエストをバックエンドサーバーに転送します。
インスタンスの作成
事前準備
-
アカウント権限:ALB インスタンスを初めて作成する際、システムがサービスリンクロール
AliyunServiceRoleForAlbの作成を案内します。このロールにより、ALB は弾性ネットワークインターフェイス、セキュリティグループ、Elastic IP アドレス (EIP)、共有帯域幅などのクラウドリソースにアクセスできます。 -
アカウント残高:ALB インスタンスは従量課金方式を採用しています。アカウントに支払い遅延がある場合、インスタンスを作成できません。アカウントに十分な残高があることを確認してください。
-
ネットワークの準備:
-
対象リージョンに Virtual Private Cloud (VPC) を作成しておく必要があります。
-
複数のアベイラビリティーゾーンをサポートするリージョンで高可用性を実現するには、ALB インスタンスを少なくとも 2 つのアベイラビリティーゾーンにデプロイする必要があります。使用を予定している各アベイラビリティーゾーンに、少なくとも 1 つの vSwitch を作成していることを確認してください。
-
-
IP アドレスの計画:
-
ALB インスタンスは、指定された各 vSwitch から 3 つの IP アドレスを使用します。外部サービス用の 1 つの仮想 IP (VIP) アドレスと、バックエンドサーバーとの通信用の 2 つのローカル IP アドレスです。
-
完全な弾力性を確保するため、インスタンスが使用する各 vSwitch に少なくとも 8 つの IP アドレスを予約することを推奨します。IPv4 vSwitch の先頭 3 つと末尾 3 つの IP アドレスは、システムによって予約されています。そのため、vSwitch の IPv4 CIDR ブロックのプレフィックスは
/28以下(例:/27)である必要があります。
-
-
セキュリティの計画:ALB インスタンスとそのバックエンドサーバー間の適切な通信を確保するため、iptables やその他のサードパーティセキュリティソフトウェアなどのセキュリティポリシーを使用している場合は、インスタンスがデプロイされている vSwitch の CIDR ブロックからのトラフィックを許可するルールを追加することを推奨します。
コンソール
-
ALB コンソールの[インスタンス] ページに移動し、ALB の作成 をクリックします。
-
購入ページで、次のパラメーターを設定し、今すぐ作成 をクリックします。
-
[リージョン]:レイテンシを削減するため、クライアントに最も近いリージョンを選択します。
詳細については、「ALB 機能をサポートするリージョンとゾーン」をご参照ください。
-
[インスタンスネットワークタイプ]:
-
[プライベート]:プライベート IP アドレスのみを割り当てます。インスタンスには Alibaba Cloud 内部ネットワークからのみアクセスできます。
-
[パブリック]:パブリック IP アドレスとプライベート IP アドレスの両方を割り当てます。インスタンスには、インターネットと内部ネットワークの両方からアクセスできます。デフォルトでは、ALB インスタンスは EIP を使用してパブリック向けサービスを提供します。
[パブリック] を選択した場合、EIP の設定とデータ転送に対して課金されます。
デフォルトでは、デュアルスタックのパブリック向けインスタンスは、パブリックサービスには IPv4 アドレスを使用し、IPv6 によるパブリックサービスは提供されません。IPv6 パブリックサービスを有効にするには、ALB インスタンスのネットワークタイプを変更してください。この操作により、IPv6 インターネットデータ転送料金が発生します。
-
-
[VPC]:インスタンスとサーバーグループは同じ VPC 内にある必要があります。ALB インスタンスの VPC は、インスタンス作成後に変更できません。
-
[ゾーン]:
-
リージョンが複数のアベイラビリティーゾーンをサポートしている場合は、少なくとも 2 つのアベイラビリティーゾーンとそれに対応する vSwitch を選択します。
-
([インスタンスネットワークタイプ] が [パブリック] に設定されている場合のみ)既存の EIP を関連付けるか、[EIP を自動的に割り当てる] を選択できます。後者を選択した場合、システムは従量課金 (トラフィック課金) の EIP を作成し、ALB インスタンスに関連付けます。
共有帯域幅インスタンスに追加されていない既存の従量課金 (トラフィック課金) の EIP のみを関連付けることができます。異なるアベイラビリティーゾーン間で ALB インスタンスに関連付けられた EIP は、同じタイプである必要があります。
-
-
[IP バージョン]:IPv6 アクセスをサポートするには、[デュアルスタック] を選択します。それ以外の場合は、[IPv4] を選択します。
デュアルスタック ALB インスタンスを作成する前に、インスタンスを配置する vSwitch で IPv6 を有効化してください。
既存の IPv4 インスタンスをデュアルスタックにアップグレードすることはできません。
-
[エディション](インスタンス料金):
-
[Basic]:ドメイン名、URL、HTTP ヘッダーに基づくルーティングなど、Application Load Balancer の基本機能を提供します。
-
[Standard]:Basic エディションのすべての機能を含み、カスタム TLS セキュリティポリシーやリンクトレーシングなどの機能、およびリダイレクトやリライトなどの高度なルーティング機能をサポートします。
-
[WAF-enabled Edition]:Standard エディションのすべての機能を含み、Web Application Firewall (WAF) 3.0 を統合して、Web サービスにアプリケーション層のセキュリティを提供します。
WAF 3.0 インスタンスを有効化していない場合、WAF-enabled Edition ALB インスタンスを作成すると、従量課金の WAF 3.0 インスタンスが自動的に有効化されます。
サブスクリプションの WAF 3.0 インスタンスをお持ちの場合、WAF-enabled Edition ALB インスタンスを作成しても、追加の WAF 料金は発生しません。
WAF 2.0 インスタンスをお持ちの場合は、まず WAF 2.0 インスタンスをリリースするか、WAF 3.0 に移行する必要があります。
デフォルトでは、ALB は X-Forwarded-Proto ヘッダーを有効にしません。WAF 2.0 インスタンスをリリースした後、バックエンドサービスがプロトコル (HTTP または HTTPS) を正しく識別できないため、ALB インスタンスへの直接アクセスによって無限リダイレクトなどのサービス例外が発生する可能性があります。この問題を回避するには、ALB リスナー設定で X-Forwarded-Proto リクエストヘッダーを手動で有効にしてください。
-
-
([インスタンスネットワークタイプ] が [パブリック] に設定されている場合のみ)[共有帯域幅に追加]:デュアルゾーン ALB インスタンスのデフォルトのパブリック帯域幅ピークは 400 Mbit/s です。インスタンスを共有帯域幅インスタンスに追加して、帯域幅ピークを増やすことができます。
-
([インスタンスネットワークタイプ] が [パブリック] に設定され、[共有帯域幅に追加] が選択されていない場合のみ)[パブリック IP 課金方法]:デフォルトの方法は[トラフィック課金]であり、変更できません。
トラフィック課金モードでは、ピーク帯域幅は上限値であり、サービスレベルを保証するものではありません。リソースの競合が発生した場合、実際の帯域幅が制限されることがあります。
-
[インスタンス名] と [リソースグループ]:管理を容易にするため、これらのパラメータを指定します。インスタンス作成後、[インスタンス]ページでインスタンス名を変更し、タグを使用してインスタンスを管理できます。
-
API
CreateLoadBalancer API を呼び出して、Application Load Balancer インスタンスを作成します。
次のステップ
-
[サーバーグループの作成]:ALB インスタンスによって転送されたリクエストを受信するバックエンドサーバーのグループを作成します。
-
[リスナーの追加]:リクエストを受信するために、ALB インスタンスにリスナーを追加します。HTTP、HTTPS、または QUIC リスナーを作成できます。
-
[CNAME レコードの追加]:ロードバランサードメイン名サービスがアップグレードされました。新しい ALB インスタンスには、DNS 名で直接アクセスできません。インスタンスの DNS 名にドメイン名をマッピングする CNAME レコードを作成する必要があります。
インスタンスのリリース
インスタンスが作成されてからリリースされるまで、使用中かどうかに関わらず、インスタンス料金が課金されます。不要なコストを回避するため、不要になったインスタンスをリリースして課金を停止してください。
パブリック向け ALB インスタンスをリリースすると、関連付けられた EIP または Anycast EIP が自動的に関連付け解除され、リリースされます。これは、インスタンスの作成、クローン、アベイラビリティーゾーンの追加、またはネットワークタイプのプライベートからパブリックへの変更時に作成され、関連付けられた EIP に適用されます。
-
インスタンスをリリースすると、すべての設定が削除され、元に戻すことはできません。慎重に進めてください。
-
インスタンスが Container Service for Kubernetes などの別のクラウドサービスによって管理されている場合、インスタンスをリリースすると、関連するサービスが正常に動作しなくなり、元に戻すことはできません。
-
インスタンスをリリースする前に、インスタンスに解決されるドメイン名の向き先を別のアドレスに変更して、サービスの中断を回避してください。
インスタンスを解放する前に、削除保護が無効になっていることを確認してください。
コンソール
ALB コンソールのインスタンスページに移動します。対象のインスタンスの操作列で、
> リリースを選択し、OKをクリックします。
API
-
DisableDeletionProtection API を呼び出して、インスタンスの削除保護を無効にします。
-
DeleteLoadBalancer API を呼び出して、負荷分散インスタンスを削除します。
削除保護と設定変更保護
削除保護と設定変更保護は、インスタンスの誤った削除や変更を防ぎます。
設定変更保護は、コンソールでのみ有効です。
コンソール
ALB コンソールの[インスタンス] ページに移動します。対象のインスタンスの ID をクリックして、インスタンスの詳細 ページを開きます。インスタンスプロパティ セクションで、削除保護 と 設定変更保護モード を有効化または無効化します。
API
-
EnableDeletionProtection および DisableDeletionProtection API を呼び出して、削除保護を有効化および無効化します。
-
UpdateLoadBalancerAttribute API を呼び出す際、
ModificationProtectionConfig内のStatusフィールドを設定して、設定変更保護を有効化または無効化します。
課金
ALB は、従量課金 (後払い) とリソースプラン (前払い) をサポートしています。課金項目の詳細については、「ALB 課金の概要」をご参照ください。
クォータ
詳細については、「ALB クォータ」をご参照ください。