ポートのアタッチ

事前に業務サービス用ネットワークに作成したポートを仮想サーバにアタッチする手順を解説します。 ポートの作成手順についてはポート作成を参照してください。
  1. 以下で、必要な設定を行います。
    $SERVER_ID=<ポートをアタッチする仮想サーバID>
    $PORT_ID=<仮想サーバにアタッチする業務サービス用ネットワークのポートID>
  2. APIを実行します。
    $ curl -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/os-interface -X POST \
    -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" \
    -d '{ "interfaceAttachment": {"port_id": "'$PORT_ID'" }}' | jq .

    以下のレスポンスが返ってきます。

    {
      "interfaceAttachment": {
        "mac_addr": "<業務サービス用ネットワークのインターフェースのMACアドレス>",
        "net_id": "<ネットワークID>",
        "port_id": "<仮想サーバにアタッチする業務サービス用ネットワークポートID>",
        "fixed_ips": [
          {
            "ip_address": "<業務サービス用ネットワークのポートのIPアドレス>",
            "subnet_id": "<業務サービス用ネットワークのサブネットID>"
          }
        ],
        "port_state": "DOWN"
      }
    }
  3. 仮想サーバのインターフェースとポートがアタッチされたことを確認するため、以下のAPIを実行します。
    $ SERVER_ID=<ポートをアタッチした仮想サーバID>
    $ curl -Ss $COMPUTE/v2/$PROJECT_ID/servers/$SERVER_ID/os-interface -X GET \
    -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq .

    以下のレスポンスが返ってくれば、アタッチは完了です。

    {
      "interfaceAttachments": [
        {
          "mac_addr": "<業務サービス用ネットワークのインターフェースのMACアドレス>",
          "net_id": "<ネットワークID>",
          "port_id": "<仮想サーバにアタッチした業務サービス用ネットワークのポートID>",
          "fixed_ips": [
            {
              "ip_address": "<業務サービス用ネットワークのポートのIPアドレス>",
              "subnet_id": "<業務サービス用ネットワークのサブネットID>"
            }
          ],
          "port_state": "ACTIVE"
        },
        {
          "mac_addr": "<インターフェースのMACアドレス>",
          "net_id": "<ネットワークID>",
          "port_id": "<仮想サーバにアタッチされている管理用ネットワークのポートID>",
          "fixed_ips": [
            {
              "ip_address": "<管理用ネットワークのポートのIPアドレス>;",
              "subnet_id": "<管理用ネットワークのサブネットID>"
            }
          ],
          "port_state": "ACTIVE"
        }
      ]
    }