LoginSignup
0
1

Serverless App Engine (SAE)にデモ アプリケーションをデプロイする + α

Last updated at Posted at 2023-12-07

概要

WAR パッケージを使用して、 Serverless App Engine (SAE)で開発されたデモ Java アプリケーションをデプロイする方法の例を示します。このトピックでは、インターネット経由でアプリケーションにアクセスできるように、インターネットに接続されたサーバー ロード バランサー (SLB) インスタンスをアプリケーションにバインドする方法についても説明します。

利用可能な言語としてJava(OpenJDK、Dragonwell)、PHP、Python、C++、Go、.NET、Node.jsに対応しています。WAR、JAR、ZIPでのデプロイだけでなくKubernetesなのでイメージによるデプロイで行うものもあります。

物は試しと以下のチュートリアルを参考に行っていきます。英語版は間違っていいる箇所があるため中国語版で確認します。

前提条件

  • VPCが構成されていること(Defaultでも問題ない)
  • 初回はSAEを有効化する必要があります
  • セキュリティグループを作成します(事前に作業が必要)

作成しておきます
image.png

またhttpポートの受信トラフィックを許可する設定をします。
テストのため0.0.0.0/0を送信元に設定していますが、環境に合わせて設定します。
image.png

  • デモアプリがダウンロードします

準備

今回は事前に準備されているNamespaceを利用しています。
image.png

手順

Java アプリケーションを作成する

左のナビゲーションペインからApplicationを選択し、Create Applicationをクリックします。
image.png

Basic Infomationステップでパラメーターを設定します。

パラメーター 説明
Application Name: my-sae
VPC Custom Configuration
Namespace Defaultを選択し関連付けられたVPCを選択します
vSwitch Select VSwitchから1つ以上選択します
Security Group 事前に作成したセキュリティグループを指定します
Application Instances 2
VCPU 1Core
Memory 2GiB

パラメーターを入力します。費用も認識しておきます。一日で約3ドルかかります。
image.png
VSwitchの選択
image.png

右下のApplication Deployment Configurations をクリックします。

Deployment Configurationsでは以下の項目を入力します

パラメーター 説明
Technology Stack Programming Language Java
Application Deployment Method Deployment with WAR Packages
Application Runtime Enviroment
Java Enviroment Open JDK 8
File Upload Method Upload WAR Package
Upload WAR Package ダウンロードしたファイル、hello-sae.warをアップロードします
Version タイムスタンプをバージョンに利用します
Time Zone Settings UTF+8

image.png
image.png

他の設定はデフォルトです。
image.png

Specification Confirmationをクリックして確認します。
image.png

Confirmをクリックします。作成されるのをまちます。
image.png

Current Instancesが2/2になっていることを確認します。
image.png

途中経過も確認できます。
image.png

対象のアプリケーションを開くと詳細を確認します。
image.png

この時点では外部よりアクセスすることができません。
そこでSLBを利用してエンドポイントを構成します。

インターネット経由でアプリケーションにアクセスする

Basic InformationのApplication Access Settingsより「Public Endpoint:Add Internet-facing SLB Instance」をクリックします。
image.png

以下のようにパラメーターを設定します。

パラメーター 説明
SLB Instance Create
Network Protocol TCPを指定し、SLB Port:80 Container Port:8080

SLBも同様に課金されます。
OKをクリックして作成されるのを待ちます。
image.png

作成が完了するとIPアドレスが表示されます。
image.png

表示されているIPアドレスにアクセスすることで起動したアプリケーションを確認できます
image.png

スケーリング

オートスケーリングと手動でのスケールが用意されています。

image.png

オートスケーリングでは以下のスケーリングに対応しています。

  • スケジュール
    image.png

  • メトリック
    image.png

  • ハイブリッド
    スケジュールとメトリックの組み合わせ

手動でのスケーリング
image.png

モニタリング

モニタリングも各種メトリックが用意されています。
image.png

アプリケーションのモニタリングも可能です(設定が必要)
image.png

トラブルシューティング

デモアプリケーションのSLB設定後に接続できない場合があります。その場合には以下の2点を確認します。

  • セキュリティグループの送信トラフィックでHTTPが開いているか
  • SLNのContainer Portが8080になっているか(ドキュメントが間違っています)

主にこの2点だと思います。
それでも解決しない場合はInstance Deployment Informationからアプリケーションが動作しているか確認します。
image.png

また、ログの確認やWebshellで接続しアプリケーションが動作しているか確認できます。
image.png
image.png

まとめ

今回はSAEのデモアプリケーションをデプロイしました。非常に起動も早くコンパクトにまとまった設定で起動しやすかったです。また、トラブルシューティングのためのツールが充実しているように感じました。
基本的な機能はそろっており非常に便利なサービスだと思いました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1