0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI CLIでVNICに複数のSecondary Private IPを一括作成する

0
Posted at

OCI VCNのBulkIP機能を使うと、1回のリクエストで複数のPrivate IPをVNICに作成できます。この記事では、oci network private-ip bulk-create を使って、1つのVNICに 10.1.1.30 から 10.1.1.45 までの16個のSecondary Private IPを一括作成した流れをまとめます。

前提

  • 対象VCN、サブネット、VNICは作成済み
  • OCI CLIが利用可能
  • 対象VNICのOCIDを確認済み
  • この記事ではVNIC指定で実行する

注意点として、検証メモでは subnetIdvnicId を同時指定せず、VNIC指定で実行しています。

作成前の状態

対象VNICには、作成前はプライマリのPrivate IPのみが割り当てられていました。

作成前のVNIC IP一覧

作成用JSONを用意する

bulkCreatePrivateIpItem に作成したいIPアドレスを並べます。

cat > bulk-create.json <<'JSON'
{
  "vnicId": "<target-vnic-ocid>",
  "bulkCreatePrivateIpItem": [
    { "ipAddress": "10.1.1.30", "displayName": "sec-10.1.1.30" },
    { "ipAddress": "10.1.1.31", "displayName": "sec-10.1.1.31" },
    { "ipAddress": "10.1.1.32", "displayName": "sec-10.1.1.32" },
    { "ipAddress": "10.1.1.33", "displayName": "sec-10.1.1.33" },
    { "ipAddress": "10.1.1.34", "displayName": "sec-10.1.1.34" },
    { "ipAddress": "10.1.1.35", "displayName": "sec-10.1.1.35" },
    { "ipAddress": "10.1.1.36", "displayName": "sec-10.1.1.36" },
    { "ipAddress": "10.1.1.37", "displayName": "sec-10.1.1.37" },
    { "ipAddress": "10.1.1.38", "displayName": "sec-10.1.1.38" },
    { "ipAddress": "10.1.1.39", "displayName": "sec-10.1.1.39" },
    { "ipAddress": "10.1.1.40", "displayName": "sec-10.1.1.40" },
    { "ipAddress": "10.1.1.41", "displayName": "sec-10.1.1.41" },
    { "ipAddress": "10.1.1.42", "displayName": "sec-10.1.1.42" },
    { "ipAddress": "10.1.1.43", "displayName": "sec-10.1.1.43" },
    { "ipAddress": "10.1.1.44", "displayName": "sec-10.1.1.44" },
    { "ipAddress": "10.1.1.45", "displayName": "sec-10.1.1.45" }
  ]
}
JSON

一括作成する

oci network private-ip bulk-create --from-json file://bulk-create.json

成功するとWork Request IDが返ります。

{
  "opc-work-request-id": "<work-request-ocid>"
}

作成結果を確認する

サブネット側のIP管理画面で、指定したIPが割り当て済みになっていることを確認できます。

サブネット側の作成後IP一覧

VNIC側でも、複数のSecondary Private IPが紐づいていることを確認できます。

VNIC側の作成後IP一覧

CLIで確認する場合は、次のように一覧できます。

oci network private-ip list --vnic-id "$VNIC_ID" \
  --query 'data[].{ip:"ip-address", id:id, isPrimary:"is-primary", name:"display-name"}' \
  --output table

一括削除する

削除はPrivate IPのOCIDを指定します。まず対象範囲のPrivate IP OCIDを取得します。

oci network private-ip list --vnic-id "$VNIC_ID" \
  --query 'data[?"is-primary"==`false` && "ip-address">=`10.1.1.30` && "ip-address"<=`10.1.1.45`].id | join(`"\n"`, @)' \
  --raw-output > privateip_ids.txt

bulk-delete 用JSONを生成します。

{
  echo '{'
  echo "  \"vnicId\": \"$VNIC_ID\","
  echo '  "bulkDeletePrivateIpItem": ['
  awk '{print "    { \"privateIpId\": \""$0"\" },"}' privateip_ids.txt | sed '$ s/,$//'
  echo '  ]'
  echo '}'
} > bulk-delete.json

削除します。

oci network private-ip bulk-delete --from-json file://bulk-delete.json

まとめ

bulk-create を使うことで、複数のSecondary Private IPを1回のAPI呼び出しで作成できました。多数のIPをVNICに割り当てる運用では、個別に作成するより手順を簡略化できます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?