AWSにおけるマイクロサービスで実装したWebサービスの継続的デプロイ(概要編)

 こんにちは、大和総研CCoEの森田・光原です。
 大和総研ではクラウドを通じてお客様に価値を提供すべく、2021年度よりパブリッククラウドの推進組織(CCoE: Cloud Center of Excellence)を設置し、クラウド活用を推進しています。社内セミナーやハンズオン研修などの育成プログラム実施や全社的な資格取得推進により、技術力のレベルアップやパブリッククラウド技術者の裾野拡大を進めています。

 今回のテーマは、2022年に大和総研が担当した、保険業界のデジタル戦略をサポートするためのクラウド基盤構築案件において、検討していたテーマを少し別の視点で深掘りして紹介をしたいと思います。前述の構築案件においては、パブリッククラウドの良さを活かすため、CICDをベースとして、Blue-Greenデプロイができることは必須と考えていました。Blue-Greenデプロイを実現するためのあるべき構成について、秘訣と言うと少し大げさですが、一つのプラクティスとしてまとめていけたらと思います。全3回にわたってご紹介します。

役割が明確に定義された組織におけるクラウドサービスデリバリーの構築

 AWSなどのクラウドサービスを利用するメリットの一つとして、俊敏性向上があげられます。
 AWSが提供する開発用ツールを利用することにより、従来よりも容易かつセキュアにサービスをデプロイする機能を構成することができ、自動化された機能によってデリバリーまでのサイクルを短くすることができます。

 一方で、すでにアプリ、インフラ、運用など、役割ごとに権限が分離されていたり別組織になっている現場にとっては、はじめからクラウドネイティブなサービスデリバリーを構築して運用していくことにハードルがあると感じている方も多いのではないでしょうか。
 今の組織体制を前提としたまま、クラウド利用による恩恵を受けられる方式で、クラウドネイティブな継続的デプロイの導入を考えることも必要となります。

Blue-Greenデプロイメントとは

 Blue-Greenデプロイメントは、ルーティング制御によって段階的もしくは一括でダウンタイムなしに新アプリケーションに切り替えるデプロイ方式です。デプロイを実行する環境で動作検証のうえ、切り替えることが可能です。また、デプロイ後に問題が発生した場合もトラフィックを切り替えるなどの対応でロールバックをすることもできるため、より安全にデプロイを実施することができます。

Webサービスの構成

 今回は、マイクロサービスで実装されたWebサービスについて、Blue-Greenデプロイを実現するための構成をまとめていきます。以下の構成で実装されたサービスを題材に解説します。サービスの構成のイメージは「図1.Webサービスの構成」としています。


出所:大和総研作成

フロントエンド

 CloudFront + S3の構成としています。静的コンテンツをエッジサーバから高速に配信することができ、可用性やセキュリティの点でも優れている構成で、一般的によく採用される構成です。
 S3を使うことによりサーバレスで運用管理コストも低い構成であることも魅力的です。

バックエンド

 バックエンドは、コンテナアプリケーションとしFargateを利用する構成としています。Fargateは、サーバレスのコンテナ実行環境用のコンピューティングエンジンであり、サーバ管理などの運用管理の手間を省くことができます。
 マイクロサービスということで、コンテナ間の通信制御や監視の機能を備えたAppMeshを利用する構成としています。

おわりに

 次回以降は、バックエンドサービスとフロントエンドサービスのBlue-Greenデプロイメントの構成について掲載する予定です。(第2回記事は下記リンクです)
www.dir.co.jp

 大和総研では、金融機関や事業会社のお客様へクラウドを導入・運用してきた実績を活かし、お客様のクラウドインフラの構築・移行などをサポートします。ご要望・ご不明点などがありましたら、ITソリューションサービスサイトよりお問い合わせください。

今回利用したAWSサービス

Amazon CloudFront

 高速コンテンツ伝送ネットワーク(CDN)サービスです。CloudFrontでサービスを提供しているコンテンツをユーザがリクエストすると、リクエストはエッジロケーションにルーティングされ、これにより低遅延で配信がされます。
Amazon CloudFront(グローバルなコンテンツ配信ネットワーク)| AWS

Amazon S3

 データを格納し管理できるオブジェクトストレージサービスです。拡張性、可用性に優れており、アクセス制御やデータ暗号化により高いセキュリティ機能も有しています。
Amazon S3(拡張性と耐久性を兼ね揃えたクラウドストレージ)|AWS

AWS Fargate

 サーバレスでコンテナを実行するワークロード環境です。Fargateを利用することで、コンテナワークロードのインスタンスを管理することなくコンテナを実行することができます。
AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS

AWS App Mesh

 サービス間の通信制御と可観測性の向上を実現するサービスメッシュを提供するマネージドサービスです。App MeshはVirtual Gateway(仮想ゲートウェイ)、Virtual Service(仮想サービス)、Virtual Router(仮想ルータ)、Virtual Node(仮想ノード)のコンポーネントから構成されます。App Meshにより、コンテナ間のルーティング制御、サーキットブレーカー機能、サービス間通信の暗号化、メトリクスやロギングなどの可観測性向上の機能を利用することができます。
AWS App Mesh(マイクロサービスをモニタリングおよびコントロールする)| AWS

関連する事例

プロジェクト事例:海外拠点とのデータ連携システムをAWS サーバーレスを活用して構築

スミセイ情報システム株式会社様 | 保険業界のデジタル戦略をサポートする「DXプラットフォーム(通称:insNext)」をクラウドネイティブなアーキテクチャで構築

関連するソリューション

クラウドインフラ構築・移行 | 大和総研