Meraki Dashboard API を使用してネットワークで使用されている全てのサブネットを表示

Amazon Web Service (AWS) で virtual MX (vMX) 100 を建てて検証環境を整えようとした時、どのサブネットを Virtual Private Cloud (VPC) に割り当てればいいのか考えなければいけませんでした。私は東京、シドニー、ニューヨークにそれぞれ MX を設置しており、それらとの MX を AWS と繋げなければいけませんでした。ダッシュボードでそれぞれの拠点の MX で使用しているサブネットを確認すればいいのですが、何回もクリックしメモを取るのは非常にめんどくさいです。各ネットワークをダッシュボードで確認するのは耐えられません。同時に、拠点が 100 も 200 もある企業はどうしているのか疑問に思いました。これは Meraki 固有の問題ではなく、Catalyst を使用していても同じです。Meraki にはダッシュボードの情報を抽出できる Application Programming Interface (API) が幸いにも備わっています。そして、コードがかけない人でもその API を利用できるように、Google Sheet と連携されたものが公開されていました。

今回実際に使用したのは Meraki のデベロッパーコミュニティに掲載されている Meraki Dashboard Reports with Google Sheets を使用ます。Google のアカウントが必要になりますが、そのページから Meraki-Reports Sheet をクリックするとサンプルシートが開きます。使用するためには、まずは自分の Google ドライブにコピーを作成する必要があります。複数のタブがデフォルトで追加されていますが、必要に応じて削除してください。

google_sheet_make_a_copy.gif

使用する前に少し準備が必要です。Meraki ダッシュボード API を使用するためには API キーが必要になります。API キーはユーザが自身で発行する必要があります。API キーは右上の「自分のアカウント名」>「プロファイル」>「API access」から発行可能です。一度発行すると、下の画像のように確認することができないのでパスワードマネージャー等に保存することをお勧めします。

api_key.png

これで準備が整いました。「Meraki-Reports」>「Settings」> 「Set API Key」から API キーを設定します。初めて設定する時は権限を許可する必要があります。

google_sheet_configure_api_key.gif

これで API が使用可能になりましたが、今回は organization ID の設定も必要です。なので、「Meraki-Reports」>「Organization」にてアカウントに紐づいている全ての organization を出力させます。

google_sheet_show_org_id.gif

今回は 0.id の organization で使用されているサブネットを出力させたいので、0.id の値をコピーし、「Meraki-Reports」>「Set Org ID」にて設定します。

全ての準備が整いました。「Meraki-Reports」>「VLANS」を実行し、少し待つと、指定した organization で使用している全てのサブネットが表示されます。この情報を元に今回の検証では AWS の VPC に 10.0.0.0/23 を割り当てればいいと判断しました。

google_sheet_show_subnets

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.