利用可能なプラン:Business、Enterprise、Education プラン
Miro の AWS Cloud View を使用すると、AWS アカウントからデータをインポートすることで、AWS インフラストラクチャーのダイアグラムを生成できます。
このダイアグラムを生成するには、2 つの方法があります。
- クロスアカウント ロールをリンクする:クロスアカウント ロールを使用して AWS アカウントと Miro をリンクし、AWS アカウントを自動的に視覚化します
- AWS CLI (コマンドライン インターフェイス)でスクリプトを実行することで生成された JSON ファイルをアップロード
クロスアカウント ロールのリンク
Miro は、クロスアカウント ロールを使用して、AWS アカウントに安全にアクセスします。AWS アカウントで ReadOnly ロールを作成する必要があります。これは、Miro が 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 リソースにタグが付けられている場合は、リソースの検索条件に加えてタグ(キーと値のペア)の検索条件を利用することもできます。たとえば、「所有者」というタグキーを検索して「CheckoutStram」といった値を選択できます。
- [可視化] をクリックしてダイアグラムを作成します。
AWS アカウントのダイアグラムが生成されます。
Cloud View アプリによって生成された AWS インフラストラクチャー図の例
JSON ファイルのアップロード
読み取り専用権限を使用するスクリプトを AWS CLI(コマンドライン インターフェイス)で実行して、クラウドリソースのデータを JSON ファイルに安全に保存することができます。
AWS Cloud View を使用して Miro で AWS インフラストラクチャーを視覚化したら、作成された図を編集して、接続線の追加や、付箋などの図形やオブジェクトを追加したり、AWS コスト計算アプリを使用して新しい設計にかかるコストを確認したりできます。
以下の手順に従って、JSON ファイルで AWS Cloud View アプリを使用します。
- Miro ツールバーの下部にある [ツール、メディア、インテグレーション(+)] アイコンをクリックして、AWS Cloud View を検索します。
- アプリを起動します。
- モーダルダイアログから、指示に従って環境を設定して AWS でスクリプトを実行します。
JSON ファイルをアップロード
- ターミナルで AWS プロフィールを選択します。
- コマンドをコピーし、ターミナルで実行します。
端末でコピーしたコマンドを実行します - AWS リソースに関するデータを含む JSON ファイルが生成されます。
- JSON ファイルを Miro 内の同じモーダルダイアログにアップロードします。
- Miro は AWS インフラストラクチャーを視覚化した図を生成します。
Cloud View アプリによって生成された AWS インフラストラクチャー ダイアグラムの例
Miro によって開発された、AWS Cloud View アプリは、ベータ版リリース中です。ベータ版をお試しいただき、今後の開発状況や改善点について役立てるため、お客様からのフィードバックをお待ちしております。この Typeform を使用してフィードバックを共有してください。
よくある質問
セキュリティ
Miro にアクセスを許可するために新しい AWS ロールを作成する際、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 組織に対してアクセスを広く提供する、あるいは、大規模な Miro 組織で 1 つのテスト用 AWS アカウントにアクセスを限定することが可能です。
こうしたプラクティスを採用して Miro の安全なアクセス フレームワークを活用すれば、自信を持って Cloud View を使用して AWS リソースを管理できます。
クロスアカウント ロールのリンク
- Athena 名前付きクエリ
- 自動スケーリンググループ
- 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 プロキシ
- Route 53 ホストゾーン
- S3 バケット
- SNS トピック
- SQS キュー
JSON アップロード
カスタムポリシーをロールに設定し、必要に応じて Miro を特定のリソースまたは地域に制限できます。Miro はこのページで言及されているリソースをデフォルトでスキャンします。カスタムポリシーを設定している場合、スクリプトはアクセス可能なスコープ内でのみスキャンされます。
インフラストラクチャーに対してスクリプトを実行すると、アプリがリソースをスキャンしている特定の時間にサービスのクォータの一部が使用されます。リソーススキャンが実行されるのは、新しい AWS アカウントをリンクする時、または AWS CLI でスクリプトを実行して JSON 出力を生成する時に行われます。通常、スキャンはインフラストラクチャーに負荷がかかりすぎない場合に実行する方が良いです。
あるいは、--call-rate-rps を使用して AWS CLI スクリプトを使用する際、1 秒当たりのリクエスト量を減らすこともできます。たとえば、スクリプトを --call-rate-rps 1 で実行すると、サービスに対してリクエストが 1 秒間に 1 回しか送信されないため、公平な使用率を確保できます。
スクリプトには指数関数的なバックオフ戦略が実装されています。これは、失敗したリクエストの再試行を行う間隔を次第に長くする手法で、WS で推奨されている標準的な方法です。