JPedalをAmazon Web Services (AWS)にデプロイする
AWSでJPedalを実行する最も簡単な方法は、Elastic Container Service(ECS)クラスター上のコンテナでDockerイメージを実行することです。
始める前に、WARファイルが必要です。これはダウンロードするか、自分でビルドすることができます。
このWARファイルはJPedalサービスが動作するために必須です。
jpedal-microservice.war ファイルをダウンロードしてください。
試用版ユーザーは、試用版サインアップ 後のDockerセクションでwarダウンロードを見つけることができます。
JPedal Microservice Exampleプロジェクトのコピーをビルドしてください。
手順はGitHubページ
で確認できます。
https://console.aws.amazon.com
にアクセスしてログインします。
「All Services」セクションを開き、EC2(Elastic Compute Cloud)をクリックします。
インスタンスにSSH接続できるようにキーペアを用意する必要があります。
「key pairs」をクリックします:
「Create key pair」をクリックし、名前を付けてファイル形式としてpemを選択します:
次にサービスタブに移動し、「Containers」の下にあるElastic Container Service(ECS)をクリックします:
「Clusters」ページで「Create Cluster」をクリックします。これにより、SSH接続できる独自のEC2(Elastic Compute Cloud)をロードできます:
「EC2 Linux + Networking」を選択します:
クラスターに付けたい名前を入力し、コンテナインスタンスに使用するインスタンスタイプを選択します(これは必要なリソース量に依存します)。
先ほど作成したキーペアを選択し、下にスクロールして作成をクリックします:
ロードが完了したら、「View Cluster」をクリックして「ECS Instances」タブに移動します。
ECS Instance IDをクリックします(表示されるまで少し時間がかかる場合があります):
「Instance ID」をクリックします:
「Security」タブに移動し、「Security groups」のIDをクリックします。
「Edit inbound rules」をクリックします。
「Add rule」をクリックし、下図のように入力してから「save rules」をクリックします:
EC2インスタンスに戻り、「Connect」をクリックして「SSH client」タブに移動し、パブリックDNSをコピーします:
ターミナルを開き、このコードを貼り付けて自分の情報に置き換えます(ここでのデフォルトユーザー名は「ec2-user」ですが、AMI所有者が変更している場合は異なります):
scp -i <path/to/key.pem> path/to/war/jpedal-microservice.war ec2-user@<YourPublicDNS>:~
インスタンスにSSH接続します:
ssh -i <path/to/key.pem> ec2-user@<YourPublicDNS>
接続後、Dockerイメージを実行します:
docker run -p 80:80 --mount "source=/home/ec2-user/jpedal-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" idrsolutions/jpedal
次にECSに移動し、「ECS instances」タブをクリックして「Container Instance」のIDをクリックし、パブリックIPアドレスをコピーします。
HTTPSを有効にするには、ファイアウォールでHTTPSポートを開き、仮想マシンの/opt/sslに有効なSSL証明書とキーをマウントする必要があります。EC2インスタンスに移動し、「Security」タブに移動して「Security groups」のIDをクリックします。
このページで「Edit inbound rules」ボタンをクリックします。
次にターミナルを使用して必要なSSL証明書をアップロードします。まず(上記の手順で)インスタンスに接続する必要があります。接続したら/opt/sslディレクトリを作成します。
mkdir /opt/ssl
次にSSL証明書をこのディレクトリにアップロードします。
scp -i <path/to/key.pem> <path/to/certificate.crt> ec2-user@<YourPublicDNS>:/opt/ssl/certificate.crt
scp -i <path/to/key.pem> <path/to/private.key> ec2-user@<YourPublicDNS>:/opt/ssl/private.key
scp -i <path/to/key.pem> <path/to/ca_bundle.crt> ec2-user@<YourPublicDNS>:/opt/ssl/ca_bundle.crt
これで仮想マシンがHTTPS接続を許可するようになったので、ポートも指定してDockerを起動する必要があります。
docker run -p 80:80 -p 443:443 --mount "source=/local/path/to/ssl/directory,target=/opt/ssl,type=bind,readonly" --mount "source=/home/ec2-user/jpedal-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" idrsolutions/jpedal
認証、複数ユーザー、またはAPIを使用せずに変換されたファイルにアクセスするなどの追加機能を追加するには、Dockerイメージページ で詳細を確認できます。
クラスターが不要になった場合は、「Delete Cluster」ボタンを押して課金を停止してください:
Dockerサーバーが実行されているので、APIを使用するチュートリアルに従って変換を開始できます。
