Sophos UTM 9 Autoscaling Firewallを使ってみた
はじめに
AWS re:Invent 2015では様々な催しが行われていましたが、その中の1つがSophosジャパンツアー向けランチセッションです。
面白いお話を用意しています!とのことだったので参加させてもらったところ、SophosのLead Security ArchitectであるBill Proutから、なんとSophos UTM 9 Autoscaling Firewallがリリースされたと教えてもらいました!
Sophos UTM 9 Autoscaling FirewallはCloudFormation Templateで提供され、以下のような構成となります。Queenノードがコントローラとなり、ここで設定された内容がS3とSNSによってワーカーであるSwarmノードに連携され、即時反映されます。QueenもSwarmもAutoScalingで起動されているので、AZ障害などでEC2インスタンス障害が発生した場合には自動的に復旧します。Swarmはスケールアウト/インもします。なお、ライセンスは時間単位課金です。以下公式ドキュメントの図から引用。
ということでー、早速使ってみました!
やってみた
立ち上げる
CloudFormationの管理コンソールから新しいスタックを作成します。テンプレートとして「https://s3.amazonaws.com/sophos-nsg-cf/utm/utm-latest-autoscaling.template」を選択します。
パラメーターを設定します。起動するAZとEC2インスタンスに設定する鍵ファイル、VPCに割り当てるNetwork Prefixをしていします。
セキュリティグループに設定するTrustedNetworkに、管理接続するIPアドレスを指定します。その他通知先メールアドレス、パスワード、ライセンス情報として入力が必要な都市や国の情報、ノードホスト名、などを指定します。
そしてスタックを起動!
完了しました。
作成されたものを確認しましょう。まずはEC2インスタンス。Queenが1台、Worker(Swarm)が2台構築されています。
AutoScalingの設定。Queen用とSwarm用の2種類の定義が作成されています。 Swarmは100台までスケールするようになっています。
Swarm用のスケールリングポリシー。CPU負荷をトリガーにオートスケールします。
CloudWatchには上記スケーリングポリシーで使うAlarmが作られています。
S3ではコンフィグ同期用のバケットが作成され、以下のようにコンフィグファイルが保存されています。
SNSではTopicとSubscriptionが作成されています。Queenで設定したらSNS経由でWorkerに通知されます。
試してみる
では、QueenのUTM管理コンソールにログインします。「https://<QueenのEIP>:4444」にWebブラウザでアクセスします。Usernameは"admin"、PasswordはCloudFormationのテンプレート実行で指定したものです。
Queenの管理コンソール。[Deployment Type]がAutoscaling、[Instance Type]がControllerになっています。またFirewall以外の機能は有効化されていません。
さて、こちらはSwarmノードの管理コンソール。[Instance Type]がWorkerになっています。ここで注目して頂きたいのは右下。Web Filteringが無効になっていますね?
さて、こちらはまたQueenの管理コンソール。Web Filteringを有効化します。
Web Filteringが有効になりました。
Queenのダッシュボード。Web Filteringが有効になっています。
こちらはSwarmノードの管理コンソール。Web Filteringが有効になっています!Queen側の設定変更からSwarmの設定変更まで3秒程度、ほぼ即時反映に近いです。SNSで綺麗に連携されていますね。
さいごに
ほぼリアルタイムに設定が同期されるし、障害があっても勝手に復旧するし、負荷に合わせてスケールする。これは良いですね、AWSのサービスを上手に使ってシステムが出来ています。Sophos UTMの活用の幅が広がりそうです。
最後に、ソフォス様、素晴らしいランチセッションをご用意頂きありがとうございました!