概要最終更新日: 2020年11月9日
R8 | R9

全体図

ビルドした Wagby アプリケーション (wagbyapp) を含めた Docker コンテナを用意し、Fargate で運用します。

図1 全体図

利用する AWS の説明は次の通りです。

サービス名説明
CloudFormation セキュリティ、DNS、ロードバランサといった基本構成に「名前」を付与し、これらのサービスの組み合わせをテンプレートとして管理できるようにする。ジャスミンソフトから数パターンの雛形を提供する。このテンプレートをカスタマイズして、独自のリソース構成とすることができる。
Route 53 DNS。インターネットに公開する Wagby アプリケーションのホスト名を管理する。サーバ証明書の管理も行える。(AWS Certificate Manager)
VPC ユーザ専用のプライベートなネットワーク環境を用意する。「サブネット」「ルーティング」「セキュリティグループ」「ネットワークアクセスコントロール」を設定する。Wagbyアプリケーションと、AWSサービスとのネットワーク接続はVPCを経由する。なおオートスケールやマイクロサービスもVPCの管理下で制御される。
ELB Application Load Balancer (ALB) を兼ね備える。アプリケーション層レベルでの負荷分散を実現する。
S3 CloudFormationを含む、各種設定ファイルを保存する。また運用時のEFSフォルダのバックアップ先としても用いる。
ECS Dockerコンテナの管理ツール。コンテナオーケストレーションやクラスタ管理を行う。
Fargate Dockerコンテナを運用する基盤。EC2と異なり、Dockerコンテナを単位とした課金体系となっている。EC2インスタンスタイプの選択や、各サーバへのパッチ適用といった管理作業が不要になる。Wagbyでビルドしたアプリケーション (Tomcatベースのwagbyapp) は最終的に Docker イメージ化された上で、Fargate で起動される。
データベース フルマネージドなリレーショナルデータベース。本ガイドでは Aurora (MySQL 5.7) としている。
EFS 共有ファイルシステム。Dockerコンテナは停止時にローカルファイルも消失する。このため、保持しておきたいファイルをEFSで管理する。対象は upload_dir フォルダ、export フォルダ、idxdirフォルダ(全文検索インデックス)。
ElastiCache AWSが提供するRedisサービス。マルチセッション(1つのブラウザで複数のタブを開き、それぞれで操作する)、オートスケール、マイクロサービスを使う場合に必要となる。ログオンユーザのセッション情報 (HttpSessionオブジェクト)を保持する。
MQ AWSが提供するActive MQサービス。非同期メッセージングサービスを利用する場合に必要。Wagbyが提供する非同期CSV/Excelダウンロード、非同期アップロード更新、非同期帳票出力などがある。オートスケール、マイクロサービス利用時にも必要となる。
CloudWatch Logs ログファイル (system.log) を一元管理する。複数のコンテナで出力されるアプリケーションのログをAWS管理者が一か所で監視できる。
Code Pipeline Code Commit,Code Build,Code Deploy を含む。
CloudWatch Events Code Pipeline でパイプラインの状態の変更を検出し、ドメイン管理者へ通知する。

デプロイ

WagbyDesignerが提供する「ドメインアプリケーションの転送処理」の実体はCode Pipelineとなっています。

図2 デプロイ
  • (ドメイン管理者が行う)転送処理により、ビルドされたドメインアプリケーションが CodeCommit へ保存されます。これをトリガーにして CodeBuild と CodeDeploy が行われます。これらを連携させる仕組みを Code Pipeline と呼びます。
  • デプロイは Docker を使います。本ガイド中の「コンテナ」とは Docker コンテナを指します。
  • ビルドしたドメインアプリケーションはコンテナ単位でデプロイします。デプロイ先は ECS です。
  • ドメインアプリケーションの入れ替えはコンテナを順次、更新する Rolling Update 方式です。
  • CloudWatch Events という仕組みを使って、デプロイの状況を適時、メールで送信します。

ベース構成

CloudFormationを使って用意したベース構成を図3に示します。このテンプレートをダウンロードして、カスタマイズすることができます。

図3 ベース構成

事前に決めること

次ページより具体的な操作手順を説明します。その前に、次の点を決めておきます。

決めること説明
ドメイン名用意するアプリケーションを動作させるドメイン名。新規で用意してもよいし、すでにお持ちのドメインでもよい。wagby.com
サブドメイン名上記ドメイン名をベースとしつつ、Wagbyアプリケーションを動作させる専用の名前として用意する。wmsa
URL各アプリケーションに割り当てるホスト名を含めたURL。AWSのカスタムドメイン名となる。通常は "アプリ名.サブドメイン名.ドメイン名" となる。これを DNS に登録する。(手順は後述)app1.wmsa.wagby.com
app2.wmsa.wagby.com
開発者メールアドレスCloudWatch Events がビルド処理(デプロイ)の進捗を送る先のメールアドレス。開発者が受け取る(省略)
S3バケット名CloudFormation の設定ファイルを格納する S3 のバケット名。本ガイドで提供する各種設定の格納先となる。wagby-cf-pipeline-wmsa

ワンポイント

次ページより説明する内容では、上で決めた(御社向けの設定値に読み替えた)値を用いてください。

その他の準備

次のサービスを利用できるよう、事前に準備しておいてください。

Docker Hub
https://hub.docker.com/で運営されているサービス。Dockerコンテナイメージを取得する元となっている。

サポートについて

本ガイドについてのお問い合わせは Premium Support にて承ります。詳細は Wagby 販売パートナーへご相談ください。