目次
はじめに
AWSを使っている方なら誰しもタイトルのようなことができたらいいのになーと1度は考えたことがあるのではないでしょうか?
今回はそんな理想を叶えてくれる(かもしれない)Former2というツールを使って、システム構成図を描いてみたいと思います。
Former2ってそもそも何か?どのように設定したらよいか?については、こちらの記事で紹介していますので、参考にしてみてください。
- 【AWSの呼吸 漆ノ型】Former2を使って既存環境をCFnのテンプレートに変換する~失敗編~ - ailes blog
- 【AWSの呼吸 漆ノ型】Former2を使って既存環境をCFnのテンプレートに変換する~成功編~ - ailes blog
理想 (drawioで手動作成)
まずは今回想定するシステム構成図の姿から。
こんな構成をボタン一つでシステム構成図に起こしてくれることを願って試してみました。
(あくまでお試しなので、あえてシンプルな構成を選んでいます)
現実 (Former2で自動作成)
が・・・しかし、現実はそう甘くはありませんでした・・泣
なんとも中途半端な構成図になってしまいました。
設定
上記のような図をFormer2でアウトプットさせるにはSetup->Settingsの[Default Output]に”Daiagram”を選択しておきます。
AWSリソースの追加と構成図の作成
設定が終わったら、図にしたいリソースを[Add Selected]で追加し、[Generate]ボタンを押したら、自動で図を作成してくれます。
今回、実際に描画対象としてみたAWSリソースは以下の通りです。
- Compute->EC2->Instances
- Compute->EC2->V2 Load Balancers
- Compute->EC2->V2 Load Balancer Listener Rules
- Database->RDS->Clusters
- Database->ElastiCache->Clusters
- Networking & Content Delivery-> VPC->VPCs
- Networking & Content Delivery-> VPC->Subnets
- Networking & Content Delivery-> VPC->Internet Gateways
- Networking & Content Delivery->VPC->NAT Gateways
- Networking & Content Delivery->CloudFront->Distributions
- Networking & Content Delivery->Route 53->Hosted Zones
- Networking & Content Delivery->Route 53->Records
気づいた点
- 線を引いてくれない
- Route53=>CloudFront=>ELB=>EC2の一連の線を引いてくれませんでした
- Diagram機能として描画できないリソースがある
- 以下のVPCまわりのリソースは描画されなかったので、未対応なのかもしれません
- VPCs、Subnets
- Internet Gateways、NAT Gateways
- その他、AZやSGなど表現する階層がたくさんあるような複雑な絵には対応しきれないかもしれません
- 以下のVPCまわりのリソースは描画されなかったので、未対応なのかもしれません
- そもそもFormer2自身が読み込めてないリソースがある
- 今回の環境依存で何か設定が悪くて読み取れてないのか、Former2自体の不具合なのか不明ですが、no recordでした
- 例えば以下のリソース情報が参照できませんでした (実機上にはリソース自体は存在するにも関わらず)
- Compute->EC2->V2 Target Groups
- Compute->EC2->Security Groups
- Compute->EC2->Volumes
- Storage->S3->Buckets
- EC2とELB間の線はTarget Groupsが設定できれば、引けるのかもしれません
- 実はDiagramはまだBeta扱い
- CloudFormationはBetaがついてませんが、Diagram機能はまだBetaみたいなので温かく見守りましょう
- (CloudFormerと同じく永遠にBeta版という可能性もありますが・・・)
図のエクスポート
Outputs->Diagram->File->Export as->XMLを選択すると、XMLファイルでエクスポートできます。 例えば、このファイルをAWSの構成図の作図ツールとしてメジャーなdraw.ioにインポートして編集することが可能です。
終わりに
Former2でシステム構成図(っぽいもの)を作ることができました。
残念ながら、手放しで簡単にシステム構成図として使えるものができるかというと、そんな甘い話はないという結果となりました。
あくまで簡易的に試しただけなので、使い方が悪いだけの可能性もありますが。。
Former2自体、全てのAWSサービスのリソースを十分に読み込めていなかったり、Daigram機能ではキレイに作図できない部分が多かったりするようなので、まだまだ様子を見ながら使った方がよさそうです。
以上。