
エンジニアブログ クラウド上で簡単!Aristaネットワーク検証 - GitHub Codespaces
ネットワークを運用や設計されている方は、日常的にネットワーク機器の検証や動作確認をしているのではないでしょうか。
検証の度に、物理的なルーターやスイッチを用意するとなると、ハードウェアの調整からラッキングやケーブリングなど、
多くの時間と工数がかかっているかと思います。
近年は、ネットワーク装置の仮想版やコンテナ版なども充実してきており、
一部の検証や動作確認では、仮想版をサーバーやPC上で実行することで工数を削減されている方も増えているかと思います。
今回は、仮想版での検証をより簡単かつ柔軟に扱えるGitHub Codespacesを用いたAristaネットワーク検証方法をご紹介します。

加藤 和樹
ITスペシャリストとして従事
領域は、ネットワーク全般と自動化を担当
ネットワーク自動化定着に向けて邁進中
1. 従来のネットワーク検証とは?
ひとえにネットワーク検証と言っても、いろいろな検証があるかと思います。
例えば、設定方法確認のための検証から、プロトコル動作確認、機器のパフォーマンス試験、導入前の正常性確認など様々な目的の検証があります。
機器のパフォーマンス試験や導入前の正常性確認では、やはり実際に導入する予定の機器を用いて行うことが望ましいと考えられますが、設定方法の確認やプロトコル動作確認などは、必ずしもハードウェアベースの機器が必要とは限らないかと思います。
今回は、そのようなユースケースにおいて非常に簡単に試すことのできるクラウドベースの検証環境をGitHub Codespaces上に構築する方法と手順をご紹介します。
2. クラウドで「ネットワーク検証」を実現するGitHub Codespacesとは
みなさん、ハードウェアを利用しないネットワーク検証方法と考えると通常はESXiやKVM、Hyper-V上で構築する仮想版が思いつくのではないでしょうか。
昨今はどのベンダーでも仮想版を用意しており、気軽に試すことができるようになっております。
このように従来より確実にネットワーク検証や学習をしやすくなった環境ではありますが、そんな仮想版でも以下のような課題を感じたことはないでしょうか。
・仮想環境サーバーが必要
・仮想環境サーバーへのリーチャビリティの確保
・ローカルPCの場合、リソースに余裕が必要
・スクラップアンドビルドが容易でない(時間や手間がかかる)
今回は、これらの課題を解決できるGitHub Codespacesについてご紹介します。
ネットワークエンジニア的には、GitHub Codespacesに馴染みのない方も多いのではないでしょうか。
GitHub Codespacesは、GitHub社が提供するクラウドベースの統合開発環境となります。
Visual Studio Code(以下VS Code)を使用されている方は、VS Codeのクラウド版と考えていただけるとわかりやすいかと思います。
GitHub Codespacesでは、エディタ機能の他にクラウドVM上で様々なアプリケーションを動かすことが出来ます。
この中には、コンテナアプリケーションも動かすことが出来るためコンテナベースのネットワークアプライアンスも実行可能です。
クラウドベースのためリソースに余裕のないノートPCやタブレットでもインターネットにアクセスできる環境さえあればすぐに利用することが出来ます。
また、GitHub Codespacesには無料で利用できるFree tierが毎月120Core/hoursあります。
これは、例えば4Coreのインスタンスを構築した場合に、120÷4=30時間まで無料で利用できることを意味します。
詳細は、以下のドキュメントを参照の上ご利用ください。
GitHub Codespaces の請求について - GitHub Docs
現在の利用状況は、以下のページから確認することが出来ます。

3. GitHub Codespacesでの「ネットワーク検証」利用方法
「2」章でご紹介の通り、GitHub Codespacesは様々なアプリケーションを動かすことが出来ますが、
今回はGitHub上のリポジトリに構成ファイルなどが準備されており、数クリックでデプロイのできるArista cEOSを用いた利用手順をご紹介します。
3.1事前準備
Step 1:Aristaアカウントの登録
※既に、Aristaアカウントを保持している場合はスキップ
下記URLから「Registration Guide」に沿ってユーザー登録をお願いします。
User Registration - Arista
Step2:Arista Portal Access Tokenの取得
Aristaサイトにアクセスの上、以下のLoginボタンからログインを実施します。

