メインコンテンツへスキップ

draw.ioでAWSアーキテクチャ図を作成する

·
ツール AWS インフラ 実践
目次

今日学んだこと
#

個人プロジェクト(技術ブログのAWS移行)のアーキテクチャ図をdraw.ioで作成しました。
メンターレビューを通じて、「操作主体を明確にする」「分かりにくいフローは凡例で補足する」といった構成図作成のポイントを学びました。

学習内容
#

なぜdraw.ioを選んだか
#

最初はMermaidで構成図を書いていましたが、面接での説明を考えてdraw.ioに変更しました。

選択肢メリットデメリット
Mermaidコードで管理できる、GitHubで直接表示AWSアイコンが使えない、見た目が簡素
draw.ioAWS公式アイコン、視覚的に分かりやすい画像ファイルとして管理

構成図を使った説明を求められる確率は高いため、AWS公式アイコンを使える
draw.io を選択しました。自分で配置を考えて書いた図なら、細部まで説明できます。

AWS公式アイコンの導入手順
#

draw.ioでは「AWS 2025」のアイコンセットが使えます。

  1. draw.ioを開く(https://app.diagrams.net/)
  2. 左側パネルの「+ More Shapes」をクリック
  3. 「AWS」カテゴリから「AWS 2025」を選択
  4. 「Apply」で追加完了

これでS3、CloudFront、Route53などのAWSサービスアイコンが使えるようになります。

作成時に意識したポイント
#

1. 対象者を意識する
#

この構成図を見る人は誰か(面接官、自分)を考え、過度に詳細にせず、主要なコンポーネントと流れが分かるレベルに留めました。

2. 矢印を交差させない
#

矢印が交差すると、どこからどこへの通信か分かりにくくなります。配置を工夫して交差を避けました。

3. 一貫した命名
#

構成図内のラベルとTerraformのリソース名を一致させると、コードとの対応が取りやすくなります。

4. 凡例を追加する
#

矢印の意味が自明でない場合は凡例で補足します。
今回は「データの流れ(実線)」「メトリクス/ログ(破線)」を左上に配置しました。

メンターからのフィードバック
#

所属しているスクール(RareTECH)でメンターにレビューを依頼しました。

全体評価
#

「とても綺麗」「このまま出しても違和感ない」

指摘された点
#

CI/CDフローの矢印が分かりにくい

修正前の構成図

修正前は「IAM → S3」「IAM → CloudFront」という矢印を引いていました。これだと「IAMがS3を操作する」ように見えてしまいます。

実際の流れは以下の通りです。

  1. GitHub ActionsがIAMロールを引き受ける(OIDC認証)
  2. GitHub ActionsがS3にコンテンツを同期する
  3. GitHub ActionsがCloudFrontのキャッシュを無効化する
コンポーネント役割
GitHub Actions操作の実行主体(APIコールを行う)
IAM ロール認証・認可(権限付与)
S3 / CloudFront操作対象

IAMは「鍵」であって「操作者」ではないため、矢印の起点を修正する必要がありました。

修正内容
#

修正項目内容
矢印削除IAM → S3 / IAM → CloudFront
矢印追加GitHub Actions → S3(コンテンツ同期)
矢印追加GitHub Actions → CloudFront(キャッシュ無効化)
凡例追加「GitHub ActionsはIAMによるOIDC認証後、S3・CloudFrontを操作」

修正後の構成図

説明順序
#

構成図を使って説明するときの順序は下記。

  1. メインフロー: ユーザー → Route53 → CloudFront → S3(コンテンツ配信の基本経路)
  2. CI/CD: GitHub Actions → IAM(OIDC)→ S3/CloudFront(デプロイの流れ)
  3. 監視: CloudWatch → SNS → メール通知(運用視点)

上から下、左から右に流れるように配置すると説明しやすくなります。

まとめ
#

学んだこと詳細
操作主体を明確にする「IAMがS3を操作」ではなく「GitHub ActionsがS3を操作」
凡例で補足する分かりにくいフロー(CI/CD、認証)は説明文を追加
レビューを依頼する自分では気づかない指摘をもらえる
自分で書いた図は説明しやすい「なぜこの配置にしたか」を説明できる

参考
#