0
0

More than 1 year has passed since last update.

#4 AWS CLIでELBを作成する

Last updated at Posted at 2023-07-05

はじめに

AWS CLIでELBを構築する手順です。構成図は以下の通りです。
elb.png

手順

1.ターゲットグループの作成

設定値の指定

(今回は手順3までの設定値をまとめて定義しています)

## ターゲットグループ名
TARGET_GROUP_NAME="target-cli"
## ターゲットグループのプロトコル
TARGET_GROUP_PROTCOL="HTTP"
## ターゲットグループのポート
TARGET_GROUP_PORT="80"

## ヘルスチェックパス
HEALTH_CHECK_PATH="/wp-includes/images/blank.gif"
## ヘルスチェックポート
HEALTH_CHECK_PORT="80"
## ヘルスチェックプロトコル
HEALTH_CHECK_PROTCOL="HTTP"
## ヘルスチェックの間隔(秒)
HEALTH_CHECK_INTERVAL="30"
## ヘルスチェックのタイムアウト値(秒)
HEALTH_CHECK_TIMEOUT="5"

## 正常と判断する閾値
HEALTHY_THRESHOLD_COUNT="5"
## 異常と判断する閾値
UNHEALTHY_THRESHOLD_COUNT="2"

## ターゲットのタイプ
TARGET_TYPE="instance"
## VPCのID
VPCID="vpc-xxxx "
## ターゲットのインスタンスID
TARGET_ID="i-xxxx"
## ターゲットのポート
TARGET_PORT="80"

## ELBの名前
ELB_NAME="test-elb-cli"

## ELBを作成するサブネットID
SUBNETIDS="subnet-xxxx subnet-xxxx"
## ELBにアタッチするSGID
SGIDS="sg-xxxx"

## ELBのタイプ
ELB_TYPE="application"

## IPアドレスタイプ
IP_ADDRESS_TYPE="ipv4"

処理の実行

  • create-target-groupコマンドを使います。
aws elbv2 create-target-group \
--name ${TARGET_GROUP_NAME} \
--protocol ${TARGET_GROUP_PROTCOL} \
--port ${TARGET_GROUP_PORT} \
--health-check-path ${HEALTH_CHECK_PATH} \
--health-check-protocol  ${HEALTH_CHECK_PROTCOL} \
--health-check-port ${HEALTH_CHECK_PORT} \
--health-check-interval-seconds ${HEALTH_CHECK_INTERVAL} \
--health-check-timeout-seconds ${HEALTH_CHECK_TIMEOUT} \
--healthy-threshold-count ${HEALTHY_THRESHOLD_COUNT} \
--unhealthy-threshold-count ${UNHEALTHY_THRESHOLD_COUNT} \
--target-type ${TARGET_TYPE} \
--vpc-id ${VPCID}

実行するオプションコマンドを整理します。

  • --name
    ターゲットグループの名前
  • --protocol
    トラフィックをターゲットにルーティングする時に使用されるプロトコル設定
    ALBの場合、HTTPHTTPSをサポート
  • --port
    ターゲットがトラフィックを受信するポート設定
  • --health-check-path
    ターゲットのヘルスチェックの宛先
  • --health-check-protocol
    ロードバランサーがターゲットのヘルスチェックを実行するときに使用するプロトコル
  • --health-check-port
    ロードバランサーがターゲットのヘルスチェックを実行するときに使用するポート
  • --health-check-interval-seconds
    個々のターゲットのヘルスチェック間のおおよその時間 (秒単位)
    範囲は 5 ~ 300 秒
  • --health-check-timeout-seconds
    ターゲットからの応答がない期間 (秒単位) 。ヘルスチェックが失敗したことを表す
    範囲は 2 ~ 120 秒
  • --healthy-threshold-count
    ターゲットが正常であるとみなされる前に必要な、連続したヘルスチェックの成功回数
    範囲は 2 ~ 10
  • --unhealthy-threshold-count
    ターゲットが異常であるとみなされるまでに必要な連続ヘルスチェック失敗の回数
    範囲は 2 ~ 10
  • --target-type
    ターゲット グループにターゲットを登録するときに指定する必要があるターゲットのタイプ
    複数のタイプは指定できない
    instance インスタンスIDごとにターゲットを登録する※デフォルト値
    ip ターゲットをIPアドレスで登録する。
    lambda 単一の Lambda 関数をターゲットとして登録する
    alb ターゲットとしてApplication Load Balancerを1つ登録する
  • --vpc-id
    VPCの識別子(VPC ID)

2.ターゲットの登録

register-targetsコマンドを使います。

aws elbv2 register-targets \
--targets Id=${TARGET_ID},Port=${TARGET_PORT} \
--target-group-arn $(aws elbv2 describe-target-groups --query "TargetGroups[].TargetGroupArn" --output text --name ${TARGET_GROUP_NAME})

3.ELBの作成

  • create-load-balancerコマンドを使います。
    --ip-address-typeでロード バランサーのサブネットによって使用される IP アドレスのタイプを指定します。指定できる設定値は、ipv4またはdualstack (IPv4 および IPv6 アドレスの場合)
aws elbv2 create-load-balancer \
--name ${ELB_NAME} \
--subnets ${SUBETIDS} \
--security-groups ${SGIDS} \
--type ${ELB_TYPE} \
--ip-address-type ${IP_ADDRESS_TYPE} \
--tags Key=Name,Value=${ELB_NAME}

参考ドキュメント

#5 WordPressの初期設定

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0