「読み替え」が必要な理由

オンプレミスでシステムを構築してきたエンジニアがAWSのドキュメントを読むと、サービス名は分かっても「自分の現場で何に対応するのか」がピンとこないことが多い。

たとえば「ALBを使う」と書いてあっても、それがF5やNetScalerのどの機能と対応しているのか、Apacheのmod_rewriteはどこへ行くのか、AJP接続はどう変わるのか——こうした「対応表」が手元にないまま設計を進めると、後から「あの機能はどこで実現するんだっけ?」となる。

このシリーズは、そうした「オンプレの当たり前」をAWSで読み替えるための実践的なガイドを目指している。

設計思想の根本的な違い

オンプレ:機器を管理する
物理サーバー・ネットワーク機器を購入・設定・維持することが前提。障害は人が検知し、人が対処する。冗長化は「同じ機器を2台置く」という発想。
AWS:サービスを組み合わせる
マネージドサービスを組み合わせて機能を実現する。冗長性・スケール・障害復旧はサービスが内包している。設計は「どのサービスを選ぶか」に集中できる。
オンプレ:境界防御
DMZ・ファイアウォール・VLANで「外と内」を分けることがセキュリティの中心。内部ネットワークに入れば比較的自由に通信できる。
AWS:多層防御(ゼロトラスト志向)
IAM・Security Group・WAF・VPC Endpointを層で重ねる。「内部だから安全」という前提を置かず、すべての通信を検証する思想に基づく。

💡 ポイント

「AWSはオンプレより楽」ではなく「考える場所が変わる」というのが正確な表現。サーバーのOSやミドルウェアを管理する手間は減るが、IAMやネットワーク設計・コスト設計といった新しい領域を考える必要が生まれる。

このシリーズで扱うシステム像

このシリーズが対象とするのは、以下のような大規模Javaウェブシステムのオンプレ→AWS移行だ。

オンプレ構成
SSL / LBハードウェアLB(F5 / NetScaler)でSSL終端
WebサーバーApache httpd(mod_ssl / mod_rewrite / mod_jk)
APサーバーTomcat(WAR デプロイ・セッションレプリケーション)
帳票JasperReports / iText → NAS格納 → Apache配信
DBOracle / PostgreSQL(Primary + Standby)
バッチバッチ専用サーバー + JP1 / cron

全体アーキテクチャ対比(一枚図)

以下がオンプレとAWSの全体対応関係の概要だ。後続の記事で各レイヤーを詳しく掘り下げる。

全体アーキテクチャ対比
【オンプレ】                        【AWS】
─────────────────────────────────────────────────────

Internet                            Internet
    │                                   │
    ▼                                   ▼
ハードウェアLB                      CloudFront
(F5 / NetScaler)                    ・SSL終端①(ACM 自動更新)
・SSL終端(証明書手動更新)          ・CDN / キャッシュ
・DDoS対策(別途機器)              ・WAF 統合
    │                                   │
    ▼                                   ▼
Apache httpd                        ALB
・mod_ssl / mod_rewrite             ・SSL終端②(再暗号化)
・静的コンテンツ配信                 ・パスベースルーティング
・IP制限 / gzip / VirtualHost        ・ヘルスチェック・自動切り離し
    │ AJP                               │ HTTP(VPC内)
    ▼                                   ▼
Tomcat(WAR)                       ECS / EKS
・セッション in-memory               ・Spring Boot(組込Tomcat)
・クラスタ・レプリケーション          ・セッション → ElastiCache Redis
    │                                   │
    ├── NAS(帳票 / ファイル)          ├── S3(presigned URL)
    ├── JDBC → Oracle / PostgreSQL      ├── RDS Proxy → Aurora
    │                                   ├── ElastiCache Redis
    ▼                                   ▼
バッチサーバー                      AWS Batch / Step Functions
・cron / JP1                        ・EventBridge Scheduler
・同一DBに直接JDBC接続              ・Aurora Reader分離 / Clone

シリーズ構成

各記事は「オンプレの課題 → AWS構成 → 対比表 → ハマりポイント」の型で統一している。

記事テーマキーワード
PART 01SSL / 証明書管理ACM・CloudFront・ALB 2段終端
PART 02HTTPリクエスト処理ALBルーティング・WAF・S3静的配信
PART 03JavaへのHTTP受け渡しAJP廃止・Spring Boot・ElastiCache Session
PART 04帳票処理S3 presigned URL・SQS非同期生成
PART 05JavaからのDB操作RDS Proxy・Aurora Reader Endpoint
PART 06外部バッチからのDB処理Step Functions・Aurora Clone・Reader分離
PART 07まとめ設計思想の対比・移行の注意点

次の記事では…

PART 01 では SSL 証明書管理を取り上げる。年1回の証明書更新作業がどのように自動化されるか、CloudFront と ALB の2段終端の意味、セキュリティポリシーの選び方を解説する。