利用可能: Business、Advanced ライセンスを持つ Enterprise
Miro の AWS Cloud View アプリを使用すると、AWS アカウントからデータをインポートして AWS インフラストラクチャの図を生成できます。
✏️ (Enterprise) CloudView インテグレーションは、Advanced ライセンスを持つ場合にのみ利用可能です。詳細については、Enterprise ライセンスの理解をご覧ください。
この図を生成する方法は 2 つあります:
- クロスアカウント ロールを連携する: クロスアカウント ロールを使用して AWS アカウントを Miro に接続し、自動的に AWS アカウントを視覚化します。
- JSON ファイルをアップロードする: AWS CLI(コマンドラインインターフェイス)でスクリプトを実行して生成された JSON ファイルをアップロードします。
クロスアカウント ロールを連携する
Miro は AWS アカウントへの安全なアクセスを得るためにクロスアカウント ロールを使用します。Miro があなたのアカウントにアクセスできるように、AWS アカウント内に Miro 専用の ReadOnly ロールを作成する必要があります。その後、そのロールの ARN を使用して Miro と AWS アカウントを接続できます。
AWS Cloud View アプリを使用する手順:
- Miroのツールバーの下部にあるツール、メディア、インテグレーション (+) アイコンをクリックし、AWS Cloud Viewを検索します。
- 検索結果からアプリを起動します。
- モーダルダイアログから、クロスアカウントロールをリンクタブを選択します。
クロスアカウントロールをリンクする - AWSコンソールで新しいクロスアカウントロールを設定するための手順に従います。
- AWSでロールが作成されたら、ロールARNフィールドにそのARNを入力します。
AWSでのARNフィールドの場所 - 追加する新しいAWSアカウントに名前を付けます。
- 追加とインポートをクリックします。
- 最近追加したAWSアカウントは、次のアカウント一覧のステップで表示されます。
AWSアカウントの選択 - 表示したいアカウントを選択し、次へをクリックします。
- 表示したいリージョンを選択します。複数のリージョンを選択すると、可視化プロセスが遅くなることがありますのでご注意ください。
インポートするリージョンを選択 -
次の画面では、必要に応じてリソースの種類やタグを使って図にフィルターを適用します(図が作成された後でも、コンテキストメニューからフィルターを適用または編集できます)。
💡 図のサイズを小さくするために、フィルターを使用することが強く推奨されます。小さな図は生成が速く、使いやすくなります。
このステップで2種類のフィルターを適用できます:
- リソース: 例えば、「EC2インスタンス」を選択すると、そのAWSアカウント内のEC2インスタンスのみを表示します。
- タグ: AWSリソースにタグが付けられている場合、リソースフィルターに加えて、タグ(キーと値のペア)フィルターを使用できます。例えば、タグキー「所有者」を検索し、「CheckoutStream」などの値を選択します。
- 可視化をクリックしてダイアグラムを作成します
AWSアカウントのためのダイアグラムが生成されます。
Cloud Viewアプリによって生成されたAWSインフラストラクチャダイアグラムの例
JSONファイルのアップロード
読み取り専用権限を使用してクラウドリソースのデータを安全にJSONファイルに保存するスクリプトをAWS CLI(コマンドラインインターフェイス)で実行できます。
Miro で AWS Cloud View を使用して AWS インフラストラクチャを視覚化したら、作成された図に編集を加えることができます。接続を追加したり、図形や付箋などの追加オブジェクトを加えたり、新しい設計により発生するコストを確認するために AWS Cost Calculator アプリを使用することもできます。
以下の手順に従って、AWS Cloud View アプリを JSON ファイルで使用してください。
- Miro のツールバーの下部にある ツール、メディア、インテグレーション (+) アイコン をクリックして、AWS Cloud View を検索します。
- アプリを起動します。
- モーダルダイアログから AWS でスクリプトを実行する環境をセットアップするための手順に従います。
JSON ファイルのアップロード
✏️ 処理の前に、Node.js をマシンにインストールし、AWS CLI(コマンドラインインターフェイス)をセットアップする必要があります。
- ターミナルで AWS プロファイルを選択します。
- コマンドをコピーして、ターミナルで実行します。
ターミナルでコピーしたコマンドを実行する - AWS リソースに関するデータを含む JSON ファイルが生成されます。
- Miro 内の同じモーダルダイアログに JSON ファイルをアップロードします。
- Miro が AWS インフラストラクチャのビジュアライゼーションを生成します。
Cloud View アプリで生成された AWS インフラストラクチャ図の例
Miro が開発した AWS Cloud View アプリは現在ベータ版です。この体験を将来的により良いものにするために、フィードバックを募集中です。この Typeformを使用してご意見をお寄せください。
よくある質問
セキュリティー
新しい 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 組織を作成することをお勧めします。組織メンバーの数を制限することで、特定の権限を持つユーザーのみが敏感なクラウド情報にアクセスできるようにすることができます。
- ロール ARN の慎重な割り当て:大規模な Miro 組織にアクセスを許可する場合、作成したロールの ARN の割り当てには注意が必要です。必要なアクセスを持つ人にだけ ARN を割り当てます。この決定はあなた次第であり、小規模な Miro 組織に対しては広いアクセスを提供し、テスト用 AWS アカウントでは大規模な 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 オプションを使用して一秒あたりのリクエスト数を減らすこともできます。たとえば、--call-rate-rps 1 を使用してスクリプトを実行すると、一秒に一回だけサービスにリクエストを送信し、公平な使用率を確保できます。
スクリプトには指数バックオフ戦略が装備されており、失敗したリクエストは間隔を広げながら再試行されます。これはAWSが推奨する標準的な方法です。