利用可能なプラン:Business プランと Enterprise プラン
Miro の AWS Cloud View アプリを使用して、AWS アカウントからデータをインポートすることで AWS インフラストラクチャのダイアグラムを生成できます。
このダイアグラムを生成する方法は2つあります。
- クロスアカウントロールを連携する: AWS アカウントを Miro とクロスアカウントロールで接続し、AWS アカウントを自動的に視覚化します
- AWS CLI (コマンドラインインターフェイス) でスクリプトを実行して生成された JSON ファイルをアップロードする
クロスアカウントロールを連携する
Miro は、クロスアカウントロールを使用して、AWS アカウントに安全にアクセスします。Miro にアカウントへのアクセスを許可するための、ReadOnly ロールを AWS アカウントで特別に作成する必要があります。そのロールの 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 ファイルをアップロード
読み取り専用権限を使用して AWS CLI (コマンドラインインターフェース) でスクリプトを実行し、クラウドリソースのデータを安全に JSON ファイルに保存できます。
一旦 AWS Cloud View を利用して Miro で AWS インフラストラクチャを視覚化した後、作成されたダイアグラムに接続を追加したり、付箋のような追加図形やオブジェクトを追加したり、新しいデザインが発生するコストを確認するために AWS Cost Calculator アプリを使用したりすることができます。
AWS Cloud View アプリを JSON ファイルで使用するには、以下の手順に従ってください。
- Miro のツールバーの下部にある ツール、メディア、インテグレーション (+) アイコン をクリックし、AWS Cloud View を検索します。
- アプリを起動します。
- モーダルダイアログから、AWS でスクリプトを実行する環境を設定するための指示に従ってください。
JSON ファイルをアップロード
✏️ 先に、Node.js をマシンにインストールし、AWS CLI (コマンドラインインターフェイス)をセットアップしておく必要があります。
- ターミナルで AWS プロフィールを選択します。
- コマンドをコピーして、ターミナルで実行します。
ターミナルでコピーしたコマンドを実行する - AWS リソースに関するデータを含む JSON ファイルが生成されます。
- 同じモーダルダイアログに JSON ファイルをアップロードします。
- Miro があなたの AWS インフラストラクチャのビジュアライゼーションを生成します。
Cloud View アプリで生成された AWS インフラストラクチャ ダイアグラムの例
Miro が開発した AWS Cloud View アプリケーションは現在ベータ版です。お客様からのフィードバックをお待ちしております。これにより、今後の開発とこの機能の向上に役立てます。この Typeform を使用してフィードバックを共有してください。
よくある質問
セキュリティ
Miro にアクセスを許可する新しい AWS ロールを作成する際、Cloud View のモーダルに示されたリンクを使用します。このリンクには、アカウント ID と 外部 ID の両方が含まれています。外部 ID は、Miro が管理する秘密鍵と内部 ID に基づく一方向暗号システムから生成されます。これにより、各 Miro 組織は独自の外部 ID を持つことが保証され、組織外の誰もがあなたの ID を主張して AWS インフラストラクチャにアクセスすることは不可能になります。
外部 ID は、AWS により管理されるメカニズムを使用して生成されるハッシュであり、各 Miro 組織に対してのみ専用の接続が保証されます。
ロール ARN の割り当て
External ID に加えて、AWS 環境に接続してリソースをスキャンするためには、作成したロールのロール ARNを割り当てる必要があります。ロール ARN の割り当ては完全に顧客の責任であり、AWS 管理者によって管理されます。管理者は誰にロール ARN を割り当てるかを決定し、ロールへのアクセスを管理できます。同一のロール ARN を複数の Miro ユーザーに割り当てることができ、ロール ARN と対応する Miro 組織の両方に割り当てられたユーザーは AWS 環境に接続することが可能です。ただし、このアクセスは、認証プロセスごとに External ID を検証することで、特定の Miro 組織に厳密に制限されています。
顧客のセキュリティ責任
Cloud View を使用して AWS リソースのセキュリティを維持するために、以下の責任を意識してください。
- 組織メンバーシップの制限: 広範なアクセスを許可する場合、クラウドの可視化専用に、アカウント内に専用のMiro組織を作成することをお勧めします。組織メンバーの数を限定することで、特定の承認されたユーザーのみが重要なクラウド情報にアクセスできるようにします。
- Role ARNの慎重な割り当て: 大きなMiro組織にアクセスを許可する場合には、作成されたロールのARNの割り当てに注意してください。アクセスが必要な人にのみARNを割り当てましょう。より小規模なMiro組織に広いアクセスを提供しつつ、より大規模なMiro組織ではテスト用のAWSアカウントに対して制限されたアクセスを提供することを検討するかもしれません。
これらの実践を守り、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 アカウントをリンクするときや、JSON 出力を生成するために AWS CLI でスクリプトを実行する際にリソースのスキャンが行われます。通常、インフラストラクチャに既に重い負担がかかっていないときにスキャンを行うのが良いです。
また、AWS CLI スクリプトを使用する際には、--call-rate-rps を使用して、1 秒あたりのリクエスト数を削減することもできます。例えば、--call-rate-rps 1 でスクリプトを実行すると、サービスに対して1秒間に1回だけリクエストを送信し、公平な使用率を確保します。
スクリプトには指数的リトライ戦略が装備されており、失敗したリクエストを再試行する際に、間隔を次第に長くしながら遅らせます。これは、AWSが推奨する標準的な方法です。