翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Oracle GlassFish から AWS Elastic Beanstalk へ移行する
作成者: Saandeep Bondugula (AWS)
概要
このパターンでは、オンプレミスの Oracle GlassFish サーバー上で実行される Java アプリケーションから、AWS クラウド上の AWS Elastic Beanstalk に移行する方法について説明します。
AWS では、Amazon Elastic Compute Cloud (Amazon EC2) のAuto Scaling グループで動作する AWS Elastic Beanstalk を搭載した Docker GlassFish サーバー上に Java アプリケーションがデプロイされます。
その他の機能
Amazon Elastic Beanstalk は、基盤となる複数のリソースのラッパーとして機能します。Amazon Route 53 からの着信トラフィックを処理する耐障害性ロードバランサーを設定し、そのトラフィックを 1 つ以上の EC2 インスタンスに分散することで、デプロイツールとしても機能します。
オンプレミスデータベースを Amazon Relational Database Service (Amazon RDS) に移行するには、データベース接続の詳細を更新します。バックエンドデータベースでは、Amazon RDS マルチ AZ 配置を設定して、データベースエンジンタイプを選択できます。
マルチ AZ 配置を導入することで高可用性を実現し、Auto Scaling グループと拡張ポリシーを使用して耐障害性を向上させることができます。
CPU 使用率などの Amazon CloudWatch メトリクスに基づき、スケーリングポリシーを設定できます。
AWS Elastic Beanstalk では、基盤となる Elastic Load Balancing の設定と Amazon EC2 Auto Scaling を設定できます。
前提条件と制限
前提条件
アクティブな AWS アカウント
GlassFish 上で動作するオンプレミスの Java アプリケーション
Java ウェブアプリケーションリソース (WAR) ファイル
製品バージョン
Oracle Glassfish 4.1.2 と 5.0
Java 7 GlassFish 4.0
Java 8 GlassFish 4.1 以降
アーキテクチャ
ソーステクノロジースタック
GlassFish で開発されたアプリケーション
ターゲットテクノロジースタック
Elastic Beanstalk
ターゲット アーキテクチャ

デプロイのワークフロー

ツール
Amazon Elastic Beanstalk
は、Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker で開発されたウェブアプリケーションとサービスを、Apache、Nginx、Passenger、IIS などの一般的なサーバーにデプロイしてスケーリングするサービスです。 Amazon CloudWatch
では、データと実用的なインサイトを利用して、アプリケーションのモニタリング、システム全体のパフォーマンスの変化に関する理解と対応、リソース使用率の最適化、および運用状態の統合的な確認を行うことができます。 Docker
— ソフトウェアを標準化されたユニットにパッケージ化して、アプリケーションを迅速に構築、テスト、およびデプロイするプラットフォーム。 Java
— 汎用プログラミング言語。Java はクラスベースのオブジェクト指向であり、実装の依存性が少なくなるように設計されています。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
必要な情報を使用して、仮想プライベートクラウド (VPC) インスタンスを作成します。 | SysAdmin | |
VPC 内に最低 2 つのサブネットを作成します。 | SysAdmin | |
要件ごとにルートテーブルを作成します。 | SysAdmin |
タスク | 説明 | 必要なスキル |
---|---|---|
Amazon Simple Storage Service (Amazon S3) バケットを作成します。 | SysAdmin | |
WAR ファイルを S3 バケットにコピーし、アプリケーションコードをアップロードします。 | SysAdmin |
タスク | 説明 | 必要なスキル |
---|---|---|
(オプション) AWS Identity and Access Management (IAM) ロールを作成します。 | デフォルトの "aws-elasticbeanstalk-ec2-role" プロファイルを使用するか、Elastic Beanstalk に自動的に作成させることができます。 | SysAdmin |
タスク | 説明 | 必要なスキル |
---|---|---|
Elastic Beanstalk ダッシュボードを開きます。 | SysAdmin | |
新しいアプリケーションを作成し、ウェブサーバー環境を選択します。 | SysAdmin | |
事前設定されたプラットフォームで、GlassFish Docker を選択します。 | SysAdmin | |
コードをアップロードする | S3 バケットファイルの URL またはローカルシステムファイルから ZIP ファイルを指定します。 | SysAdmin |
[環境タイプ] を選択します。 | [設定容量] で、単一インスタンスまたはロードバランサーを選択します。 | SysAdmin |
ロードバランサーを設定します。 | 前のステップでロードバランサーを選択した場合は、マルチ AZ 配置を設定します。 | SysAdmin |
[設定セキュリティ] で、以前に作成した IAM ロールを選択します。 | SysAdmin | |
[設定セキュリティ] で、既存のキーペアがある場合は、直接使用するか、新しい Amazon EC2 キーペアを作成します。 | SysAdmin | |
[設定モニタリング] で、Amazon CloudWatch を設定します。 | SysAdmin | |
[設定セキュリティ] で、以前に作成した VPC を選択します。 | SysAdmin | |
[環境の作成] を選択します。 | SysAdmin |
タスク | 説明 | 必要なスキル |
---|---|---|
作成された環境で提供される URL を使用して、アプリケーションをテストします。 | ||
Amazon Route 53 でドメインネームサービス (DNS) の変更を適用します。 |