###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 05-009_ロードバランサー作成 # # 内容: # ロードバランサーの作成及び各パラメータ設定の手順です。 # # 版数:v1.1 # 更新日:2017/12/04 ###################################################################### 手順: ─────────────────────────────────── 項番1.ロードバランサー作成 項番2.ロードバランサー確認 項番3.セキュリティグループの関連付け 項番3-1.セキュリティグループの関連付け設定 項番3-2.セキュリティグループの関連付け確認 項番4.ヘルスチェック条件設定 項番4-1.ヘルスチェック条件設定 項番4-2.ヘルスチェック条件確認 項番5.セッション維持のポリシー設定 項番5-1.セッション維持のポリシー作成 項番5-2.セッション維持のポリシー確認 項番6.セッション維持ポリシーのリスナーへの設定 項番6-1.セッション維持ポリシーのリスナーへの登録 項番6-2.リスナーへの登録確認 項番7.SorryServerリダイレクトポリシー設定 項番7-1.SorryServerリダイレクトポリシー作成 項番7-2.SorryServerリダイレクトポリシー確認 項番8.負荷分散対象の仮想サーバ登録 項番8-1.負荷分散対象の仮想サーバ登録 項番8-2.負荷分散対象の仮想サーバ確認 項番9.サブネット登録 項番9-1.サブネット登録 項番9-2.サブネット登録確認 参考1.サブネットの登録削除 参考1-1.サブネットの登録削除 参考1-2.サブネットの登録削除確認 参考2.負荷分散対象の仮想サーバ登録削除 参考2-1.負荷分散対象の仮想サーバ登録削除 参考2-2.負荷分散対象の仮想サーバ登録削除確認 参考3.ロードバランサー削除 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・ネットワーク1 ・ネットワーク2 ・サブネット1 ・追加登録用サブネット1 ・追加登録用サブネット2 ・セキュリティグループ1 ・負荷分散対象仮想サーバ1 ・負荷分散対象仮想サーバ2 ─────────────────────────────────── 注意事項: ・ロードバランサー作成後にサブネットの「host_routes」を設定した場合、 ロードバランサーにサブネットの「host_routes」の 設定が反映されない ため、ロードバランサーの再作成が必要になります。サブネットの 「host_routes」の 設定が必要な場合には、あらかじめサブネットの 「host_routes」の設定を実施してください。 ・インターネットからのトラフィックを負荷分散する場合、外部ネット ワークに接続されている仮想ルータとサブネットが接続されている必要が あります。 ・本サンプルでは、ロードバランサーに2台の負荷分散対象仮想サーバを 登録、3つのサブネットを登録します。 項番1.ロードバランサー作成 フロントエンド、バックエンドの通信プロトコルがHTTP(80ポート)の ロードバランサーを作成します。 注意事項: ・ロードバランサー名に記号は使用できません。 環境定義コマンド例: ====================================================================== # LB_NAME=<作成するロードバランサー名> LB_NAME=TestInternalLB01 # INPORT=<フロントエンド接続のポート番号> INPORT=80 # INPROTOCOL=<フロントエンド接続のプロトコル> INPROTOCOL=http # OUTPORT=<バックエンド接続のポート番号> OUTPORT=80 # OUTPROTOCOL=<バックエンド接続のプロトコル> OUTPROTOCOL=http # SUBNET_ID=<ロードバランサーが接続するサブネットID> SUBNET_ID=45b691d0-d20d-46b2-9b02-952d900778d4 # SCHEME=<ロードバランサータイプ(「internal」「public」を指定)> SCHEME=internal # GRADE=<グレード(「Standard」「Middle」「High」を指定)> GRADE=Standard API実行コマンド例: ====================================================================== curl -Ss "$LB/?LoadBalancerName=$LB_NAME&Listeners.member.1.LoadBalancerPort=$INPORT&Listeners.member.1.Protocol=$INPROTOCOL&Listeners.member.1.InstancePort=$OUTPORT&Listeners.member.1.InstanceProtocol=$OUTPROTOCOL&Subnets.member.1=$SUBNET_ID&Scheme=$SCHEME&Grade=$GRADE&Action=CreateLoadBalancer" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "CreateLoadBalancerResponse": { "ResponseMetadata": { "RequestId": "d3b8d430-0f76-4d6c-ac46-65c6a8a47urg" }, "CreateLoadBalancerResult": { "DNSName": "TestInternalLB01-541d1998371c41e291dc65fdabd9ewb4.loadbalancing-jp-west-2.internal.cloud.global.fujitsu.com" } } } ====================================================================== 項番2.ロードバランサー確認 ロードバランサーが作成されたことを確認します。 「"State": "InService"」となっていることを確認してください。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要と なる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 環境定義コマンド例: ====================================================================== # LB_NAME=<作成したロードバランサー名> LB_NAME=TestInternalLB01 API実行コマンド例: ====================================================================== curl -Ss "$LB/?LoadBalancerNames.member.1=$LB_NAME&Action=DescribeLoadBalancers" -X GET -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "DescribeLoadBalancersResponse": { "ResponseMetadata": { "requestId": "53d22367-102e-4cb9-b775-22572be24378" }, "DescribeLoadBalancersResult": { "LoadBalancerDescriptions": { "member": [ { "Grade": "Standard", "Scheme": "internal", "CreatedTime": "2017-09-11T04:52:52.000Z", "LoadBalancerName": "TestInternalLB01", "DNSName": "TestInternalLB01-541d1998371c41e291dc65fdabd9ewb4.loadbalancing-jp-west-2.internal.cloud.global.fujitsu.com", "State": "InService", "ListenerDescriptions": { "member": [ { "Listener": { "InstancePort": "80", "InstanceProtocol": "http", "LoadBalancerPort": "80", "Protocol": "http" } } ] }, "Policies": { "OtherPolicies": [ { "member": "LBServiceSecurityPolicy-2017-05" } ] }, "Subnets": [ { "member": "45b691d0-d20d-46b2-9b02-952d900778d4" } ], "HealthCheck": { "HealthyThreshold": "10", "UnhealthyThreshold": "2", "Timeout": "5", "Interval": "30", "Target": "http:80/" }, "SecurityGroups": [ { "member": "a69fa1a1-01e9-4eca-a497-41a9f312t381" } ] } ] } } } } ====================================================================== 項番3.セキュリティグループの関連付け ロードバランサーにセキュリティグループを関連付けすると共に、その 確認を行います。 項番3-1.セキュリティグループの関連付け設定 作成したロードバランサーに既存のセキュリティグループを関連付け します。 環境定義コマンド例: ====================================================================== # LB_NAME=<セキュリティグループと関連付けするロードバランサー名> LB_NAME=TestInternalLB01 # SG_ID=<関連付けするセキュリティグループID> SG_ID=889b89e6-ea49-452d-80bf-5e4230e58t19 API実行コマンド例: ====================================================================== curl -Ss "$LB/?SecurityGroups.member.1=$SG_ID&LoadBalancerName=$LB_NAME&Action=ApplySecurityGroupsToLoadBalancer" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "ApplySecurityGroupsToLoadBalancerResponse": { "ResponseMetadata": { "RequestId": "0bb8f8f4-c892-49ec-baf8-1aeb8d46219b" }, "ApplySecurityGroupsToLoadBalancerResult": { "SecurityGroups": { "member": [ "889b89e6-ea49-452d-80bf-5e4230e58t19" ] } } } } ====================================================================== 項番3-2.セキュリティグループの関連付け確認 「項番2.ロードバランサー確認」のAPIを実行し、ロードバランサーに セキュリティグループが関連付けされたことを以下のパラメータで 確認します。 ・「"SecurityGroups"」パラメータに設定したセキュリティグループのIDが 記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番4.ヘルスチェック条件設定 ロードバランサーにヘルスチェックの条件設定を行い、設定されたことを 確認します。 項番4-1.ヘルスチェック条件設定 作成したロードバランサーにヘルスチェックの条件設定を行います。 注意事項: ・"Timeout"の値は、必ず"Interval"よりも小さい値を指定してください。 ・各パラメータの設定時間は1-2147483647(秒)の範囲を指定してください。 環境定義コマンド例: ====================================================================== # LB_NAME=<ヘルスチェック設定を行うロードバランサー名> LB_NAME=TestInternalLB01 # THRESHOLD_OK=<ヘルスチェック連続成功回数> THRESHOLD_OK=1 # THRESHOLD_NG=<ヘルスチェック連続失敗回数> THRESHOLD_NG=3 # TARGET=<ヘルスチェック対象仮想サーバのプロトコル、ポート番号、URL # ("protocol:port"の形式で指定)> TARGET=HTTP:80/index.html # INTERVAL=<ヘルスチェック実施時間間隔(秒)> INTERVAL=30 # TIMEOUT=<ヘルスチェック応答のタイムアウト時間(秒)> TIMEOUT=10 API実行コマンド例: ====================================================================== curl -Ss "$LB/?HealthCheck.HealthyThreshold=$THRESHOLD_OK&HealthCheck.UnhealthyThreshold=$THRESHOLD_NG&HealthCheck.Interval=$INTERVAL&HealthCheck.Target=$TARGET&HealthCheck.Timeout=$TIMEOUT&LoadBalancerName=$LB_NAME&Action=ConfigureHealthCheck" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "ConfigureHealthCheckResponse": { "ResponseMetadata": { "RequestId": "cf219af4-08e5-48dc-b1a1-62b87d6b7b7b" }, "ConfigureHealthCheckResult": { "HealthCheck": { "UnhealthyThreshold": 3, "Timeout": 10, "HealthyThreshold": 1, "Target": "HTTP:80/index.html", "Interval": 30 } } } } ====================================================================== 項番4-2.ヘルスチェック条件確認 「項番2.ロードバランサー確認」のAPIを実行し、ロードバランサーに ヘルスチェック条件が設定されたことを以下のパラメータで確認します。 ・「"HealthCheck"」パラメータに設定したヘルスチェック条件が記載されて いること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番5.セッション維持のポリシー設定 ロードバランサーにセッション維持のポリシーを作成し、作成されたこと を確認します。 項番5-1.セッション維持のポリシー作成 作成したロードバランサーにセッション維持のポリシーを作成します。 注意事項: ・本ポリシーはHTTP/HTTPSのリスナーの場合に利用できます。 ・セッション維持のポリシー設定を行う場合、本APIを実行後に「項番6. セッション維持ポリシーのリスナーへの設定」を実行し、適用する リスナーを設定する必要があります。 ・本ポリシーが指定された場合、ロードバランサーは分散先仮想サーバを 識別するCookie情報をレスポンスパケットに指定します。 環境定義コマンド例: ====================================================================== # POLICY_NAME=<作成するポリシー名> POLICY_NAME=TestLBCookieStickinessPolicy01 # LB_NAME=<ポリシーを作成するロードバランサー名> LB_NAME=TestInternalLB01 # SESSION= SESSION=300 API実行コマンド例: ====================================================================== curl -Ss "$LB/?CookieExpirationPeriod=$SESSION&LoadBalancerName=$LB_NAME&PolicyName=$POLICY_NAME&Action=CreateLBCookieStickinessPolicy" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "CreateLBCookieStickinessPolicyResponse": { "ResponseMetadata": { "RequestId": "0ad79d66-3258-4842-9573-eb6ac492b965" }, "CreateLBCookieStickinessPolicyResult": {} } } ====================================================================== 項番5-2.セッション維持のポリシー確認 「項番2.ロードバランサー確認」のAPIを実行し、ロードバランサーに セッション維持のポリシーが作成されたことを以下のパラメータで 確認します。 ・「"LBCookieStickinessPolicies"」パラメータに作成したポリシーが 記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番6.セッション維持ポリシーのリスナーへの設定 作成したセッション維持のポリシーをリスナーに登録し、登録されたこと を確認します。 項番6-1.セッション維持ポリシーのリスナーへの登録 ロードバランサーに作成したセッション維持のポリシーをリスナーへ登録 します。 注意事項: ・ロードバランサーに複数のリスナーを設定する場合、セッション維持 のポリシー、SSL暗号プロトコルに関するポリシーは最後に登録した ものが全てのリスナーに適用されます。 環境定義コマンド例: ====================================================================== # POLICY_NAME=<登録するポリシー名> POLICY_NAME=TestLBCookieStickinessPolicy01 # LB_NAME=<ポリシーを登録するロードバランサー名> LB_NAME=TestInternalLB01 # PORT=<ポリシーを適応するリスナーのフロントエンド接続のポート番号> PORT=80 API実行コマンド例: ====================================================================== curl -Ss "$LB/?LoadBalancerPort=$PORT&LoadBalancerName=$LB_NAME&LoadBalancerPort=$PORT&PolicyNames.member.1=$POLICY_NAME&Action=SetLoadBalancerPoliciesOfListener" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "SetLoadBalancerPoliciesOfListenerResponse": { "ResponseMetadata": { "RequestId": "d1b2a21b-7537-42da-9a1b-040a9fc5de13" }, "SetLoadBalancerPoliciesOfListenerResult": {} } } ====================================================================== 項番6-2.リスナーへの登録確認 「項番2.ロードバランサー確認」のAPIを実行し、作成したセッション 維持のポリシーがリスナーに登録されたことを以下のパラメータで 確認します。 ・「"ListenerDescriptions"」パラメータに作成したポリシーが 記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番7.SorryServerリダイレクトポリシー設定 SorryServerへリダイレクトするためのポリシーを作成し、作成されたこと を確認します。 項番7-1.SorryServerリダイレクトポリシー作成 リクエストがすべての分散先仮想サーバに振り分けることができない 場合に、SorryServerへリダイレクトするためのポリシーを作成します。 注意事項: ・本ポリシーはHTTP/HTTPSのリスナーの場合に利用できます。 ・本ポリシーを設定する場合、「項番6.セッション維持ポリシーの リスナーへの設定」により、適用するリスナーを設定する必要が あります。 ・本ポリシーが指定された場合、ロードバランサーはリクエストを 分散先仮想サーバへ振り分けることができない場合に、指定された Location情報をレスポンスパケットに設定します。 環境定義コマンド例: ====================================================================== # POLICY_NAME=<作成するポリシー名> POLICY_NAME=TestSorryServerPolicy01 # LB_NAME=<ポリシーを登録するロードバランサー名> LB_NAME=TestInternalLB01 # URL=<リダイレクト先のLocationのURI> URL="http://192.168.10.11/sorry.html" API実行コマンド例: ====================================================================== curl -Ss "$LB/?LoadBalancerName=$LB_NAME&PolicyName=$POLICY_NAME&Location=$URL&Action=CreateSorryServerRedirectionPolicy" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "CreateSorryServerRedirectionPolicyResponse": { "ResponseMetadata": { "RequestId": "acc753a1-28c3-49c4-a537-8f6cf236a2f5" }, "CreateSorryServerRedirectionPolicyResult": {} } } ====================================================================== 項番7-2.SorryServerリダイレクトポリシー確認 「項番2.ロードバランサー確認」のAPIを実行し、作成したSorryServer リダイレクトポリシーが作成されたことを以下のパラメータで 確認します。 ・「"SorryServerRedirectionPolicies"」パラメータに作成したポリシーが 記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番8.負荷分散対象の仮想サーバ登録 ロードバランサーに負荷分散対象の仮想サーバを登録し、関連付けされた ことを確認します。 項番8-1.負荷分散対象の仮想サーバ登録 作成したロードバランサーに既存の仮想サーバを登録します。 注意事項: ・ロードバランサーに分散先対象の仮想サーバを登録する場合、 仮想サーバは起動状態で登録してください。 ・ロードバランサーに登録された分散先仮想サーバは、IPアドレスを 変更した場合、新しいIPアドレスに対し負荷分散されません。 この場合、登録された負荷分散先仮想サーバの登録削除を実施後に IPアドレスを変更し、再度、負荷分散先仮想サーバを登録してください。 ・登録する仮想サーバが1台のみの場合は下記のAPI実行コマンド例から 「&Instances.member.2.InstanceId=$SERVER2_ID」箇所を削除して ください。 環境定義コマンド例: ====================================================================== # LB_NAME=<仮想サーバを登録するロードバランサー名> LB_NAME=TestInternalLB01 # SERVER1_ID=<登録する仮想サーバ1のID> SERVER1_ID=c543a9d5-839f-49d3-8eb5-0d467eff76r3 # SERVER2_ID=<登録する仮想サーバ2のID(登録する仮想サーバが1台のみの # 場合は不要)> SERVER2_ID=38046eb3-0f8b-4a5f-b47a-9017ed0cs762 API実行コマンド例: ====================================================================== curl -Ss "$LB/?Instances.member.1.InstanceId=$SERVER1_ID&Instances.member.2.InstanceId=$SERVER2_ID&LoadBalancerName=$LB_NAME&Action=RegisterInstancesWithLoadBalancer" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "RegisterInstancesWithLoadBalancerResponse": { "ResponseMetadata": { "requestId": "762c0a6f-19e2-479c-a1cd-cda307272c8c" }, "RegisterInstancesWithLoadBalancerResult": { "Instances": { "member": [ { "InstanceId": "c543a9d5-839f-49d3-8eb5-0d467eff76r3" }, { "InstanceId": "38046eb3-0f8b-4a5f-b47a-9017ed0cs762" } ] } } } } ====================================================================== 項番8-2.負荷分散対象の仮想サーバ確認 「項番2.ロードバランサー確認」のAPIを実行し、仮想サーバが登録 されたことを以下のパラメータで確認します。 ・「"Instances"」パラメータに登録した仮想サーバIDが記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 項番9.サブネット登録 ロードバランサーに負荷分散先のサブネットを追加登録し、登録されたこと を確認します。 項番9-1.サブネット登録 作成したロードバランサーに負荷分散先として既存のサブネットを追加 登録します。 注意事項: ・追加登録するサブネットが1つのみの場合は下記のAPI実行コマンド例 から「&Subnets.member.2=$SUBNET2_ID」箇所を削除してください。 環境定義コマンド例: ====================================================================== # LB_NAME=<サブネットを登録するロードバランサー名> LB_NAME=TestInternalLB01 # SUBNET1_ID=<追加登録するサブネット1のID> SUBNET1_ID=ca8b81d4-0d67-4599-87a7-302f91263828 # SUBNET2_ID=<追加登録するサブネット2のID(追加登録するサブネットが1つ # のみの場合は不要)> SUBNET2_ID=5706766b-01e9-4ab8-b8b4-6cf4cf97e35j API実行コマンド例: ====================================================================== curl -Ss "$LB/?Subnets.member.1=$SUBNET1_ID&Subnets.member.2=$SUBNET2_ID&LoadBalancerName=$LB_NAME&Action=AttachLoadBalancerToSubnets" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "AttachLoadBalancerToSubnetsResponse": { "ResponseMetadata": { "RequestId": "3b7eb0c5-82e9-4201-b582-6afb4f14c98f" }, "AttachLoadBalancerToSubnetsResult": { "Subnets": { "member": [ "45b691d0-d20d-46b2-9b02-952d900778d4", "ca8b81d4-0d67-4599-87a7-302f91263828", "5706766b-01e9-4ab8-b8b4-6cf4cf97e35j" ] } } } } ====================================================================== 項番9-2.サブネット登録確認 「項番2.ロードバランサー確認」のAPIを実行し、サブネットが登録 されたことを以下のパラメータで確認します。 ・「"Subnets"」パラメータに追加したサブネットIDが記載されていること。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 参考1.サブネットの登録削除 ロードバランサーから登録したサブネットを削除し、登録が削除されたこと を確認します。 参考1-1.サブネットの登録削除 ロードバランサーから登録されているサブネットを削除します。 注意事項: ・サブネットが2つ以上登録されている場合のみ登録削除可能です。 サブネットが1つの場合には登録削除できません。 ・登録削除するサブネットが1つのみの場合は下記のAPI実行コマンド例 から「&Subnets.member.2=$TMP_SUBNET2_ID」箇所を削除してください。 環境定義コマンド例: ====================================================================== # TMP_LB_NAME=<サブネットを削除するロードバランサー名> TMP_LB_NAME=TestInternalLB01 # TMP_SUBNET1_ID=<登録削除するサブネット2のID> TMP_SUBNET1_ID=ca8b81d4-0d67-4599-87a7-302f91263828 # TMP_SUBNET2_ID=<登録削除するサブネット3のID(サブネットが1つのみの場合 # は不要)> TMP_SUBNET2_ID=5706766b-01e9-4ab8-b8b4-6cf4cf97e35j API実行コマンド例: ====================================================================== curl -Ss "$LB/?Subnets.member.1=$TMP_SUBNET1_ID&Subnets.member.2=$TMP_SUBNET2_ID&LoadBalancerName=$TMP_LB_NAME&Action=DetachLoadBalancerFromSubnets" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "DetachLoadBalancerFromSubnetsResponse": { "ResponseMetadata": { "RequestId": "8b82106f-143e-4922-b3d0-ff97141d1a36" }, "DetachLoadBalancerFromSubnetsResult": { "Subnets": { "member": [ "45b691d0-d20d-46b2-9b02-952d900778d4" ] } } } } ====================================================================== 参考1-2.サブネットの登録削除確認 「項番2.ロードバランサー確認」のAPIを実行し、サブネットが削除 されたことを以下のパラメータで確認します。 ・「"Subnets"」パラメータに削除したサブネットIDが記載されていない こと。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 参考2.負荷分散対象の仮想サーバ登録削除 ロードバランサーに負荷分散対象の仮想サーバを登録削除し、削除された ことを確認します。 参考2-1.負荷分散対象の仮想サーバ登録削除 ロードバランサーに登録した仮想サーバを削除します。 注意事項: ・ロードバランサーから分散先対象の仮想サーバを登録削除する場合、 仮想サーバは停止状態で削除してください。 ・仮想サーバが2台以上登録されている場合のみ削除可能です。 仮想サーバが1台の場合には削除できません。 ・登録削除する仮想サーバが1台のみの場合は下記のAPI実行コマンド例 から「&Instances.member.2.InstanceId=$TMP_SERVER2_ID」箇所を 削除してください。 環境定義コマンド例: ====================================================================== # TMP_LB_NAME=<仮想サーバを削除するロードバランサー名> TMP_LB_NAME=TestInternalLB01 # TMP_SERVER1_ID=<登録削除する仮想サーバ1のID> TMP_SERVER1_ID=8ba7b99c-f4b5-4877-a93f-1a3b35e19478 # TMP_SERVER2_ID=<登録削除する仮想サーバ2のID(仮想サーバが1台のみの # 場合は不要)> TMP_SERVER2_ID=38046eb3-0f8b-4a5f-b47a-9017ed0cs762 API実行コマンド例: ====================================================================== curl -Ss "$LB/?Instances.member.1.InstanceId=$TMP_SERVER1_ID&Instances.member.2.InstanceId=$TMP_SERVER2_ID&LoadBalancerName=$TMP_LB_NAME&Action=DeregisterInstancesFromLoadBalancer" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "DeregisterInstancesFromLoadBalancerResponse": { "ResponseMetadata": { "requestId": "53375cfe-cea8-48e5-ac9f-3e7c7380bdb1" }, "DeregisterInstancesFromLoadBalancerResult": { "Instances": { "member": [ { "InstanceId": "c543a9d5-839f-49d3-8eb5-0d467eff76r3" } ] } } } } ====================================================================== 参考2-2.負荷分散対象の仮想サーバ登録削除確認 「項番2.ロードバランサー確認」のAPIを実行し、仮想サーバが削除 されたことを以下のパラメータで確認します。 ・「"Instances"」パラメータに削除した仮想サーバIDが記載されていない こと。 ・「"State": "InService"」となっていること。 注意事項: ・環境によって、ステータスが「InService」になるまでに時間が必要 となる場合があります。 ・ステータスが「OutOfService」の場合は、時間を空けてから再度確認 APIを実行し、ステータスを確認してください。 参考3.ロードバランサー削除 作成したロードバランサーを削除します。 環境定義コマンド例: ====================================================================== # TMP_LB_NAME=<削除するロードバランサー名> TMP_LB_NAME=TestInternalLB01 API実行コマンド例: ====================================================================== curl -Ss "$LB/?LoadBalancerName=$TMP_LB_NAME&Action=DeleteLoadBalancer" -X GET -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq . レスポンス例: ====================================================================== { "DeleteLoadBalancerResponse": { "ResponseMetadata": { "RequestId": "07d7daab-ab5e-41fe-9e3d-81297f31r875" }, "DeleteLoadBalancerResult": {} } } ====================================================================== 変更履歴: ─────────────────────────────────── v1.1版: ・ 「項番4-1.ヘルスチェック条件設定」:誤記修正 ・ 「参考2-2.負荷分散対象の仮想サーバ登録削除確認」:説明修正 ─────────────────────────────────── 以上