CML2を使いこなす。（その３：ラボの作成）

# はじめに
前回はライセンス登録を行い、ようやく`CML2`を使える状態になったので実際にネットワークシミュレート構成を作ってみます。

- 【前】[CML2を使いこなす。（その２：ライセンスの登録）](https://qiita.com/sakai00kou/items/8631a3fc836c1dd969c3)
- 【次】[CML2を使いこなす。（その４：色々なコンソール接続）](https://qiita.com/sakai00kou/items/bef173fb6383411475f9)

# ラボの作成
`CML2`では、ネットワークシミュレートする環境の単位を「**ラボ**」と呼称しており、ラボを作成して、ラボ内で各機器を配置、設定することで通信の確認などシミュレートすることができます。

`DASHBOARD`画面から`ADD`ボタンを押してラボを作成してみます。

![capture_21032021_111450.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/e9228fb4-c0e5-85bd-7380-cfd0fbc37920.jpeg)

ラボ画面では画面左に機器配置する画面、画面右に配置できる機器一覧、画面下に各種情報が表示されるようになっています。

![capture_21032021_112246.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/1ba23e13-b821-0535-0f33-54cd41ddca6f.jpeg)

# 各ノード一覧
デフォルトでは以下のノードを使うことができます。

また、ノードを自分で追加することもできるので例えば以下の一覧にない`CentOS`イメージを自分で準備すれば一覧に追加することも可能です。

|ノード|ユーザ名|パスワード|
|:--|:--|:--|
|ASAv|※ユーザ未設定|※ログイン時に設定|
|CSR1000v|※ユーザ未設定|※パスワード未設定|
|IOSv|※ユーザ未設定|※パスワード未設定|
|IOSVL2|※ユーザ未設定|※パスワード未設定|
|IOS XRv|cisco|cisco|
|IOS XRv 9000|cisco|cisco|
|NX-OS|admin|※ログイン時に設定|
|NX-OS 9000 (admin)|admin|cisco|
|NX-OS 9000 (cisco)|cisco|cisco|
|External Connector|※ユーザ無し|※パスワード無し|
|Unmanaged Switch|※ユーザ無し|※パスワード無し|
|TRex|※ユーザ無し|※パスワード無し|
|WAN Emulator|※ユーザ未設定|※パスワード未設定|
|Server (Tiny Core Linux)|cisco|cisco|
|Alpine|cisco|cisco|
|CoreOS|cisco|cisco|
|Desktop (Alpine Linux)|cisco|cisco|
|Ubuntu (20.04.1)|ubuntu|cisco|

※私の環境では`IOS XRv 9000`はどうしても起動ができなかったので以下オンラインマニュアルから抜粋。

https://developer.cisco.com/docs/modeling-labs/#!faq/reference-platform-and-images-questions

# ノードの配置
ノードをラボ内に配置するには右に表示されているノードをクリックし、画面左にドラッグ＆ドロップすることで配置できます。

各ノード間の接続は、ノードにフォーカスすると表示される丸形の操作パネルから接続アイコンをドラッグ＆ドロップすることで線を伸ばし、接続したいノード上でマウスのボタンを離します。

![capture_21032021_151236.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/0fa4357e-21bc-01b4-1d51-b2f4ec895f78.jpeg)

接続したいノード上でボタンを離すとそれぞれどこのポートに接続するか、選択できるウィンドウが表示されるため、それぞれ選択して`CREATE LINK`をクリックすることでお互いのノード間に線が引かれます。

![capture_21032021_151617.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/b5aa74f5-49af-ba77-6c1e-df181393c566.jpeg)

![capture_21032021_151908.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/80b84e05-8635-6274-0701-e87f41c93fe1.jpeg)

# ノードの起動・停止
ノードの配置が完了したら、ノードを起動します。

起動方法はいくつかありますが、ノードにフォーカスすると表示される起動ボタン「▶」をクリックすると起動開始します。

各ノードのコンソールには、ノードを選択した際に表示されるノードメニューの`CONSOLE`から操作できます。

また、`VNC`が有効なノードであれば、`VNC`からGUI操作を行うことも可能です。

![capture_21032021_152521.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/ab6b1a71-0a2b-1712-a41b-197cb1901128.jpeg)

ノードの停止もいくつかありますが、先ほど起動したときと同様、ノードにフォーカスすると表示される停止ボタン「■」をクリックすると停止します。

![capture_21032021_152807.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/fc94bbce-23ac-0226-7831-f032cfd3b9aa.jpeg)

# ノード・ラボの停止・削除
`CML2`のノードは単に機器を停止しただけではラボから削除できないようになっています。

`CML2`のノードの状態は「**起動状態**」、「**停止状態**」、「**初期状態**」の3種類あり、以下のような状態遷移を行います。

![状態.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/59a93b63-a4be-936c-c729-2cffad3bee06.png)

ノードの配置直後は**初期状態**となっておりますが、起動すると**初期状態**ではなくなるため、その後は起動・停止を繰り返しても**初期状態**には戻りません。

ノードを削除する場合は、ノードを停止後、「**WIPE NODE**」の処理を行い、初期状態に戻すことで、「**DELETE NODE**」のボタンが選択できるようになり、削除することができます。

尚、「**WIPE NODE**」はノード選択することで画面下に表示される「**SIMULATE**」、「**DELETE NODE**」は「**NODE INFO**」から操作できます。

各ノードが現在どの状態か確認するには、ノードアイコンの右下に表示されるマークを見れば確認することができ、それぞれ以下の状態を表しています。

![状態遷移.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569912/be845e90-7794-d042-d760-4ad41b18fedd.png)

また、ラボ自体を削除する際も、ラボのノードすべてが削除されているか、もしくはノードすべてが初期状態でないと削除できないようになっているので、削除したいのにできない場合は、停止状態になっているノードがいないか等確認するようにしましょう。

# おわりに
今回はラボの作成から、ノードの操作まで行いました。

次回は各ノードへコンソール接続する際の複数の方法について説明しようと思います。