サイトのヘッダーバーから「ようこそ!XXXX」を選択し、「My Profile」を選択します。
「Portal Access」内の「Access Token」をコピーします。
「Access Token」が表示されていない場合は、「Generate Token」をクリックし、生成の上コピーします。
Step3:GitHubアカウントの登録
※既に、GitHubアカウントを保持している場合はスキップ
下記URLからナビゲーションに沿ってユーザー登録をお願いします。
Sign up to GitHub · GitHub
3.2デプロイ
AristaのCommunity LabsやOne-Click SE Demosには、様々なCodespaces上で立ち上げることのできる構成ファイルが提供されています。
Arista Community Labs:About acLabs - Community Labs
One-Click SE Demos:How To Start - One-Click SE Demos
今回は4Coreのリソースで立ち上げることのできる「Containerlab with cEOS」を立ち上げてみたいと思います。
まず初めに、以下のサイトにアクセスを行い「Start "Build Containerlab with cEOS" in Codespace」をクリックします。
Build Containerlab with cEOS - One-Click SE Demos
次に、「ARTOKEN」欄へ、Arista Portalでコピーした「Access Token」をペーストし、「Create new codespace」をクリックします。
クリックするとVS Codeに近い画面が表示されますので、下記のようにターミナルが表示されるのを待ちます。
※これには数分かかる場合があります。

ターミナルが表示されましたら、「sudo containerlab deploy」を入力して実行します。
以下のようなコンテナリストが表示されましたらデプロイが完了となります。
ターミナル上にてsshコマンドで各機器にアクセスすることが出来ます。
コマンド:ssh admin@[hostname]
例:ssh admin@l01
デフォルトのパスワードは、「admin」です。

今回の構成フォーマットでデプロイされたトポロジー図は、以下のサイトの「Lab Topology」をご確認ください。
サイト上では、トポロジーの変更方法なども記載があります。
Build Containerlab with cEOS - One-Click SE Demos
ラボの終了について
GitHub Codespacesは、稼働している時間ベースの課金となります。
したがって、使用しないタイミングではGitHub Codespacesを終了させることで無償利用時間の有効活用や課金の抑制を行うことが出来ます。
以下のサイトにアクセスの上、利用しているリソースの右端「…」を選択の上、「Delete」をクリックすることでGitHub Codespacesが実行しているVMリソースを終了させることが出来ます。
Codespaces
4. まとめ
今回は、GitHub Codespacesを利用したクラウド上のネットワーク検証手法と手順をご紹介しました。
GitHub Codespacesを利用することで、仮想環境を用いたネットワーク検証における課題を下記の通り解決することが出来ます。
課題1:仮想環境サーバーが必要
⇒物理サーバーの準備が不要
課題2:仮想環境サーバーへのリーチャビリティの確保
⇒インターネットへのリーチャビリティがあればどこでも利用可能
課題3:ローカルPCの場合、リソースに余裕が必要
⇒利用したいタイミングで利用したいリソースのデプロイが可能(一定以上は有償)
課題4:スクラップアンドビルドが容易でない(時間や手間がかかる)
⇒コンテナベースで簡単にスクラップアンドビルドが可能
事前準備が完了していれば、10分程度の時間でデプロイ
双日テックイノベーションでは、今回ご紹介しましたArista社製品に対する高い知見を持ったエンジニアが揃っております。
利用してみたご感想やご不明な点、または実際のハードウェアを用いた検証をしてみたいなど、
下記のリンクよりお気軽にお問い合わせをいただけますと幸いです。
エンジニアブログ
Stech I Labに関するお問い合わせは、
こちらのフォームからご連絡ください。