🌐

AWS Elastic Beanstalkを使ってざっくり環境構築

2022/05/27に公開

はじめに

AWSの学習を再度始めました。
現在は、CIFとSAAを取得しておりますが、機能などについてすっかり忘れてしまったので、復習メモ用にこちらに記載していきます。

AWS Elastic Beanstalkとは

アプリケーションコード以外の環境を、AWSが一括で構築してくれる。(ざっくり)

コードをアップロードするだけで、Elastic Beanstalk は、キャパシティープロビジョニング、負荷分散、自動スケーリングからウェブアプリケーションの状態のモニタリングまで、デプロイを自動的に処理し、パッチやセキュリティのフルマネージド型の更新を継続的に行います。

引用元:AWS公式

開発者によっては、余計なことに目を向けず、コーディングに集中できるようです。

始めかた

Elastic Beanstalkのページからcreate Application

プラットフォームの選択

アプリケーションのプラットフォームを選択する

今回はPHPをプラットフォームに作ってみる

プリセット選択

設定を色々変えることができる模様。
単一インスタンスは、現在は無料利用枠対象。

作成できたので、URLをクリックすると

このようになりました。
簡単にアプリケーションの土台が作成されました。

その他大事なこと

サービスロール

Elastic Beanstalkが作成されたAWSのリソースを管理するために、サービスロールというIAMロールが必要になる。
デフォルトでは下記管理ポリシーがアタッチされている

  • AWSElasticBeanstalkEnhancedHealth
    • インスタンスや環境の正常性確認
  • AWSElasticBeanstalkService
    • 環境を作成、更新するためのポリシー
      ※上記ロールは、ElasticBeanstalkで作成されたもの内でのものであり、他サービスとの連携にはIAMロールが必要

環境のカスタマイズ

AWS Elastic Beanstalk設定ファイルである(.ebextensions)を追加すると、環境のカスタマイズができる。例えば、EC2インスタンスにCloudWatchのカスタムメトリクスを設定するなど。

ワーカー環境

Webアプリケーションだけでなく、ワーカー環境も構築可能。
例えば、SQSに送信されたタスクメッセージを受信して、タスクを処理するなど。

EB CLIコマンドでも環境構築可能

主要コマンド

  • eb init
    • アプリケーションの作成
  • eb create
    • アプリケーションの環境構築
  • eb deploy
    • アプリケーションの更新デプロイ
      • S3にも更新時のソースコードが保存される

終わりに

やはり、実際に手を動かすことでないと、なかなか覚えることができないと実感しました。
今後もAWSの学習では、実際に手を動かしながら作成していこうと思います。

Discussion