Skip to content

Blog

AWS Workspaces 上の Amazon Linux2 に RDP クライアントをインストールする

AWS Workspaces で Windows 以外にも Amazon Linux2 のバンドルを利用することが出来ます。 この Amazon Linux2 に限った話ではありませんが、Linux 上から Windows へ RDP したい場合には remmina という RDP クライアントを利用することが出来ます。 Amazon Linux2 の場合、以下を実行することで remmina をインストールすることが出来ます。

resopnder で「 'typesystem' has no attribute 'SchemaDefinitions'」エラーを回避する

responder でアプリケーションを書いても AttributeError: module 'typesystem' has no attribute 'SchemaDefinitions' というエラーになる場合があります。 例えば以下のように pip で gunicorn や responder をインストールせずにインストールし、アプリケーションを実行した場合にエラーになるかも知れません。

Python の venv 環境を direnv で自動的に有効/無効化する

Python で venv 環境を作成した際、該当ディレクトリに移動する毎に source venv/bin/activate する必要があります。 direnv を使うことでこれを自動化することが出来ます。 direnv は現時点で Release v2.31.0 が最新ですがバイナリが登録されていない為、今回は Release v2.30.3 を利用します。 尚、今回は Ubuntu 20.04LTS 上でテストしました。

batfish でダミーホストを利用する

batfish でルーティングや ACL のテストを実施する際、ルータやファイアウォールとは別にダミーのホストを利用したい場合があります。 こういった場合は .json ファイルを用意することで簡単にダミーホストを用意出来ます。 Modeling hosts に .json ファイルのフォーマットが書かれています。

pybatfish で対象コンフィグが更新されている場合のみ、スナップショットを再作成する

batfish に同梱されているサンプルスクリプトや、インターネット上で見かけるスクリプト例は「スナップショットの有無に関わらず、スナップショットを生成する」ものが多いと思います ("例" なので、そういうものなのだと思います)。 仮に何度もスクリプトを実行し直す場合は、「コンフィグに変化が無いのであれば、毎回のスナップショット再作成は不要」という場合もあると思います。 そういった場合の実装例をメモしておきます。

例として Question には ipOwners を利用していますが、どの Question を利用してもスナップショット初期化部分の考え方は同じです。