AWS Perspective の構築

#AWS Perspective#

- アーキテクチャー図を自動生成するソリューションです。
- 自動でアカウントのリージョン全体に存在するAWSサービスを可視化してくれるわけではなく、リソースを選択していくと関係性ををアーキテクチャ図として可視化してくれるものです。
- AWS Perspective はサービスとして提供しているものではなく、CloudFormationスタックをデプロイし、Webアプリケーションとして利用します。
- CloudFormationスタックがデプロイされたら、Perspectiveを利用するためのURL(CloudFront)にアクセスして利用しWEB上で利用します。数時間Amazon Neptuneがいい感じにデプロイされるぽい。

#料金#

- 💲0.79 /hr or 💲535.85/mthくらいのコストがかかるので個人で検証目的で利用する場合は注意が必要です。
- 利用してみた感覚としては、Amazon Neptuneのインスタンスタイプによるのか、リージョンによるのか↑の金額以上が発生していました。

#構築手順#

a.次のページにアクセスし、「AWS コンソールで起動する」をクリックします。

https://aws.amazon.com/jp/solutions/implementations/aws-perspective/

![スクリーンショット 2021-06-11 0.37.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/2ec3b14b-60b1-0026-bf36-48573012c8c4.png)

b.なお、デフォルトでは、バージニア北部リージョンとなっているため、東京リージョンに切り替える。
![スクリーンショット 2021-06-11 0.39.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/112054cf-2ef0-21a7-232c-e70f6799562f.png)

c.ステップ 1:テンプレートの指定 については気にせず、「次へ」。

d.ステップ 2:スタックの詳細を指定でパラメータを入力して、「次へ」。
　今回は、AdminUserEmailAddressの入力と、AlreadyHaveConfigSetupを「No」にする以外はデフォルトです。

|パラメータ|値|
|---|---|
|AdminUserEmailAddress|管理者のメールアドレスを入力、このアドレス宛にアクセス情報が届きます。|
|AlreadyHaveConfigSetup|AWS Config が有効化されているか、今回は既に有効化されているので、「Yes」を選択。|
|CreateElasticsearchServiceRole|AWSServiceRoleForAmazonElasticsearchService ロールを作成します。今回は初めてで作成済ではないので、「Yes」を選択。 |
|CreateNeptuneReplica|レプリカは不要なので「No」。|
|NeptuneInstanceClass|アーキテクチャー図描画に必要なデータを保管する Netptune のサイズ。こだわりがなければ「デフォルト」のままとする。|
|OptOutOfSendingAnonymousUsageMetrics|匿名でメトリクスをAWSへフィードバックを送るか。「No」。|	

![スクリーンショット 2021-06-11 1.04.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/05e5b13f-de3b-b894-e44e-2c866099decb.png)

e.ステップ 3:スタックオプションの設定 はそのまま「次へ」。

f.ステップ 4:レビュー は機能と変換にチェックを入れて、「スタックの作成」。
 スタックが作成されるまで、約30分程度かかります。
![スクリーンショット 2021-06-11 1.13.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/37586189-8658-e0b1-9ad9-2bfce6338be8.png)

g.先程、AdminUserEmailAddressに入力したメールアドレス宛に、UsernameとPasswordが届くので確認しておきます。
![スクリーンショット 2021-06-11 1.31.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/5ab0a02c-36aa-f432-b7b9-99a3786ab4b4.png)

h.次のスタックの出力タブから、WebUI URLを確認し、アクセスする。
　aws-perspective-012345678912-ap-northeast-1-CloudFrontDistribution-abcdefghijkl
![スクリーンショット 2021-06-11 1.51.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/da7537fd-94d5-01ff-6aa2-84a785224b66.png)

i.メールで届いているUsernameとPasswordを入力する。
![スクリーンショット 2021-06-11 2.10.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/6eb09cdd-8af8-c7a2-946d-66dc35e5de3c.png)

j.パスワードの変更が求められるので入力する。
![スクリーンショット 2021-06-11 2.10.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/c83a05df-a538-784c-1dcf-014450d7560f.png)

k.verificationのために、「Email」を選択肢、「VERRIFY」をクリック。
![スクリーンショット 2021-06-11 2.11.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/a24be924-c907-73b0-ce3e-45707bb189f3.png)

l.メールで、Your verification code が届くので入力し、「SUBMIT」をクリック。
![スクリーンショット 2021-06-11 18.24.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/68eda985-c45d-249c-c9c8-cbb1bf795ffd.png)
![スクリーンショット 2021-06-11 2.11.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/a25ee0c7-cdbb-5b7d-140e-1487d069a8f8.png)

m.「Import」をクリック。
　なお、↓の「Import an Account」とあるように、別アカウント、リージョンのものをインポートしてくれることもできるようです。（権限周りは必要になるとおもいますが。。。）
![スクリーンショット 2021-06-11 2.12.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/49796566-5f3e-c4dd-abb5-17076258e228.png)

以上で構築は完了です。その後の作業はリソースを起動していると個人としてはそこそこ料金が発生してしまうこともあり、スクショはとっていないです。


#リソースの削除#

この2つを削除すれば、ネストされたスタックも全て削除されます。

aws-perspective	
aws-perspective-012345678912-ap-northeast-1

ただし、S3バケットが空でないとか諸々綺麗に削除することはできなく、削除されるのにも30分程度かかるので、消し忘れて料金が発生しないようにご注意を。


#参考#
https://blog.serverworks.co.jp/create-aws-perspective-202010
https://blog.serverworks.co.jp/try-aws-perspective-202010
https://www.youtube.com/watch?v=snTO-k3o3eM
https://qiita.com/akanenone/items/aa310ef804058dedd892