当ブログの内容は筆者の経験と知識に基づいていますが、AWSのサービスおよび認定試験は定期的にアップデートされています。もし記事に誤りや古い情報がある場合、お手数ですが「コメント」や「お問い合わせ」からお知らせいただければ幸いです。読者の皆様からの貴重なフィードバックを歓迎しており、正確かつ有益な情報を提供できるよう努めてまいります。
どうぞよろしくお願いいたします。
AWS Elastic Beanstalkとは
Webアプリケーションを展開する際には、例えばWebサーバーとしてEC2インスタンス、データベースサーバーとしてRDS(Relational Database Service)を準備します。さらに負荷分散や可用性をもたせるのであれば、EC2インスタンスの前面にELB(Elastic Load Balancing)、Auto Scalingも準備する必要があります。
また、今後新しいアプリケーションを追加するたびにインフラストラクチャを拡張する必要があり、これらにかかる運用上のコストはかなりのものになります。
このような状況において、AWS Elastic Beanstalk(ビーン・ストーク、もしくはビーン・スターク)を活用することができます。
Elastic Beanstalkは、PaaS(Platform as a Service)の一種で、開発者がインフラストラクチャを意識することなく、アプリケーションを簡単にデプロイ・管理するためのプラットフォームを提供します。つまり、Elastic Beanstalkを利用することで開発者はアプリケーションコードのデプロイに専念することができます。
簡単なデプロイ
開発者はアプリケーションコードをアップロードするだけで、Elastic Beanstalkが自動的にインフラストラクチャのプロビジョニング(マルチAZ可)やロードバランシング、スケーリング、およびモニタリングを行います。
サポートされているプラットフォーム(言語)
Elastic Beanstalkは以下のプラットフォームに対応しています。
・Go
・Java
・.NET
・Node.js
・PHP
・Python
・Ruby
・シングルコンテナDocker
・マルチコンテナDocker
アプリケーションコードをデプロイすると、選択されたプラットフォームのバージョンをビルドし、1つ以上のAWSリソース(EC2インスタンスなど)をプロビジョニングしてアプリケーションを実行します。
料金
Elastic Beanstalkの利用に対する料金は発生しません。
自動的にプロビジョニングされた各リソースの利用量に対して課金されます。
AWS Elastic Beanstalkとは一言で
AWS Elastic Beanstalkとは、「AWSが提供するPaaS型のマネージドサービス」です。
ちなみにBeanstalk(豆の木)は、イングランド民話「ジャックと豆の木」に登場する”晩に豆をまくと、朝には天まで伸びた豆の木”に由来しています。アプリケーションコード(豆)をアップロードする(まく)だけで、クラウド(天)にインフラ環境を構築することができる、という意味です。
参考
・AWS公式ガイド
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/Welcome.html
【おすすめの参考書】
リンク先からご購入いただき、サイト運営をご支援いただけますと幸いです…
コメント