SHOEISHA iD

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

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

Developers Summit 2025 セッションレポート(AD)

マイナビが内製開発をさらに加速させるために構築した「コンテナ集約基盤」とは?

【13-A-6】マイナビの内製開発を支えるコンテナ基盤設計開発の舞台裏~自動化で楽々デプロイ!でもアプリチームからはちょっと不評?~

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

「集約」「自動化」「開発環境の最適化」による解決アプローチ

 これらの課題を解決するためにマイナビが目指したのが、「数日間のリードタイムで環境を提供でき、開発時の手戻りが少なく、誰でも運用可能な集約基盤の開発」だった。具体的には、ALB(Application Load Balancer)やコンテナ、データベースなどをプラットフォーム化し、一元的に構築・管理できるとともに、複数のユーザーの要請に応じてクラウドリソースを素早く提供できる「マルチテナント型集約基盤」の実現を目指すことにした。

 この仕組みを実現する上で重要なポイントになったのが、「集約」「自動化」「開発環境の最適化」の3つの取り組みだった。まず「集約」については、AWSアカウントとリソースの集約を実施。アカウント発行までのリードタイムを短縮し、サービスや環境ごとに作成される大量のAWSアカウント管理の負荷も軽減した。さらに、環境ごとに作成して複数サービス間で共有して利用する「共有リソース」と、サービスごとに個別に作成する「専有リソース」を切り分け、一部の共有可能なリソースを節約することにした。

 「自動化」においては、コンテナ構成のパターン化とパラメータファイルの自動生成を実現した。コンテナ構成をパターン化することで、ヒアリングや構成検討にかかるリードタイムを短縮するとともに、プロジェクト独自の構成がなくなることで誰もが運用可能になり、「運用の属人化」という課題も解決できた。

 さらには、インフラ構築のリードタイムを短縮するため集約基盤の新規サービス作成依頼をGoogleフォームから受け付け、CDKをデプロイする際に必要なプロジェクト独自の設定を記述したパラメータファイルを自動生成する仕組みも構築した。その実装を担当した同社 デジタルテクノロジー戦略本部 ビジネスイノベーション統括本部 クラウドインテグレーション統括部 クラウドエンジニアリング部 エンジニアリング1課 横尾風太氏は、具体的な仕組みと成果について次のように説明する。

株式会社マイナビ ビジネスイノベーション統括本部 クラウドインテグレーション統括部 クラウドエンジニアリング部 エンジニアリング1課 横尾 風太氏
株式会社マイナビ デジタルテクノロジー戦略本部 ビジネスイノベーション統括本部 クラウドインテグレーション統括部 クラウドエンジニアリング部 エンジニアリング1課 横尾 風太氏

 「Googleフォームで入力したデータをGoogle Apps Scriptで連携してJSONに変換し、Amazon S3に保存します。その後AWS Lambdaが動作し、承認者の確認を経てCDKパラメータファイルを含むCDKコードが自動作成され、プルリクエストが投げられる仕組みを実装しました。これにより、後続のGithub ActionsとAWS CodePipelineによる自動デプロイを実現しました。さらに今まで手動で対応していたクロスアカウントでのACMのDNS検証についても、カスタムリソースを活用してCDKで対応できるようにし、自動化を実現したことでインフラのデプロイがCDKで完結するようになりました」

 そして「開発環境の最適化」では、まずコンテナデプロイ方式のパターン化を実施した。これまでの内製開発ではプロジェクトごとにデプロイ方式を選定していたため、標準化されたデプロイ方式がなく、アプリチームでナレッジが蓄積されにくい状況だった。そこで、Amazon ECS用のデプロイツール「ecspresso」を使用したローリングデプロイと、AWS CodeDeployを使用したBlue/Greenデプロイの2パターンを用意。これによりプロジェクトごとの違いがなくなり、ナレッジの蓄積が進むとともにデプロイ時のトラブルも減少したという。

 また、オブザーバビリティツールとしてNew Relicも新たに採用した。集約基盤ではAWSアカウントを集約している関係上、アプリチームのAWSコンソールへのアクセスを制限している。そのためコンソールに入れなくても開発に支障が出ないよう、コンテナログやCloudWatch Metricsなど、集約基盤で扱うAWSサービス関連のデータを収集でき、アプリログの収集・監視までも一元管理できる環境を整備した。

次のページ
集約基盤の運用開始後に明らかになった課題とその解決策

関連リンク

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2025 セッションレポート連載記事一覧

もっと読む

この記事の著者

吉村 哲樹(ヨシムラ テツキ)

早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

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

篠部 雅貴(シノベ マサタカ)

 フリーカメラマン 1975年生まれ。 学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。 卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や商品まで幅広く撮影。旅を愛する出張カメラマンとして奮闘中。 Corporate website Portfolio website

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

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

提供:株式会社マイナビ

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21024 2025/03/28 12:55

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング