はじめに
Bare Metal Cloud APIは、phoenixNAPBMC製品を操作する際の柔軟性を高めます。ここに記載されているAPIを使用すると、タグを使用してリソースを整理したり、BMCアカウントのシステムログとAPIアクティビティを監視したり、BMCインスタンスのプライベートネットワークを制御したりできます。
この記事では、次のベアメタルクラウドAPIについて理解します。
- サーバータグマネージャーAPI
- 監査ログAPI
- マルチプライベートバックエンドネットワークAPI
サーバータグマネージャーAPI
Tag Manager APIを使用すると、ユーザーはタグを作成してサーバーを整理およびグループ化できます。タグ名またはタグ名と値でリソースをフィルタリングすることもできます。したがって、タグは、ベアメタルクラウドサーバーの管理を簡素化するキーと値のペアです。
Tag Manager APIはこのHTTPリクエストを使用します:
https://api.phoenixnap.com/tag-manager/v1/tags
および次の方法:
- POST- タグインベントリに新しいタグを作成します。
- GET- タグとタグインベントリの情報を取得します。
- パッチ- インベントリからタグを変更/更新します。
- 削除- インベントリからタグを削除します。
タグの作成
POSTリクエストを使用してタグを追加するには、タグ本体にタグ名と isBillingTag
の値が含まれている必要があります プロパティ(trueまたはfalse)。このプロパティは、請求書がタグを使用してサーバーに定期的なコストを表示するかどうかを指示します。タグの説明プロパティはオプションです。
たとえば、 ExampleTag
を作成するには 、 /tags
を使用します エンドポイントと:
タグを作成すると、一意のIDが取得されます。 APIリクエストにはタグ名またはIDを使用できます。
タグとタグインベントリの表示
GETを使用する リクエストと/tags
BMCアカウントに属するすべてのタグを表示するエンドポイント。この例では、タグ Environment
があります およびExampleTag
上で作成しました。
出力には、インベントリ内のすべてのタグと、すべてのプロパティとその現在の値が一覧表示されます。
特定のタグを表示するには およびそのプロパティについては、 /tags/{tagId}
を使用してください エンドポイント。
タグを変更する
パッチを使用する /tags/{tagId}
を使用するメソッド タグの値を更新するエンドポイント。たとえば、 isBillingTag
を変更します falseからtrueへ。
isBillingTag
にパッチを適用する場合 プロパティ、割り当てられたすべてのリソースでタグが変更されます 。
タグを削除する
BMCアカウントからタグを完全に削除するには、削除を使用します /tags/{tagId}
を使用するメソッド エンドポイント。
サーバーリソースへのタグの割り当て
PUTを使用する メソッドと/servers/{serverId}/tags
BMCサーバーにタグを割り当てます。タグの本文にはタグ名が含まれている必要がありますが、value
プロパティは空のままにすることができます。ただし、このプロパティが設定されている場合は、同じタグを異なる値で使用する複数のサーバーを持つことができます。 。
たとえば、environment
を設定します value prod
のタグ あるBMCサーバーに接続し、別のサーバーに同じタグ名を使用しますが、値QA
。したがって、 1つのタグを複数のサーバーに割り当てることができますが、異なる値を使用する 。
タグの詳細をリクエストすると、タグの本文には、割り当てられているサーバーから収集されたフィールドが表示されます。同じタグが異なる値を持つ複数のBMCサーバーに割り当てられている場合、タグにはその情報も表示されます。
リソースからタグの割り当てを削除すると、システムはタグの詳細を自動的に更新します。
サーバーにタグを割り当てると、リソース使用の整理が容易になります 異なるチームが複数のプロジェクトに取り組んでいるとき。さらに、企業はBMCアカウントのサーバー使用量の請求書に明確な内訳を取得します。
タグを使用してサーバーをフィルタリングする
サーバーにタグが割り当てられている場合は、タグ名とタグ値を使用してBMCサーバーをフィルタリングできます。
GETを使用する サーバーリソースをフィルタリングするためのこの形式のメソッド:
/servers/?tag=tagName.tagValue
複数のクエリパラメータを使用して、フィルタリングを調整します。
/servers/?tag=tagName.tagValue&tagName2.tagValue2
タグ値の指定はオプションであるため、タグ名を使用してサーバーリソースのみをフィルタリングします。
/servers/?tag=tagName
例:
/servers/?tag=Environment
クエリ結果には、フィルタリングパラメータに一致するすべてのサーバーが表示されます。
監査ログAPI
BMC Audit Log APIを使用すると、BareMetalCloudアカウントでAPI呼び出しとアクティビティを監視できます。システムは、各APIアクションのイベントログを自動的に作成することにより、ユーザーアクションを記録します。
このAPIを使用すると、監査ログエントリを読み取り、必要なセキュリティレベルを維持できます。 Audit Log APIは、運用のベストプラクティスを維持するために必要な透明性をビジネスオーナーに提供します。
たとえば、サーバーの電源を切る、再起動する、変更の請求を行う、SSHキーを削除するなどのエラーメッセージやアクションが発生すると、システムはログに記録します。
ユーザーは自分のアカウントの監査ログのみを表示できます。
イベントログの取得
APIイベントログを取得するには、 GETを使用します メソッドとこのリクエスト:
https://api.phoenixnap.com/audit/v1/events
さまざまなクエリパラメータを使用して、フィルタ結果をカスタマイズします。
- 制限。 応答出力を指定された数のイベントに制限するようにAPIに指示します。エンドポイントは
/events?limit=value
。 - 動詞。 指定された動詞イベントの結果を表示します。たとえば、POSTイベントを表示するには、
/events?verb=POST
エンドポイント。 - ユーザー名。 指定されたユーザー名のAPIイベントログを表示します。エンドポイントは
/events?username=value
。 - 注文。 タイムスタンプの昇順(ASC)または降順(DESC)に従って、イベント監査ログのソート順を設定します。値が指定されていない場合、デフォルトはDESCです。エンドポイントは
/events?order=ASC_or_DESC
。 - 日付。 from を使用して、指定した日付範囲でフィルタリングします およびから 。エンドポイントは
/events?from=data&to=date
。
マルチプライベートバックエンドネットワークAPI
マルチプライベートバックエンド機能は、BMCサーバーでプライベートネットワークを使用するときに追加の制御と柔軟性を提供します。マルチプライベートバックエンドネットワークAPIを使用すると、ユーザーはサーバーのプロビジョニング時にプライベートIPスペースをカスタマイズできるようになります。
HTTPリクエストのURLは次のとおりです。
https://api.phoenixnap.com/networks/v1/private-networks
Network APIには、次のプロパティがあります。
プロパティ | 入力 | 説明 |
---|---|---|
ID | システム | システムによって割り当てられた一意のネットワーク識別子。 |
名前 | 必須 | ネットワーク名は、アカウントのすべてのネットワークで一意である必要があります。 (大文字と小文字を区別しない) |
説明 | オプション | ネットワークの説明。定義されていない場合、nullになります。 |
タイプ | システム | バックエンドネットワークに返されるフィールド(この場合はPRIVATE)。 |
場所 | 必須 | ネットワークの場所。 |
デフォルトの場所 | 必須 | ある場所のアカウントのデフォルトネットワークを表すブール値。 |
CIDR | 必須 | ユーザーがIPアドレスを割り当てることができるネットワークサブネット。 |
VLAN ID | システム | ネットワークの問題が発生した場合の問題報告に使用されるクライアントVLANID。 |
サーバー | システム | 問題のネットワークに割り当てられているサーバーのリスト。 |
このAPIを使用すると、ユーザーは次のことができます。
- サーバーをプロビジョニングして、特定のプライベートネットワークに割り当てます 。ネットワークの詳細が指定されていない場合、システムはその場所のデフォルトネットワークにサーバーを追加し、最初に使用可能なIPを自動的に割り当てます。たとえば、複数のプライベートネットワーク内にサーバーをプロビジョニングし、それぞれにネットワーク設定を指定します。 1台のサーバーに最大10個のプライベートIPアドレスを割り当てることができます。異なるネットワークを組み合わせることができず、1つのゲートウェイのみがサポートされます。
- 既存のサーバーを別のプライベートネットワークに追加する 。これは、その場所の任意のネットワークにすることができます。サーバーをプロビジョニングする場合と同じ方法で、複数のネットワークを割り当てることもできます。
- プライベートネットワークから既存のサーバーを削除する 。サーバーが接続されている唯一のネットワークである場合でも、任意のプライベートネットワークからサーバーを削除できます。サーバーのプロビジョニングを解除すると、サーバーは関連するプライベートネットワークから削除され、IP割り当てが解放されます。
以下は、すべての場所のデフォルトのプライベートネットワークの表です。
場所 | CIDR |
---|---|
フェニックス(PHX) | 10.0.0.0/24 |
アッシュバーン(ASH) | 10.1.0.0 / 24 |
シンガポール(SGP) | 10.2.0.0/24 |
オランダ(NLD) | 10.3.0.0/24 |
シカゴ(CHI) | 10.4.0.0 / 24 |
シアトル(SEA) | 10.5.0.0/24 |
プライベートネットワークAPIを作成する
POSTを使用する メソッドと/private-networks
プライベートネットワークを作成するためのエンドポイント。
リクエストには次のフィールドが含まれています:
- 名前
- 場所
- locationDefault
- cidr
- サポートされる範囲は次のとおりです。
- 10.0.0.0 – 10.255.255.255
- 172.16.0.0 – 172.31.255.255
- 192.168.0.0。 – 192.168.255.255
- サポートされる範囲は次のとおりです。
- 説明 (オプション)
例:
プライベートネットワークの詳細を取得する
GETを使用する メソッドと/private-networks
すべてのプライベートネットワークのリストを取得するエンドポイント アカウントが所有するすべての場所。
特定のプライベートネットワークの詳細を取得するには 、 /private-networks/{network_id}
を使用します エンドポイント。
この結果には、サーバーIDとIPを使用してプライベートネットワークに割り当てられたサーバーも表示されます。
必要に応じて、このエンドポイントのある場所で結果をフィルタリングします:
/private-networks?location=PHX
PHXを目的の場所に置き換えます。
プライベートネットワークの変更
PUTを使用する メソッドと/private-networks/{network_id}
プライベートネットワークの詳細を更新するエンドポイント。
変更できるフィールドは次のとおりです。
- 名前- 同じ名前を残すか、新しい一意の名前を指定してください。
- locationDefault -たとえば、ネットワークがデフォルトでない場合は、値を trueに設定します そのネットワークをデフォルトにします。場所ごとにデフォルトにできるネットワークは1つだけです。
- 説明- オプションのフィールド。
プライベートネットワークの削除
既知のプライベートネットワークを削除するには、 DELETEを使用します メソッドと/private-networks/{network_id}
終点。
ネットワークを削除すると、そのネットワークに関する以前の情報を取得することはできません。