を使用した Application Load Balancer の開始方法 AWS CLI - Elastic Load Balancing

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Application Load Balancer の開始方法 AWS CLI

このチュートリアルでは、 を通じて Application Load Balancer を実際に紹介します AWS CLI。

開始する前に

  • 次のコマンドを使用して、Application Load Balancer をサポートするバージョンの AWS CLI を実行していることを確認します。

    aws elbv2 help

    elbv2 が有効な選択肢ではないことを示すエラーメッセージが発生した場合は、 AWS CLIを更新します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS Command Line Interfaceのインストール」を参照してください。

  • 仮想プライベートクラウド () でEC2インスタンスを起動しますVPC。これらのインスタンスのセキュリティグループがリスナーポートとヘルスチェックポートでアクセスを許可することを確認します。詳細については、「ターゲットセキュリティグループ」を参照してください。

  • IPv4 またはデュアルスタックのロードバランサーを作成するかどうかを決定します。クライアントIPv4がIPv4アドレスのみを使用してロードバランサーと通信する場合は、 を使用します。クライアントが IPv4および IPv6 アドレスを使用してロードバランサーと通信する場合は、デュアルスタックを使用します。デュアルスタックを使用して、 を使用してIPv6アプリケーションやデュアルスタックサブネットなどのバックエンドターゲットと通信することもできますIPv6。

  • Apache や Internet Information Services (IIS) などのウェブサーバーは、必ず各EC2インスタンスにインストールしてください。これらのインスタンスのセキュリティグループがポート 80 でHTTPアクセスを許可していることを確認します。

ロードバランサーを作成する

最初のロードバランサーを作成するには、次のステップを完了します。

ロードバランサーを作成するには
  1. create-load-balancer コマンドを使用してロードバランサーを作成します。同じアベイラビリティーゾーンにない 2 つのサブネットを指定する必要があります。

    aws elbv2 create-load-balancer --name my-load-balancer \ --subnets subnet-0e3f5cac72EXAMPLE subnet-081ec835f3EXAMPLE --security-groups sg-07e8ffd50fEXAMPLE

    create-load-balancer コマンドを使用してロードdualstackバランサーを作成します。

    aws elbv2 create-load-balancer --name my-load-balancer \ --subnets subnet-0e3f5cac72EXAMPLE subnet-081ec835f3EXAMPLE --security-groups sg-07e8ffd50fEXAMPLE --ip-address-type dualstack

    出力には、ロードバランサーの Amazon リソースネーム (ARN) が次の形式で含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456
  2. create-target-group コマンドを使用してターゲットグループを作成し、EC2インスタンスVPCに使用したものと同じ を指定します。

    IPv4 および IPv6ターゲットグループを作成して、デュアルスタックロードバランサーに関連付けることができます。ターゲットグループの IP アドレスタイプによって、ロードバランサーがバックエンドターゲットと通信したり、バックエンドターゲットの状態をチェックしたりするのに使用する IP バージョンが決定されます。

    aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE --ip-address-type [ipv4 or ipv6]

    出力には、ターゲットグループの が次の形式で含まれARNます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/1234567890123456
  3. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

    aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-0abcdef1234567890 Id=i-1234567890abcdef0
  4. ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成するには、create-listener コマンドを使用します。

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    出力には、リスナーARNの が次の形式で含まれます。

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/my-load-balancer/1234567890123456/1234567890123456
  5. (オプション) 次のdescribe-target-healthコマンドを使用して、ターゲットグループに登録されたターゲットの状態を確認できます。

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

HTTPS リスナーを追加する

HTTP リスナーを持つロードバランサーがある場合は、次のようにHTTPSリスナーを追加できます。

ロードバランサーにHTTPSリスナーを追加するには
  1. 次のいずれかの方法を使用して、ロードバランサーで使用するSSL証明書を作成します。

    • AWS Certificate Manager () を使用して証明書を作成またはインポートしますACM。詳細については、AWS Certificate Manager ユーザーガイド証明書のリクエスト または 証明書のインポート を参照してください。

    • AWS Identity and Access Management () を使用して証明書をアップロードしますIAM。詳細については、「 ユーザーガイド」の「サーバー証明書の使用IAM」を参照してください。

  2. ターゲットグループにリクエストを転送するデフォルトルールを持つリスナーを作成するには、create-listener コマンドを使用します。HTTPS リスナーの作成時にSSL証明書を指定する必要があります。--ssl-policy オプションを使用して、デフォルト以外のSSLポリシーを指定できることに注意してください。

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol HTTPS --port 443 \ --certificates CertificateArn=certificate-arn \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

パスベースのルーティングの追加

1 つのターゲットグループにリクエストを転送するデフォルトルールを持つリスナーがある場合は、 に基づいて別のターゲットグループにリクエストを転送するルールを追加できますURL。たとえば、1 つのターゲットグループに全般的なリクエストをルーティングし、イメージを表示するリクエストを別のターゲットグループにルーティングできます。

パスパターンを持つリスナーにルールを追加するには
  1. create-target-group コマンドを使用してターゲットグループを作成します。

    aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE
  2. インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。

    aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-0abcdef1234567890 Id=i-1234567890abcdef0
  3. create-rule コマンドを使用して、 に指定されたパターンURLが含まれている場合にリクエストをターゲットグループに転送するルールをリスナーに追加します。

    aws elbv2 create-rule --listener-arn listener-arn --priority 10 \ --conditions Field=path-pattern,Values='/img/*' \ --actions Type=forward,TargetGroupArn=targetgroup-arn

ロードバランサーの削除

ロードバランサーとターゲットグループが必要なくなった場合は、次のように削除することができます。

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn