Elastic Beanstalkって?
AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。
というのは漠然とわかっていたのですが、触ったことがなかったので、とりあえずElastic Beanstalk x Spring bootで何かやってみたかったから、ちょっと触ってみた程度です。
例によってEverything(It's you)です。get叩いて1フレーズ返すだけですが・・
Spring bootのサンプル
アプリケーション作成
環境作成
- ウェブサーバー環境を選択
- アプリケーション名の入力
- プラットフォームはSpring Bootのjarを動かしたいのでJavaを選択
- ビルドしたjarを選択してアップロード
環境構築が始まります
- しばらく待つともうデプロイ完了です
早速アクセス
- URLにあるパスに、あとはSpringBootで作成したREST APIを叩くだけです。
- 無事にGETできました!
作成された環境について
EC2インスタンスやロードバランサーなど一通りの環境が構築されてました。
SpringBootアプリを除けばほんの5分くらいで実行できる状態に。
カテゴリ | オプション |
---|---|
ソフトウェア | X-Ray デーモン: 無効 ログのストリーミング: 無効 ログのローテーション: 無効 環境プロパティ: GRADLE_HOME, M2, M2_HOME |
インスタンス | IMDSv1: 無効 IOPS: コンテナのデフォルト インスタンスセキュリティグループ: awseb-e-XXXXXXXX-stack-AWSEBSecurityGroup-XXXXXXXX サイズ: コンテナのデフォルト スループット: コンテナのデフォルト ルートボリュームタイプ: コンテナのデフォルト 間隔のモニタリング: 5 分 |
容量 | AMI ID: ami-xxxxxxxxxxxxxxxx アベイラビリティーゾーン: Any インスタンスタイプ: t2.micro,t2.small スケーリングのクールダウン: 360 秒 メトリクス: NetworkOut 上限しきい値: 6000000 下限しきい値: 2000000 単位: Bytes 増分のスケールアップ: 1 増分のスケールダウン: -1 容量の再分散を有効にする: 無効 最大: 4 最小: 1 期間: 5 環境タイプ: load Balancing、Auto Scaling 統計: 平均 超過時間: 5 配置: |
ロードバランサー | プロセス: 1 リスナー: 1 ルール: 0 ログの保存: 無効 ロードバランサーの種類: application 共有: false |
ローリング更新とデプロイ | コマンドタイムアウト: 600 デプロイメントポリシー: 1 回にすべて バッチサイズ: 100% ヘルスチェックを無視: 無効 ローリング更新: 無効 正常のしきい値: Ok |
セキュリティ | EC2 キーペア: -- IAM インスタンスプロフィール: aws-elasticbeanstalk-ec2-role サービスロール: arn:aws:iam::xxxxxxxxxxxx:role/aws-elasticbeanstalk-service-role |
モニタリング | CloudWatch のカスタムメトリクス-インスタンス: CloudWatch のカスタムメトリクス-環境: HTTP 4xx を無視: 無効 システム: 拡張 ヘルスイベントログのストリーミング: 無効 |
マネージド更新 | 管理された更新: 無効 |
通知 | E メール: -- |
ネットワーク | この環境は VPC の一部ではありません。 |
データベース |
今後
とりあえず動かしてみた程度なので、もう少し深堀りしていきたい!