AWS Perspectiveを使ってリソースの構成図を可視化してみた。

#AWS Perspectiveとは
つい最近発表された、AWS Perspectiveですが、AWSアカウントのリソース構成を逆算してくれて
web UI(CloudFormationデザイナーみたいな)で可視化できるというソリューションのようです。
CloudFormationのテンプレートが用意されているのでデプロイするだけで使えるようになります。

構築済みのアーキテクチャを可視化できるのは結構おもしろそうだし、役に立つ場面も多そう！

#利用する際の注意点（コスト）
CloudFormationでソリューションをデプロイするので、ソリューション自体の料金がかかります。
・[AWS Perspective deployment guide](https://docs.aws.amazon.com/solutions/latest/aws-perspective/aws-perspective.pdf#welcome)
このガイドによると、***\$0.79/hr or $535.85/mthくらいのコストがかかるようです。***
ちょっと使ってみたいくらいの方は、***使用後すぐにソリューション削除した方が良いと思います。***

***筆者はちゃんと削除された事を確認せずに寝たら\$15請求されちゃいました(汗)***


#使うための準備
デプロイやインポートの時間を含めると３０分以上は準備にかかってしまうと思います。
##・CloudFormationテンプレートを使ってPerspectiveをデプロイする
AWS公式の[AWS Perspective](https://aws.amazon.com/jp/solutions/implementations/aws-perspective/)サイトを開いて少し下にスクロールしたら右側に「Launch in the AWS console(AWSコンソールで起動する)」という灰色のボタンがありますのでクリックします。
![Inked設定２launch-in-the-aws-console_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/7cf7cc82-2030-6690-4773-33dbd69e65ad.jpeg)
<br>
CloudFormationのスタック作成画面に行ったらまず、***リージョンを東京に変更します。***
スタックの作成画面はデフォルトのまま「次へ」をクリックします。

<br>

・「AdminUserEmailAddress」欄にメールアドレスを入力します。ここで入力したメールアドレスにログインに必要なIDとパスワードが送られてきます。
・「AlreadyHaveConfigSetup」は***Configの設定を特にしていなければ「NO」***にします。***（筆者は予め設定してあったのでYesになっています。）***
![Inked設定３_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/d147ed60-408b-d900-c1ee-83555fb7b2d0.jpeg)
<br>
一応、下に公式ガイドも貼っておきます。
この通りに設定していただければ大丈夫です。
![359acbc05a3deb0209f5b82fbeac107c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/7efbf888-4b8b-8c6e-64be-2c654d9890bf.png)
それ以外はデフォルト設定でスタックの作成をクリックします。
<br><br>
![設定4cloudformation完了画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/73cdb86a-6ef3-547c-3081-61f59c86b52a.png)
「CREATE_IN_PROGRESS」になるので、「CREATE_COMPLETE」になるまで待ちます。

***作成には20分くらいかかります。***
待っている間に、先ほど登録したメールアドレスにメールが届いているか確認しておいてください。
そのメールに記載されているIDとパスワードでログインすることになります。

##・デプロイが完了したらログインする

![Inked設定６complete_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/e71d8caa-adc6-f145-027b-d62d098a1767.jpeg)
「CREATE_COMPLETE」になったらスタックの検索バーに「CloudFront」と入力して出てきたCloudFrontDistributionスタックをクリックします。

![Inked設定７URL_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/a5487cd0-fdd0-745c-2482-771c59fdcf59.jpeg)

スタックの「出力」タブをクリックするとURLが出力されていますので、クリックするとログイン画面に飛びます。
![設定8ログイン画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/7ebcc724-2b5e-8ce7-23cc-61e3c01c1ec2.png)
先ほどのメールに記載されているログインIDとパスワードでログインし、パスワードの再設定と、メールアドレス認証を行います。

認証が終わり「Getting Started」の画面になったら「Import」をクリックします。
***インポート完了まで15分くらいかかります。***

これでAWS Perspectiveが使える状態になりました！

#実際に使ってみる
自分で作ったアーキテクチャも表示できますが、
試しにAWS PerspectiveのコンポーネントのLambdaとDynamoDBを表示させて、見やすいように移動させてみました。
![20b4a523196d54358707022d19452431.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693048/a0bc95c9-e8a6-5fcd-4795-503b68802140.png)
見やすいようにリソース少なめで表示してみましたが、もっと表示させることもできます。


web UIなので直感で操作できて結構楽しいです。
***コストが細かく表示されているところが結構使えそう***だなと思ったポイントです！
CSVやJSON、PNG、draw.ioとしてもエクスポートできるみたいですね！

人によるかもしれませんが、少しだけ操作しずらい部分もあったので、アップデートに期待です。
#最後に注意点
最初の利用する際の注意点でも上げましたが、ソリューション自体の料金で１時間約0.8ドルくらいかかるので、***使い終わったら「aws-perspective」と「AWS-perspective(アカウント名）（リージョン名）」というスタックを削除してください。***
このスタックを削除することでCloudFromationで作成したリソースをクリーンアップできます。