利用可能対象: Business および Advanced ライセンスの Enterprise プラン
Miro の AWS Cloud View アプリを使用すると、AWS アカウントのデータをインポートして AWS インフラストラクチャの図を生成できます。
✏️ (Enterprise) CloudView のインテグレーションは Advanced ライセンスでのみ利用可能です。詳細は Enterprise ライセンスについて をご覧ください。
この図を生成する方法は 2 つあります:
- クロスアカウント ロールの連携: クロスアカウント ロールを使用して AWS アカウントを Miro に接続し、自動的に AWS アカウントを視覚化します
- JSON ファイルのアップロード: AWS CLI (コマンドラインインターフェイス) でスクリプトを実行して生成された JSON ファイルをアップロードします
クロスアカウント ロールの連携
Miro はクロスアカウント ロールを使用して、AWS アカウントに安全にアクセスします。Miro がアカウントにアクセスするために特別に作成された ReadOnly ロールを AWS アカウントで作成する必要があります。そのロールの ARN を使用して、Miro と AWS アカウントを接続することができます。
AWS Cloud View アプリを使用するには次の手順に従ってください。
- ツール、メディア、インテグレーション (+) アイコンをMiroのツールバーの下部でクリックし、AWS Cloud Viewを検索します。
- 検索結果からアプリを起動します。
- モーダルダイアログで、タブクロスアカウントロールのリンクを選択します。
クロスアカウントロールのリンク - ダイアログの手順に従い、AWSコンソールで新しいクロスアカウントロールを設定します。
- AWS でロールが作成されたら、Role ARN のフィールドにその ARN を入力します。
AWS で ARN フィールドを見つける場所 - 追加する新しい AWS アカウントに名前を付けてください。
- 追加してインポート をクリックします。
- 最近追加された AWS アカウントは、次のステップで表示されるアカウント一覧に表示されます。
選択した AWS アカウント - 可視化したいアカウントを選択し、次へをクリックします。
- 可視化したいリージョンを選択します。複数のリージョンを選択すると、可視化のプロセスが遅くなる可能性がありますのでご注意ください。
インポートするリージョンを選択 -
次の画面では、必要なリソースの種類やタグを使用して、ダイアグラムにフィルターを適用します。(フィルターはダイアグラム作成後にコンテキストメニューから適用または編集できます。)
💡 フィルターを使ってダイアグラムのサイズを小さくしましょう。小さい方が生成が速く、使いやすくなります。
このステップで2種類のフィルターを適用できます:
- リソース: 例えば、「EC2インスタンス」を選択して、そのAWSアカウントのEC2インスタンスのみを表示します。
- タグ: AWSリソースにタグが付けられている場合、リソースフィルターに加えて、タグ(キーと値のペア)フィルターを使用できます。例えば、タグキー「所有者」を検索して、値として「CheckoutStream」を選択します。
- 可視化 をクリックして、図を作成します
AWSアカウント用の図が生成されます。
Cloud Viewアプリによって生成されたAWSインフラストラクチャ図の例
JSONファイルのアップロード
AWS CLI(コマンド ライン インターフェイス)でスクリプトを実行して、クラウドリソースのデータをJSONファイルとして安全に保存できます。
AWS Cloud View を使って Miro で AWS インフラを可視化した後は、作成された図を編集し、接続の追加、図形や付箋のようなオブジェクトの追加、または AWS Cost Calculator アプリを使用して、新しいデザインに伴うコストを確認することができます。
次の手順に従って、JSON ファイルを使用して AWS Cloud View アプリを使用してください:
- Miro のツールバーの下部にあるツール、メディア、インテグレーション (+) アイコンをクリックし、AWS Cloud Viewを検索します。
- アプリを起動します。
- モーダルダイアログから、AWS でスクリプトを実行するための環境を設定する手順に従います。
JSONファイルのアップロード
✏️ 先にNode.jsをマシンにインストールし、AWS CLI(コマンドラインインターフェイス)のセットアップが必要です。
- ターミナルで AWS プロファイルを選択します。
- コマンドをコピーして、ターミナルで実行します。
コピーしたコマンドをターミナルで実行 - AWS リソースに関するデータを含む JSON ファイルが生成されます。
- Miro 内の同じモーダルダイアログに JSON ファイルをアップロードします。
- Miro が AWS インフラのビジュアライゼーションを生成します。
Cloud View アプリで生成された AWS インフラストラクチャ ダイアグラムの例
💡 Miro の CloudView アプリ内で AWS アイコンの色を直接変更できます。このオプションは 2025 年以前のアイコンには適用されません。
よくある質問
セキュリティー
新しい AWS ロールを作成して Miro にアクセスを許可する際には、Cloud View モーダルで提供されるリンクを使用します。このリンクには、アカウント ID と 外部 ID が含まれています。外部 ID は、内部 ID と Miro が管理するシークレットキーを用いた一方向の暗号化方式で生成されます。これにより、各 Miro 組織が独自の外部 ID を持つことが保証され、他の組織があなたの ID を主張してあなたの AWS インフラストラクチャにアクセスすることができません。
外部 ID は、AWS が管理するメカニズムを使用して生成されるハッシュであり、接続があなたの Miro 組織にのみ限定されることを保証します。
ロール ARN の割り当て
外部 ID に加えて、AWS 環境に接続してリソースをスキャンするためには、作成したロールのロール ARNをユーザーが割り当てる必要があります。ロール ARN の割り当ては完全に顧客の責任であり、AWS 管理者によって管理されます。管理者は誰にロール ARN を割り当てるかを決定し、ロールへのアクセスを管理します。同じロール ARN を複数の Miro ユーザーに割り当てることができ、ロール ARN と対応する Miro 組織の両方に割り当てられたユーザーは AWS 環境に接続できます。しかし、このアクセスは、認証プロセスごとに外部 ID を検証することによって、特定の Miro 組織に厳格に制限されます。
顧客のセキュリティー責任
Cloud View を使用して AWS リソースのセキュリティーを維持するために、以下の責任に注意してください。
- 組織メンバーシップの制限: より広範なアクセスを提供する際には、クラウド視覚化専用の Miro 組織をアカウントに作成することをお勧めします。組織メンバーの数を制限することで、機密性の高いクラウド情報へのアクセスを持つのは、特定の許可されたユーザーに限定できます。
- Role ARN の慎重な割り当て: 大規模な Miro 組織へのアクセスを許可する際には、作成されたロールのARNをどのように割り当てるかについて注意が必要です。本当にアクセスが必要な人にのみARNを割り当ててください。テスト用の AWS アカウントに対して大規模な Miro 組織でアクセスを制限しつつ、小規模な Miro 組織には広範なアクセスを提供したい場合もあります。
これらの実践を行い、Miro の安全なアクセスフレームワークを活用することで、自信を持って Cloud View を使用して AWS リソースを管理できます。
クロスアカウント ロールを連携する
- Athena 名前付きクエリ
- Auto Scaling グループ
- CloudTrail トレイル
- CloudWatch メトリクスアラーム
- CloudWatch メトリクスストリーム
- DynamoDB テーブル
- EC2 インスタンス
- EC2 VPC
- EC2 VPC エンドポイント
- EC2 サブネット
- EC2 ルートテーブル
- EC2 インターネット ゲートウェイ
- EC2 NAT ゲートウェイ
- EC2 トランジット ゲートウェイ
- EC2 ボリューム
- EC2 ネットワーク ACL
- EC2 VPN ゲートウェイ
- EC2 ネットワーク インターフェイス
- ECS リソース
- EFS ファイルシステム
- ElastiCache クラスター
- ELBv2 ロードバランサー
- ELBv2 ターゲットグループ
- ELBv1 ロードバランサー
- EKS クラスター
- LAMBDA 関数
- Redshift クラスター
- RDS インスタンス
- RDS クラスター
- RDS Proxy
- Route 53 ホストゾーン
- S3 バケット
- SNS トピック
- SQS キュー
JSON アップロード
必要に応じてカスタムポリシーをロールに設定し、Miro を特定のリソースやリージョンに制限することができます。Miro はデフォルトでこのページに記載されているリソースをスキャンします。カスタムポリシーを設定している場合、スクリプトはアクセス権のある範囲内のみでスキャンを行います。
アプリがインフラストラクチャをスキャンしている特定の時間に、アプリを実行することでサービスの一部のクオータが使用されます。リソースのスキャンは、新しい AWS アカウントをリンクしたり、AWS CLI でスクリプトを実行して JSON 出力を生成したりする際に行います。インフラストラクチャにすでに大きな負荷がかかっていないときにスキャンするのが通常は望ましいです。
また、AWS CLI スクリプトを使用する際に--call-rate-rpsを使用することで、1 秒あたりのリクエスト数を減らすことができます。たとえば、--call-rate-rps 1 を指定してスクリプトを実行すると、サービスへのリクエストが 1 秒あたり 1 回だけになり、公正な使用率を確保できます。
このスクリプトは指数バックオフ戦略を装備しており、失敗したリクエストを再試行するたびに遅延が大きくなるという方法で、AWS が推奨する標準的な方法です。