(小ネタ)AWS Elastic Beanstalkは裏でAWS CloudFormationが動いていた!

AWS Elastic Beanstalkを初めて触って、裏でCloudFormationが動いていることを知ったのでご紹介します。
2022.09.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!AWS事業本部のおつまみです。

皆さん、インフラ構成を自動で構築してくれるイケメンなサービス「AWS Elastic Beanstalk」触ったことありますか?恥ずかしながら、私は今日初対面でした。(照)

「AWS Elastic Beanstalk」の裏で「AWS CloudFormation」がせっせと動いていたのを初めて知ったので、ご紹介します。

AWS Elastic Beanstalkとは

AWS公式サイトでは、下記の通り紹介されています。

AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。

お客様はコードをアップロードするだけで、Elastic Beanstalk が、キャパシティのプロビジョニング、ロードバランシング、Auto Scaling からアプリケーションのヘルスモニタリングまで、デプロイを自動的に処理します。同時に、お客様のアプリケーションが稼動している AWS リソースの完全な制御を維持でき、いつでも基盤となるリソースにアクセスすることができます。

つまり、アプリケーションのコードさえ用意すればいい感じにAWS環境を作ってやるぞっていうイケメンなサービスです。

サービスの詳細については、こちらのブログがとてもわかりやすいです。

AWS Elastic Beanstalkを動かしてみた

早速、AWSマネジメントコンソールから動かしてみました! 「Create Application」を押下します。

次の画面でウェブアプリケーションの作成を行います。 デプロイメント方式やAutoScaling設定等より詳細な設定を行いたい場合は、画面下部の「より多くのアプリケーションの設定」で設定を行いますが、今回は本画面の以下の3つの項目だけ設定をしました。

  • アプリケーション名
  • プラットフォーム
  • アプリケーションコード

設定後、「アプリケーションの作成」を押下します。

作成中の画面になり、AWSリソースが作成されていく様子がわかります。

3分後ぐらいにこのような画面が出力され、実際にAWS環境が作成されたことがわかりました。

一方、裏でAWS CloudFormationも動いていた

3分間暇だったので、何となく他のサービスのコンソール画面をぽちぽちしていました。
すると、同じタイミングでAWS CloudFormationがAWSリソースを作成していました!

ちなみにCloudFormationのスタック名はawseb-e-から始まる名前になっており、スタック名だけではどのAWS Elastic Beanstalk環境か判断できないようです。 説明に環境名と環境IDが記載されていました。

ここでAWS環境作成完了後のAWS CloudFormationのコンソール画面を見てみましょう。
AWS Elastic Beanstalkで構築されたことがわかるようにデフォルトで以下のタグ付けがされているようでした。

キー
Name 環境の名前
elasticbeanstalk:environment-name 環境の名前
elasticbeanstalk:environment-id 環境ID

「イベント」では、AWSリソースが作成されている様子が確認できました。

「リソース」では、作成されたAWSリソースが確認できました。
物理IDからいくつかのAWSリソースのコンソール画面に飛べそうだったので、この画面からどのAWSリソースがAWS Elastic Beanstalkで作成されたか確認できますね。

「パラメータ」では、AWS Elastic Beanstalk環境が独自に使用するパラメータが設定されていました。ただし、パラメータ値はわからないようにマスクされていました。

おまけ

作成されたAWSリソースがAWS Elastic Beanstalkで作成されたものかどうかわかるのか、タグを確認してみました。

  • EC2

  • ELB

タグの数は異なりますが、AWS Elastic Beanstalkで作成されたリソースかそうでないか確認する時はタグで判別できそうですね。

最後に

イケメンなAWSサービスAWS Elastic Beanstalkの裏側ではAWS CloudFormationが動いていることを初めて知りました。 縁の下の力持ち的な存在でAWS CloudFormationがより好きになりました。(照)

最後までお読みいただきありがとうございました!
以上、おつまみ(@AWS11077)でした!