翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した 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アクセスを許可していることを確認します。
ロードバランサーを作成する
最初のロードバランサーを作成するには、次のステップを完了します。
ロードバランサーを作成するには
-
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-typedualstack
出力には、ロードバランサーの Amazon リソースネーム (ARN) が次の形式で含まれます。
arn:aws:elasticloadbalancing:
us-east-2
:123456789012
:loadbalancer/app/my-load-balancer/1234567890123456
-
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
-
インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。
aws elbv2 register-targets --target-group-arn
targetgroup-arn
\ --targets Id=i-0abcdef1234567890
Id=i-1234567890abcdef0
-
ターゲットグループにリクエストを転送するデフォルトルールを持つロードバランサーのリスナーを作成するには、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
-
(オプション) 次のdescribe-target-healthコマンドを使用して、ターゲットグループに登録されたターゲットの状態を確認できます。
aws elbv2 describe-target-health --target-group-arn
targetgroup-arn
HTTPS リスナーを追加する
HTTP リスナーを持つロードバランサーがある場合は、次のようにHTTPSリスナーを追加できます。
ロードバランサーにHTTPSリスナーを追加するには
-
次のいずれかの方法を使用して、ロードバランサーで使用するSSL証明書を作成します。
-
AWS Certificate Manager () を使用して証明書を作成またはインポートしますACM。詳細については、AWS Certificate Manager ユーザーガイド の 証明書のリクエスト または 証明書のインポート を参照してください。
-
AWS Identity and Access Management () を使用して証明書をアップロードしますIAM。詳細については、「 ユーザーガイド」の「サーバー証明書の使用IAM」を参照してください。
-
-
ターゲットグループにリクエストを転送するデフォルトルールを持つリスナーを作成するには、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 つのターゲットグループに全般的なリクエストをルーティングし、イメージを表示するリクエストを別のターゲットグループにルーティングできます。
パスパターンを持つリスナーにルールを追加するには
-
create-target-group コマンドを使用してターゲットグループを作成します。
aws elbv2 create-target-group --name
my-targets
--protocol HTTP --port 80 \ --vpc-id vpc-0598c7d356EXAMPLE
-
インスタンスをターゲットグループに登録するには、register-targets コマンドを使用します。
aws elbv2 register-targets --target-group-arn
targetgroup-arn
\ --targets Id=i-0abcdef1234567890
Id=i-1234567890abcdef0
-
create-rule コマンドを使用して、 に指定されたパターンURLが含まれている場合にリクエストをターゲットグループに転送するルールをリスナーに追加します。
aws elbv2 create-rule --listener-arn
listener-arn
--priority10
\ --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-arntargetgroup-arn