###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 05-006_アベイラビリティゾーン間ネットワーク接続 # # 内容: # 同一プロジェクト内の異なるアベイラビリティゾーン間のネットワーク # 接続を作成する手順です。 # # 版数:v1.0 # 更新日:2017/09/28 ###################################################################### 手順: ─────────────────────────────────── 項番1.ネットワークコネクター作成 項番2.ネットワークコネクター確認 項番3.【AZ-1】コネクターエンドポイント作成 項番4.【AZ-2】コネクターエンドポイント作成 項番5.コネクターエンドポイント確認 項番6.【AZ-1】ポートをコネクターエンドポイントに接続 項番7.【AZ-2】ポートをコネクターエンドポイントに接続 項番8.ネットワークコネクター確認 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・【AZ-1】ネットワーク1 ・【AZ-2】ネットワーク2 ・【AZ-1】サブネット1 ・【AZ-2】サブネット2 ・【AZ-1】ポート1 ・【AZ-2】ポート2 ─────────────────────────────────── アベイラビリティゾーン間ネットワーク接続構成例: 以下のような異なるアベイラビリティゾーン間のネットワーク接続構成例を 示します。 ====================================================================== 【AZ-1】 【AZ-2】 ━━┳━━━━━━━━【ネットワークコネクター】━━━━━━━━┳━━ ┃ ┃ 【コネクターエンドポイント】 【コネクターエンドポイント】 (192.168.10.254) (192.168.20.254) ┃ ┃ ━━┳━━━━━━━━━ ━━━━━━━━━━━┳━━ 【サブネット1】 【サブネット2】 (192.168.10.0/24) (192.168.20.0/24) ====================================================================== 注意事項: ・項目名に【AZ-1】【AZ-2】が記載されている場合は、必ず対象となる アベイラビリティゾーンの指定を行ってください。 ・本API実行サンプルにおいてアベイラビリティゾーンは以下を指定して います。 【AZ-1】:jp-west-2a 【AZ-2】:jp-west-2b ・指定するアベイラビリティゾーンについては、IaaSサービス仕様書 「サービス概要」を参照してください。 項番1.ネットワークコネクター作成 アベイラビリティゾーン間接続を実施するためのネットワークコネクターを 作成します。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_NAME=<作成するネットワークコネクター名> NW_CONNECTOR_NAME=TEST_NW_CONNECTOR_AZ1_AZ2 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connectors -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"network_connector":{ "name": "'$NW_CONNECTOR_NAME'"}}' | jq . レスポンス例: ====================================================================== { "network_connector": { "network_connector_pool_id": "3e9e5225-2e90-4fa3-bd00-79e935db60f5", "network_connector_endpoints": [], "tenant_id": "<プロジェクトID>", "name": "TEST_NW_CONNECTOR_AZ1_AZ2", "id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k" } } ====================================================================== 項番2.ネットワークコネクター確認 ネットワークコネクターが作成されたことを確認します。 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connectors -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "network_connectors": [ { "network_connector_pool_id": "3e9e5225-2e90-4fa3-bd00-79e935db60f5", "network_connector_endpoints": [], "tenant_id": "<プロジェクトID>", "name": "TEST_NW_CONNECTOR_AZ1_AZ2", "id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k" } ] } ====================================================================== 項番3.【AZ-1】コネクターエンドポイント作成 【AZ-1】にコネクターエンドポイントを作成します。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_EP_NAME=<作成するコネクターエンドポイント名> NW_CONNECTOR_EP_NAME=TEST_NW_CON_EP_AZ1 # NW_CONNECTOR_ID=<作成したネットワークコネクターのID> NW_CONNECTOR_ID=67c22da2-60f6-40c2-b2ac-727f91a7at7k # EP_TYPE=<作成するコネクターエンドポイントのタイプ # (「availability_zone」「remote」で指定)> EP_TYPE=availability_zone # AZ=<【AZ-1】のアベイラビリティゾーン> AZ=jp-west-2a API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connector_endpoints -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"network_connector_endpoint":{ "name": "'$NW_CONNECTOR_EP_NAME'", "network_connector_id": "'$NW_CONNECTOR_ID'", "endpoint_type": "'$EP_TYPE'", "location": "'$AZ'"}}' | jq . レスポンス例: ====================================================================== { "network_connector_endpoint": { "location": "jp-west-2a", "endpoint_type": "availability_zone", "tenant_id": "<プロジェクトID>", "network_connector_id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k", "name": "TEST_NW_CON_EP_AZ1", "id": "38648313-dad4-45f5-9393-3bbeec32f296" } } ====================================================================== 項番4.【AZ-2】コネクターエンドポイント作成 【AZ-2】にコネクターエンドポイントを作成します。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_EP_NAME=<作成するコネクターエンドポイント名> NW_CONNECTOR_EP_NAME=TEST_NW_CON_EP_AZ2 # NW_CONNECTOR_ID=<作成したネットワークコネクターのID> NW_CONNECTOR_ID=67c22da2-60f6-40c2-b2ac-727f91a7at7k # EP_TYPE=<作成するコネクターエンドポイントのタイプ # (「availability_zone」「remote」で指定)> EP_TYPE=availability_zone # AZ=<【AZ-2】のアベイラビリティゾーン> AZ=jp-west-2b API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connector_endpoints -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"network_connector_endpoint":{ "name": "'$NW_CONNECTOR_EP_NAME'", "network_connector_id": "'$NW_CONNECTOR_ID'", "endpoint_type": "'$EP_TYPE'", "location": "'$AZ'"}}' | jq . レスポンス例: ====================================================================== { "network_connector_endpoint": { "location": "jp-west-2b", "endpoint_type": "availability_zone", "tenant_id": "<プロジェクトID>", "network_connector_id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k", "name": "TEST_NW_CON_EP_AZ2", "id": "087bcd7f-07dd-49ba-b12d-fb7fe4ec2n1s" } } ====================================================================== 項番5.コネクターエンドポイント確認 コネクターエンドポイントが【AZ-1】【AZ-2】に作成されたことを確認 します。 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connector_endpoints -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "network_connector_endpoints": [ { "location": "jp-west-2a", "endpoint_type": "availability_zone", "tenant_id": "<プロジェクトID>", "network_connector_id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k", "name": "TEST_NW_CON_EP_AZ1", "id": "38648313-dad4-45f5-9393-3bbeec32f296" }, { "location": "jp-west-2b", "endpoint_type": "availability_zone", "tenant_id": "<プロジェクトID>", "network_connector_id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k", "name": "TEST_NW_CON_EP_AZ2", "id": "087bcd7f-07dd-49ba-b12d-fb7fe4ec2n1s" } ] } ====================================================================== 項番6.【AZ-1】ポートをコネクターエンドポイントに接続 あらかじめ【AZ-1】に作成済みのポート1をコネクターエンドポイントに 接続します。 注意事項: ポートの作成についてはAPIユーザーズガイド「ポート作成」を参照して ください。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_EP_ID=<【AZ-1】のコネクターエンドポイントID> NW_CONNECTOR_EP_ID=38648313-dad4-45f5-9393-3bbeec32f296 # PORT_ID=<接続する【AZ-1】のポートID> PORT_ID=ae0f4a03-4b20-47bc-950a-28988fcca763 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connector_endpoints/$NW_CONNECTOR_EP_ID/connect -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"interface": {"port_id": "'$PORT_ID'"}}' | jq . レスポンス例: ====================================================================== { "interface": { "port_id": "ae0f4a03-4b20-47bc-950a-28988fcca763" } } ====================================================================== 項番7.【AZ-2】ポートをコネクターエンドポイントに接続 あらかじめ【AZ-2】に作成済みのポート2をコネクターエンドポイントに 接続します。 注意事項: ポートの作成についてはAPIユーザーズガイド「ポート作成」を参照して ください。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_EP_ID=<【AZ-2】のコネクターエンドポイントID> NW_CONNECTOR_EP_ID=087bcd7f-07dd-49ba-b12d-fb7fe4ec2n1s # PORT_ID=<接続する【AZ-2】のポートID> PORT_ID=9142bb75-10d1-4cd9-9467-2e4deb29b264 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connector_endpoints/$NW_CONNECTOR_EP_ID/connect -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/json" -d '{"interface": {"port_id": "'$PORT_ID'"}}' | jq . レスポンス例: ====================================================================== { "interface": { "port_id": "9142bb75-10d1-4cd9-9467-2e4deb29b264" } } ====================================================================== 項番8.ネットワークコネクター確認 ネットワークコネクターにコネクターエンドポイントが接続したことを確認 します。 "network_connector_endpoints"パラメータに【AZ-1】【AZ-2】のコネクター エンドポイントのIDが記載されていることを確認します。 環境定義コマンド例: ====================================================================== # NW_CONNECTOR_ID=<作成したネットワークコネクターのID> NW_CONNECTOR_ID=67c22da2-60f6-40c2-b2ac-727f91a7at7k API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/network_connectors/$NW_CONNECTOR_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "network_connector": { "network_connector_pool_id": "3e9e5225-2e90-4fa3-bd00-79e935db60f5", "network_connector_endpoints": [ "38648313-dad4-45f5-9393-3bbeec32f296", "087bcd7f-07dd-49ba-b12d-fb7fe4ec2n1s" ], "tenant_id": "<プロジェクトID>", "name": "TEST_NW_CONNECTOR_AZ1_AZ2", "id": "67c22da2-60f6-40c2-b2ac-727f91a7at7k" } } ====================================================================== 注意事項: ・サブネットのルーティング設定を実施していない場合は、必要に応じて サブネットのルーティング設定を実施してください。手順については API実行サンプル「05-001_サブネットの設定変更(ルーティング設定追加)」 を参照してください。 ・サブネットのルーティング設定を実施する際に仮想サーバがある場合は、 サブネットのルーティング設定変更後に仮想サーバを再起動してください。 以上