はじめに
AWSではEC2インスタンスなどの仮想サーバが立てられますが、サードパーティベンダから仮想ルータ製品が提供されており、AWS MarketPlaceから利用することが可能になっています。オンプレミスと変わらない操作性を持つルータをクラウド上で動作させることができます。この記事ではAWS上で仮想ルータをデプロイする場合に便利な小技を紹介していきたいと思います。
そもそも仮想ルータとは
各ネットワーク機器メーカが提供しているソフトウェアルータです。ルータに限らずファイアウォールやロードバランサなどの仮想アプライアンスも各社から提供されており、クラウド上のインスタンスや、仮想サーバ上のゲストOSとしてルータソフトウェアが動作する。クラウドサービスのみでは実現不可能なネットワーク機能を提供したいケースに適用し、様々な要件に対応することが可能になります。
Catalyst 8000Vについて
Catalyst 8000VはCiscoが提供するソフトウェアルータ製品です。2022/12/16にEoSとなった先代のCSR1000Vに変わって本記事執筆時点での現行プロダクトとなっています。
End-of-Sale and End-of-Life Announcement for the Cisco CSR1000V
AWS上ではEC2をデプロイする際にAWS Marketplace AMIから要件に合ったCatalyst8000Vを選択することで利用できます。ライセンスの購入方法はBYOL (Bring Your Own License) 所有ライセンス持ち込みモデルもしくはPAYG (Pay as You Go) ライセンス込みの従量課金モデルがありますが、日本国内においてはBYOLのみが選択可能となっていますので、自分で購入するかCiscoパートナーから調達しましょう。
【Tips】Catalyst8000Vへのログイン方法
デフォルトでは仮想ルータには「ec2-user」というユーザが設定されており、このユーザの認証にはキーペアを保持したマシンからのSSHログインのみ可能な設定になっています。この仕様はAWS上でたくさんのルータを一気にデプロイしたい場合に少し手間に感じる方が多いのではと思います。
この問題はEC2インスタンスの「ユーザーデータ」オプションを活用することで解決できます。EC2インスタンスを起動する際の画面で仮想ルータのユーザ定義を追加して起動することで、キーペアが無いマシンからでも通常のユーザID+パスワードでのSSHログインを可能にできます。検証環境などセキュリティを緩和できる状況では便利なテクニックなので、覚えておくとよいでしょう。
以下は、仮想ルータへのログインユーザIDが「admin」で、パスワードが「test」に設定するためのユーザデータオプションの例です。
ios-config-1="username admin privilege 15 password test"
なおprivilege 15というのはCiscoルータにログインした後の権限を最大にするコマンドです。通常の権限ではログイン後に「enable」コマンドを打たないと特権モードに遷移できませんが、上記の例ではadminというユーザでログインすればenableコマンドを打たなくてもログイン後に自動的に特権モードになっており、さらに省力化できます。
ios-configはCisco製品のブートストラッププロパティとしてドキュメントがありますのでこちらも参考にするとよいと思います。
Cisco Catalyst 8000V Edge Software Installation And Configuration Guide
他にもTipsをアップデートしていく予定です。