§CloudCaptainとAWSへのデプロイ
CloudCaptainを使用すると、PlayアプリケーションをAWSにデプロイできます。これは、Immutable Infrastructure、Minimal Images、Blue/Greenデプロイの3つのコア原則に基づいています。
CloudCaptainには、Playアプリケーションのネイティブサポートが付属しており、Playのdist zipを、VirtualBoxまたはAWSのいずれかに変更せずにデプロイできる最小限のVMイメージに変換することで機能します。このイメージは数秒でオンザフライで生成され、通常のLinuxシステムよりも約100倍小さくなります。文字通り、Playアプリケーション、JRE、Linuxカーネルのみが含まれており、セキュリティ攻撃面を可能な限り最小限に抑えます。
CloudCaptainはAWSアカウントと連携し、AMI、Elastic IP、Elastic Load Balancer、セキュリティグループ、Auto-Scalingグループ、EC2インスタンスなど、アプリケーションに必要なすべてのAWSリソースを自動的にプロビジョニングします。
§前提条件
無料のCloudCaptainアカウントと無料のAWSアカウントにサインアップし、CloudCaptainコマンドラインクライアントをインストールします。
CloudCaptainはAWSアカウントと連携するため、最初に必要な権限が必要です。そのため、まだ行っていない場合は、CloudCaptainコンソールにアクセスして、今すぐAWSアカウントを接続してください。
§アプリケーションのビルド
プロジェクトディレクトリでsbt dist
コマンドを使用してアプリをパッケージ化します。
§アプリケーションのデプロイ
すべての新しいCloudCaptainアカウントには、dev
、test
、およびprod
の3つの環境が付属しています。dev
はVirtualBox環境でのローカルでの高速なラウンドトリップ用であり、test
およびprod
はAWS上にあります。
したがって、アプリケーションの新しいzipファイルをAWSのprod
環境にデプロイしましょう
myapp$ boxfuse run -env=prod
Fusing Image for myapp-1.0.zip ...
Image fused in 00:09.817s (75949 K) -> myuser/myapp:1.0
Pushing myuser/myapp:1.0 ...
Verifying myuser/myapp:1.0 ...
Waiting for AWS to create an AMI for myuser/myapp:1.0 in eu-central-1 (this may take up to 50 seconds) ...
AMI created in 00:34.152s in eu-central-1 -> ami-8b988be7
Creating security group boxsg-myuser-prod-myapp-1.0 ...
Launching t2.micro instance of myuser/myapp:1.0 (ami-8b988be7) in prod (eu-central-1) ...
Instance launched in 00:35.372s -> i-ebea4857
Waiting for AWS to boot Instance i-ebea4857 and Payload to start at http://52.29.129.239/ ...
Payload started in 00:50.316s -> http://52.29.129.239/
Remapping Elastic IP 52.28.107.167 to i-ebea4857 ...
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...
Deployment completed successfully. myuser/myapp:1.0 is up and running at http://myapp-myuser.boxfuse.io/
次のコマンドを実行して、AWSにデプロイされたアプリにアクセスできるようになります
myapp$ boxfuse open -env=prod
§その他の学習リソース
次へ: タスクのスケジュール
このドキュメントにエラーを見つけましたか?このページのソースコードはこちらにあります。ドキュメントのガイドラインをお読みになったら、プルリクエストをご自由に送信してください。質問や共有するアドバイスはありますか?コミュニティフォーラムにアクセスして、コミュニティとの会話を開始してください。