Webサービス

コンテナ基盤・CI/CDの設計と構築

AWS

非機能要件の整理から、AWS環境の構築・リリース手順の整備まで支援。開発チームと連携し、Webサービスを支えるコンテナ基盤とCI/CDを整えました。

  • AWS Fargate
  • Amazon Aurora
  • Amazon CloudFront
  • Terraform
  • CI/CD

対象: Webサービスのクラウド基盤

担当範囲: 非機能要件整理、AWS設計・構築、Terraform、CI/CD、開発チームとの接続・リリース調整

WebサービスのAWS構成図

主な構成を抜粋した概略図

開発チームと連携し、要件をインフラ設計へ

既存システムをもとにした新たなサービス基盤の整備にあたり、アプリケーションの変更点と非機能要件を確認し、AWS構成へ落とし込みました。インフラ単体の設計に加え、アプリケーションからの接続方法、設定情報の管理、デプロイ時の処理順序など、開発とインフラの境界にある事項を整理しました。

AWS基盤の構成

Webサービスをコンテナで稼働させ、フロントエンドとバックエンドを分けて管理する構成にしました。外部からのアクセスは共通の入口に集約し、バックエンドとの通信は内部で完結させています。

データベースは複数のアベイラビリティーゾーンに分散し、障害時の切り替えに備えました。ファイル保存や定期処理も含め、Webサービスの稼働に必要な基盤を整えています。

構築時に重視したこと

非機能要件を運用設計に反映

要件整理で確認した可用性や復旧、運用上の条件をもとに、冗長構成やバックアップ方針、監視・ログ収集の設計へ落とし込みました。

ビルドからデプロイまでを自動化

CodePipelineとCodeBuildを用い、ソースコードの更新を起点に、コンテナイメージのビルドからデプロイまでを自動化しました。本番環境では手動承認を挟み、承認後にデータベースのマイグレーションとアプリケーションの更新を順に実行します。サービス更新に失敗した場合の切り戻しも組み込んでいます。

コンテナアプリケーションのビルド・承認・マイグレーション・デプロイ構成図

本番アプリケーションのCI/CD構成(主な処理を抜粋)

インフラの変更をコードで管理

AWSリソースはTerraformでコード管理。構成変更をレビューし、変更内容や履歴を追跡できる形にしました。

運用を見据えたセキュリティ対策

秘密情報はSecrets Managerで管理。GuardDutyによる脅威検知、Inspectorによる脆弱性検出、CloudTrailによる操作記録を整備し、運用中のリスク把握や問題発生時の調査に備えました。

Markshipの担当範囲

  • 非機能要件の整理とAWS構成の検討・説明
  • ネットワーク、コンテナ、データベースなどの設計・構築
  • Terraformによるインフラのコード化
  • CI/CDとデプロイ手順の整備
  • 開発チームとの接続・設定・運用分担の調整

CONTACT US

クラウドやシステム開発に関するご質問、
仕事のご相談、お見積の依頼などは
お問い合わせフォームをご利用ください。