【CNDW2024】GitOpsと完全プライベートEKS環境で実現する開発基盤

2025年3月18日(火)
木村 慎治
CloudNative Days Winter 2024において、シンプレクスの西山健太郎氏による、多くのエンジニアを支えるGitOps運用ノウハウを解説したセッションを紹介する。

シンプレクス株式会社の西山健太郎氏がCloudNative Days Winter 2024のセッションで発表した「Engineer Enabling! Engineer Enabling! 2000名超のエンジニアを支えるGitOps運用ノウハウを大公開」では、2000名を超えるエンジニアを支えるGitOps運用ノウハウが公開された。GitHub Actionsのセルフホステッドランナーを完全プライベートなAmazon EKS環境上で実現することで、大規模な開発体制において開発生産性と運用・セキュリティの両立を可能にしている。

2000名超のエンジニアを支える開発基盤の全貌

シンプレクス株式会社は、金融業界を中心にシステム開発・運用を行う企業だ。コンサルティングからシステムの開発・運用・保守までを一貫して提供し、近年は官公庁や製造業など非金融領域にも事業を拡大している。デジタルトランスフォーメーションの推進を掲げ、革新的な技術と高度な運用ノウハウを活用し、エンタープライズ向けのシステム基盤を支えている。

同社では2000名を超えるエンジニアが開発に従事しており、CI/CD環境の整備と運用は重要な課題となっている。とくにGitHub Enterpriseを中心にしたCI/CDの共通基盤の構築に注力しており、開発プロジェクトごとに独自のCI/CD環境を構築するのではなく、全社的に統一された開発基盤を提供することで、運用負荷の軽減とセキュリティ強化を両立している。

こうした環境を支えるために、GitHub Actionsのセルフホステッドランナーが導入された。GitHub社が提供するアクションランナーを自社のインフラ内で運用することで、クラウド上の共有ランナーに依存することなく、自社のセキュリティポリシーやインフラ構成に最適化できる点が特徴である。同社は、このセルフホステッドランナーを完全プライベートなAmazon EKS環境上に構築し、開発の生産性向上とセキュリティ確保の両立を実現した。

システムの全体概要

システムの全体概要

具体的にはVPC内に閉じたEKSクラスターを利用し、インターネットを直接介さずにCI/CDパイプラインを実行できる環境を整備している。この構成により開発者はGitHubの操作だけでセキュアなビルド環境を利用できるようになり、インフラやセキュリティ設定に煩わされることなく、開発業務に集中できる。西山氏は「セルフホステッドランナーは、自社のインフラの中に構築することで、自分たちのセキュリティポリシーの配下でセキュアな環境を利用できるといったメリットがあります」と述べ、同社の取り組みの意義を強調している。

ネットワークを完全隔離し、安全な開発を実現

シンプレクスでは、セキュリティを最優先に考えた開発環境を構築するため、完全プライベートなAmazon EKS環境を採用している。この環境は、社内ネットワークとAWSリソースを閉じた形で接続し、外部インターネットを介さずに安全な開発を行うための重要な基盤である。

この環境の中核をなすのが、プロキシとSSLインスペクションを組み合わせた通信管理である。すべてのインターネット通信はプロキシを経由することで一元管理され、外部との直接的な接続を排除することで不正アクセスのリスクを最小限に抑えている。またSSLインスペクションによって通信内容を精査し、安全性を確保しながらセキュリティポリシーを徹底している。これにより開発者はネットワークの制約を意識することなく、CI/CD環境を利用できる。

さらにAWSのVPCとDirect Connectを活用し、社内ネットワークとAWSリソース間の安全な通信を実現している。VPCにはインターネットゲートウェイを持たせず、すべての通信をDirect Connect経由で社内ネットワークへと引き込むことで、AWS上のリソースと社内のシステムをシームレスに統合しながらも、外部からの攻撃を完全に遮断する設計となっている。このアーキテクチャにより、開発者はセキュアな環境の中でGitHub Actionsのセルフホステッドランナーを活用し、業務を遂行することが可能となる。

完全プライベートなセキュリティ環境

完全プライベートなセキュリティ環境

「このような完全プライベートなセキュリティ環境を整えることで、社内外からのセキュリティリスクを最小限に抑えつつ、開発者が安心して作業に集中できる環境を提供できます」と西山氏は語る。またこの環境は利便性の面でも優れており、開発者はGitHubを操作するだけでセキュアなビルド環境を即座に利用できるため、セキュリティ設定の負担が軽減されている。

GitOpsと自動化で運用の安定性と効率を向上

シンプレクスではGitOpsを活用した運用効率化を推進し、ランナーデプロイメントとクラスター管理の最適化を実現している。とくにArgoCDを用いたランナー管理と、Blue/Greenデプロイメントによる安全なクラスターアップグレードが、継続的な運用の安定性を支えている。

運用者目線での効率化

運用者目線での効率化

GitOpsを導入したことで、ランナーのデプロイメントはすべてGitリポジトリを基盤として管理されるようになった。具体的には、ランナーの設定や更新はGitの操作のみで完結し、ArgoCDがリポジトリの変更を自動的に検知し、EKS環境との同期を行う。この仕組みにより運用者は手動のデプロイ作業を削減でき、常にインフラの状態をGitリポジトリと一致させることが可能となる。

