AWS機能を網羅してみよう2.5 EC2編 〜効率的な管理

前回までに、EC2インスタンスをパワーアップさせることに成功しました。
過去の投稿は、以下から確認できます。
AWS機能を網羅してみよう2.1 EC2編 〜EC2起動
AWS機能を網羅してみよう2.2 EC2編 〜EC2接続&アプリ構築
AWS機能を網羅してみよう2.3 EC2編 〜EC2バックアップ&パワーアップ
AWS機能を網羅してみよう2.4 EC2編 〜更にパワーアップ

直近ではI/Oの性能を上げたり、セキュリティを強化したりしました。
今回は、前回までの一連のEC2インスタンスに対するカスタマイズやパワーアップなどを効率的に行い、管理する方法を紹介します。利用される頻度が高いであろうサービス、Amaon Elastic Beanstalk、OpsWorks、CloudFormationの3つについて概要を見て見たいと思います。(メニューの「コンピューティング」、「管理ツール」カテゴリ内にそれぞれあります。)

Elastic Beanstalk

一言で言えば、デプロイ管理ツールです。
Elastic Beanstalkを利用すると複数の環境で、負荷分散、監視、容量設定、ミドルウェアのインストール、アプリケーションのデプロイを自動的に実施することが可能になります。
Java、PHP、.NET、Node.js、Python、Ruby、Dockerなどのアプリケーションプラットフォームの管理を行えるようになります。
より具体的に言うと、「AWS機能を網羅してみよう2.2」で実践したように、Nginx、Ruby on RailsをインストールしたEC2に、AWSの機能であるAutoScalingやELBをかまして、セキュリティグループを設定し、Gitからアプリケーションを配備するということがごく少ない設定で構築可能になります。
例えば、専任のインフラ担当者おらず開発者が短時間でインフラを調達することが求められるようなケース下で重宝します。

OpsWorks

一言で言えば、構成管理ツールです。
OpsWorksもElastic Beanstalkと同じような機能ですが、より柔軟性があり、単純な構成も複雑な構成も様々なアーキテクチャに対応します。Elastic Beanstalkと大きく異なる点は、EC2内部のアプリケーションプラットフォームの調達をChefレシピと呼ばれるレシピを元に実行されます。ユーザー独自のChefのクックブックを使用できるため、EC2をほぼ自由に設定可能です。
平たく言えば、Elastic Beanstalkをより詳細設定までできるようなイメージです。

CloudFormation

上記のサービスは主にアプリケーションサーバ周辺を管理するイメージでした。一方で、CloudFormationはほとんどすべてのAWSのリソースの構築や設定を行えるので、最も自由度が高いサービスです。
CloudFormationでは、JSONフォーマットを使用して構成を記述します。CloudFormerを使用すると、現在の構成をJSONフォーマットに変換でき、構成のコピーや雛形の作成を簡単に行えます。

実際にElastic Beanstalkを試して見る

■Elastic Beanstalkを起動

■ウェブアプリケーションの作成
アプリ名は、”testApp”、プラットフォームは”Ruby”、サンプルアプリケーションで試してみましょう。

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

■アプリケーションのデプロイ
前の手順で作成を押しただけで、「Sample-envを作成しています」というステータスが表示され、アプリケーションが勝手に作成され、デプロイ作業が始まります。
この操作は数分かかるようですので、しばし待ちます。

■結果を確認
ヘルスのステータスがOKになっていますので、問題なくデプロイが完了したということです。
最近のイベントで直近で実行した内容も確認できます。

では、右上のURLから、実際にデプロイされたサイトを確認することができます。


アプリの作成からデプロイまで一瞬でできてしまいました!
細かなデプロイルールは、左のメニューの「設定」から可能ですので色々試してみましょう。

3サービスの比較

■難易度
Elastic Beanstalk<OpsWorks<CloudFormation
(右が難しい)
■自由度
Elastic Beanstalk<OpsWorks<CloudFormation
(右が自由)

どこまで、詳細に設定する必要があるのかを勘案して利用するサービスを選択しましょう。
また、いづれも利用料は無料です。
※各管理サービスで立ち上げたEC2インスタンスは、当然料金がかかります!

CapsuleCloudではエンジニア募集中!


CapsuleCloudお問い合わせはこちら

APN Consulting Partner
スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。