Amazon AWSで、PDFをHTMLやSVGに変換するサンプルコード
AWS で BuildVu を実行する最も簡単な方法は、Elastic Container Service(ECS)クラスターのコンテナで Docker イメージを実行することです。
WAR ファイルをダウンロードする
始める前に、まず WAR ファイルをダウンロードする必要があります。これは、Docker イメージが機能するために必要です。
試用版の場合:
- まだお済みでない場合は、BuildVuトライアルにサインアップしてください。
- サインアップ時に受信したメールを開きます。
- Docker セクションにあるダウンロードリンクをたどってください。
製品版の場合:
- Customer download page にアクセスします。
- SVG 版か HTML 版を選択した後、「Download Latest Customer WAR」をクリックします。
- ユーザー名とパスワードを送信すると、WAR ファイルのダウンロードが開始されます。
構築手順
最初に https://console.aws.amazon.com にアクセスしてログインします。
「AWS のサービス」内の「すべてのサービス」セクションを開き、「コンピューティング」の下の EC2 をクリックします。
インスタンスに SSH で接続するために、キーペアを作成します。
「キーペア」をクリックします。
「キーペアを作成」ボタンをクリックすると次のような画面になります。
「名前」を入力し、ファイル形式は pem を選択したら、「キーペアを作成」ボタンをクリックします。
次に、「サービス」メニューを開き、「コンテナ」内の「Elastic Container Service」をクリックします。
「クラスター」ページで、「クラスターの作成」ボタンをクリックします。
これにより、sshで接続できる独自の EC2 を起動できます。
「EC2 Linux + ネットワーキング」を選択し「次のステップ」ボタンをクリックします。
「クラスター名」を入力し、コンテナインスタンスに使用する EC2 インスタンスタイプを選択します。(これは必要なリソースの量によって異なります)
「キーペア」に上記で作成したキーペアを選択し、下にスクロールして「作成」ボタンをクリックします。
作成と起動が完了したら、「クラスターの表示」ボタンをクリックします。
「ECS インスタンス」タブから EC Instance 列の当該 ID をクリックします。(表示されるまでに時間がかかる場合があります)
さらに、当該インスタンス ID をクリックします。
「セキュリティ」タブに移動し、「セキュリティグループ」の ID をクリックします。
「インバウンドルールを編集」ボタンをクリックします。
「ルールを追加」ボタンをクリックし、以下に示すように SSH の値を入力してから、「ルールを保存」ボタンをクリックします。
EC2 インスタンスに戻り、「接続」ボタンをクリックします。
「SSH クライアント」タブに移動し、パブリック DNS をコピーします。
ターミナルソフトを開き、以下のコマンドを自分の情報に書き換えた上で実行します。(AMI オーナーが変更しない限り、ここでのデフォルトのユーザー名は「ec2-user」です)
インスタンスへ WAR ファイルがアップロードされます。
scp -i [pem ファイルのパス] [WAR ファイルのパス] ec2-user@[パブリック DNS]:~
以下のコマンドでインスタンスに SSH で接続します。
ssh -i [pem ファイルのパス] ec2-user@[パブリック DNS]
接続したら、以下のコマンドで Docker イメージを実行します。
docker run -p 80:80 –mount “source=/home/ec2-user/buildvu-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind” idrsolutions/buildvu
最後に、インスタンスのパブリック IP アドレスにブラウザでアクセスし「BuildVu Microservice Example」と表示されれば起動成功です。
API を使用して PDF を変換することができます。
詳しくは Using the API をご覧ください。
HTTPS の有効化
HTTPSを有効にするには、仮想マシンの /opt/ssl にマウントされた有効な SSL 証明書とキーが必要です。
また、ファイアウォールで HTTPS ポートを開く必要があります。
EC2 インスタンスの「セキュリティ」タブに移動して、「セキュリティグループ」の ID をクリックします。
「インバウンドルールを編集」ボタンをクリックします。
「ルールを追加」ボタンをクリックし、以下に示すように HTTPS の値を入力してから、「ルールを保存」ボタンをクリックします。
次に、ターミナルソフトを使用して必要な SSL 証明書をアップロードします。
SSH でインスタンスに接続し、以下のコマンドでディレクトリ「/opt/ssl」を作成します。
mkdir /opt/ssl
次に、SSL 証明書をこのディレクトリにアップロードします。
scp -i [pem ファイルのパス] [certificate.crt ファイルのパス] ec2-user@[パブリック DNS]:/opt/ssl/certificate.crt
scp -i [pem ファイルのパス] [private.key ファイルのパス] ec2-user@[パブリック DNS]:/opt/ssl/private.key
scp -i [pem ファイルのパス] [ca_bundle.crt ファイルのパス] ec2-user@[パブリック DNS]:/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/buildvu-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind” idrsolutions/buildvu
削除方法
クラスターが不要になった場合は、EC2 インスタンスを終了した後、「クラスターの削除」ボタンを押してクラスターを削除します。