「Gitにプルリクエストを投げてレビューすれば、そのままランナーが更新されます。設定ミスを減らせるだけでなく、履歴がすべて残るので、問題が起きたときの原因特定が格段に速くなりました」と西山氏はそのメリットを強調する。

またBlue/Greenデプロイメントを活用することで、クラスターのアップグレードに伴うリスクを最小限に抑えている。この手法では、新旧のクラスターを並行して稼働させ、新しいクラスターの安定性を確認した後に切り替える仕組みを採用している。これによりダウンタイムを発生させることなく、安全にクラスターを更新できる。

「EKSのアップグレードにはリスクがつきものですが、Blue/Greenデプロイメントなら新クラスターに問題があっても、すぐに旧クラスターに戻せます。実際にアップグレードを試した際に問題が発生してもすぐに切り戻せたので、運用の安定性が大きく向上しました」と西山氏は語る。

アップグレード作業を平日の日中に実施できるようになったのも大きな変化だ。これまでは夜間や週末のメンテナンス時間に行うのが常だったが、「今はスムーズに切り替えができるため、運用負荷が軽減されています」と西山氏は効率化の成果を強調した。

開発者の負担を減らし、快適なCI/CD環境を構築

シンプレクスでは、開発者が快適にCI/CD環境を利用できることを最優先とし、システム設計のあらゆる部分でユーザー体験を重視した改善を行っている。セッションでは、CIの高速化を実現するためのスペックチューニングと、開発者の負担を軽減するカスタムアクションの活用について詳細に解説された。

「CI/CD環境は整えれば終わりではありません。開発者がストレスなく使える環境にしてこそ、初めて意味を持ちます」と西山氏は強調する。

CIの実行速度を向上させるため、ランナーのスペックを最適化し、安定したビルド環境を提供している。CPUやメモリのリクエストとリミットを適切に設定することで、特定のジョブがリソースを独占することなく、スムーズなCI/CDパイプラインを実現した。また社内VPC内に独自のキャッシュリポジトリを構築し、依存ライブラリやビルド成果物の再利用を効率化することで、ビルド時間の短縮とネットワーク負荷の軽減を両立させている。「CI/CDの時間が短縮されるだけでなく、ネットワークの負荷も抑えられるので、運用側としても大きなメリットがあります」と西山氏は語る。

さらに開発者の認知負荷を軽減するため、GitHub Actionsのカスタムアクションを活用し、プロキシ設定やキャッシュ利用の自動化を行っている。これにより、開発者が環境設定に手間取ることなく、スムーズにCI/CDパイプラインを実行できる仕組みが整備されている。「環境設定でつまずくと、開発者は肝心の開発作業に集中できません。だからこそワークフローを簡単に利用できる仕組みが必要でした」と西山氏は語る。この取り組みにより、新規プロジェクトのセットアップが迅速化され、開発者は本来の業務に集中できる環境が実現された。

ユーザー体験を重視した設計

ユーザー体験を重視した設計

「ユーザーが快適に利用できる環境を維持し、さらなる改善を続けることが重要です」と西山氏は述べ、シンプレクスが今後もUX向上を軸にシステムの改善を進めていく方針を示した。

自律的な開発環境の実現と今後の取り組み

シンプレクスは今後、開発者の自律性を高め、CI/CD環境を主体的に活用できる仕組みの整備を進める。その一環として、カスタムアクションの作成・共有を開発者自身が行えるようにし、チーム間の知識共有を促進するという。

「すべてのカスタムアクションを運用側が管理するのではなく、利用者自身が作り、共有できる環境を整えます。そのほうが自律的な開発が可能になります」と西山氏は語る。またランナーのメトリクス分析を強化し、ボトルネックの特定やリソースの最適化を進める。「安全で効率的な運用基盤が整えば、イノベーションに注力する時間を確保できます」と西山氏は強調する。

今後もユーザー体験を重視した設計を続け、開発者が余計な作業に時間を取られず、スムーズに業務を進められる環境を提供する。「基盤を作って終わりではなく、より開発者が開発に注力できる施策を打ち続けることが重要です」と述べ、西山氏はセッション締めくくった。

IT系出版社にて雑誌、Webメディアの編集職を経て、2011年からフリーランス。IT系の雑誌やWebメディア、ベンダーのWebサイトなどで事例紹介・製品サービス紹介記事などの執筆、編集、企画を中心に活動。ITソリューション、データセンター、ネットワーク関連を中心に多くのITベンダー、ユーザー企業を取材、執筆を行っている。

連載バックナンバー

システム開発イベント
第10回

【CNDW2024】GitOpsと完全プライベートEKS環境で実現する開発基盤

2025/3/18
CloudNative Days Winter 2024において、シンプレクスの西山健太郎氏による、多くのエンジニアを支えるGitOps運用ノウハウを解説したセッションを紹介する。
クラウドイベント
第9回

【CNDW2024】東京ガスの内製開発チームが挑むKubernetesの未来

2025/3/10
東京ガスの内製開発チームによるマイクロサービス化の歩みを解説したセッションを紹介する。
開発ツールイベント
第8回

【CNDW2024】静的解析ツールを活用した快適なCIプロセスの実現 ─ 課題解消から効率化まで

2025/3/6
CloudNative Days Winter 2024にて、静的解析ツールを効率的かつ快適に活用するための実践的なノウハウを提供するセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています