SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

BizReach Tech Blog

AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ

BizReach Tech Blog 第3回


  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、株式会社ビズリーチのエンジニアが、急成長を続ける事業の中で得られた実践的なノウハウをつづります。第3回となる今回は、6月に始めたエンジニアブログ「BizReach Tech Blog」で反響が大きかった記事を加筆修正して掲載します。テーマは「AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ」です。CloudMapperの紹介と、全自動でネットワーク構成図を作成するための方法をご紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 株式会社ビズリーチで、SREエンジニアとして勤務しているmassです。2017年4月に入社してから、HRMOS(ハーモス)採用管理というサービスのAWSのインフラを管理したり、アーキテクチャの設計・構築をしたりしています。

 今回は、入社してから半年経ったら、いつのまにかサービスのネットワーク管理者になっていて、そこで発生した問題と、それを解決するのに非常に役立ったCloudMapperというOSSを紹介したいと思います。

対象読者

  • AWSを利用していて、複雑なネットワーク構成を可視化したい方
  • AWSを利用していて、普段あまり意識することのないネットワーク構成を視覚的に把握したい方
  • NoOps!を実践したい方

対象環境

  • AWS環境およびに環境に対して参照権限を保持していること
  • 具体的な必要条件、およびに手順に関しては公式サイトを参照してください

発生した問題

 私がネットワーク管理者を引き継いだ段階では、ネットワーク構成図が作成されておらず、以下の問題が発生していました。

  • ロードバランサーを止められない
    • 用途不明のロードバランサーが存在したため、停止を検討した
    • しかし、どのリソースから利用されているか見えず、不用意に停止できなかった
  • 用途不明なEC2インスタンスの調査ができない
    • AWSからメンテナンス通知が来た対象が用途不明なEC2インスタンスだった
    • 停止を判断するためsshでインスタンスに入ろうとしたが、インスタンスへのssh経路を把握できず調査が難しかった

 理論上はすべてのAWSリソースがコード管理されていれば、コードをもとにネットワーク構成図を作成することができます。しかし、HRMOS採用管理のインフラの中でも古いAWSリソースはコード管理されておらず、必要な情報を確認するにはAWSのコンソールにログインして一つひとつ情報を集める必要がありました。

ネットワーク構成図をどう作成しようとしたか

 大前提として、手動でやったら負けと考えました。

 手動での更新作業はミスや更新漏れが起きやすく、実際に使える有用な構成図を提供できないと考えたためです。特に、オンプレミスの場合はネットワーク構成をそれほど頻繁に変更しないので、手動でネットワーク構成図を作成するのが普通でしたが、 クラウドの場合はオンプレとは比較にならないほど短いスパンで構成変更していくので、それをすべて手動で反映していくのは現実的ではないと考えました。

 そのため、自動で更新されるネットワーク構成図の作成という方向で進めることにしました。

 そして、具体的な手段を探していた時に、CloudMapperというOSSを見つけたのです。

CloudMapperとは

 CloudMapperとは、2018年2月に公開されたOSSで、READMEに記載された文章を日本語に大まかに訳すと以下の機能があると書いてあります。

  • AWSの環境を解析して、ネットワーク構成図を生成するよ!
  • ブラウザで表示できるよ!
  • AWSのリソースを視覚化するのに役出つよ!

 これを使えばネットワーク構成図の自動作成・更新が可能になると考えました。

 実際に出来上がったサンプル見ると、非常に綺麗なネットワーク図ができていました。素晴らしい!

 また、ブラウザ上の操作で、選択したインスタンス(以下画像では"Web2"インスタンス)について、設定値や繋がっているインスタンスに関する情報も参照できます(以下画像右側のウィンドウ)。

生成されたネットワーク構成図のサンプル画像
生成されたネットワーク構成図のサンプル画像

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
運用自動化に向けて行ったこと

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
BizReach Tech Blog連載記事一覧

もっと読む

この記事の著者

近藤 美沙(株式会社ビズリーチ)(コンドウ ミサ)

B2B、B2Cサイトの開発・運営、広告プラットフォームの運用等を経て、2017年からビズリーチへ入社。開発環境整備、アーキテクチャの設計・運用を担当。最近では、社内でSRE本の輪読会、Terraformの布教活動、k8sの勉強会など、周囲の愉快な仲間達と共にNoOPS!の世界に向けて歩んでいます。 twitter: @_zoo github: https://github.com/MisaKondo 株式会社ビズリーチについて

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11090 2018/11/29 20:37

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング