AWS OpsWorks とは
AWS 公式
AWS OpsWorks(Chef や Puppet を使って運用を自動化する)| AWS
AWS OpsWorks は、Chef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービスです。Chef や Puppet は、コードを使用してサーバーの構成を自動化できるようにするためのオートメーションプラットフォームです。OpsWorks では、Chef や Puppet を使用して、Amazon EC2 インスタンスやオンプレミスのコンピューティング環境でのサーバーの設定、デプロイ、管理を自動化できます。OpsWorks には、AWS Opsworks for Chef Automate、AWS OpsWorks for Puppet Enterprise、AWS OpsWorks Stacks の 3 つのバージョンがあります。
サーバーの構成を自動化できるというところがポイントのようです。
Chef
Chefとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
サーバの構成管理ツールのひとつ
サーバの設定とか管理を楽にしてくれるソフトウェア(のひとつ)
Chef(シェフ)とは、構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。
「インフラをどのように構築し、維持されるべきか」という定義は、Rubyで記述され、ソースコードのように扱います。
コードによってインフラの構成管理を行えることが、Chefの大きな特徴であり利点です。
サーバーに対して同じ設定をするためにその設定をコードで記述するようです。
コードで記述という点は CloudFormation と同じですが Chef は Ruby で記述する点が異なります。
Puppet
Puppetとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
サーバの構成管理ツールのひとつ
サーバの設定とか管理を楽にしてくれるソフトウェア(のひとつ)
Puppet とは?動作確認や機能、特徴などを解説| OSSサポートのOpenStandia™【NRI】
Puppet(パペット)は、OS設定やアプリケーションの構築を自動化するオープンソース・ソフトウェアです。物理、仮想、クラウドといったさまざまなインフラに対して、あるべき構成(OS/ミドルウエア/アプリケーションなど)をマニフェスト(manifest)に記述しておくと、サーバの台数によらずその構成どおりにインフラを自動的にセットアップする構成管理ソフトウェアです。
スタンドアロン型のPuppet は Ruby により記述されたアプリケーションですが、agent-server型は、Puppet ServerがClojureとJRuby、Puppet AgentがRubyで書かれています。Puppet Agentをインストールすると、スタンドアロン型のPuppetが同時にインストールされるようになっています。
Chef も Puppet もサーバーの構築を自動化するソフトウェアであることが分かりました。
Chef と Puppet の具体的な違いは以下の記事が分かりやすかったです。
AnsibleとChefとPuppetの比較 | MacRuby
OpsWorks と CloudFormation の違い
よくある質問 - AWS OpsWorks Stacks | AWS
Q: AWS OpsWorks スタックと AWS CloudFormation では、どのような点が異なりますか?
AWS CloudFormation は土台を作るサービスで、ほぼあらゆる AWS リソースのプロビジョニングと管理を、JSON ベースのドメイン固有言語で行うことができます。
AWS OpsWorks スタックのサポート範囲は、Amazon EC2 インスタンス、Amazon EBS ボリューム、Elastic IP、Amazon CloudWatch メトリクスなど、アプリケーション志向の AWS リソースに限られています。
- 対象範囲が異なる
- CloudFormation はほぼすべてのリソースを作成可能
- OpsWorks はアプリケーション周りのリソース作成に限られる
使い分け
CloudFormation がほぼすべてのリソース、OpsWorks がサーバー周りということで、ネットワーク周りを CloudFormation、サーバー周りを OpsWorks という使い方などがあるようです。
CloudFormationとOpsWorksでインフラを育てる - ZOZO TECH BLOG
まとめ
今回は AWS OpsWorks について調べてみました。
以下がポイントでした。
- サーバーの構成を自動化できる
- Chef や Puppet を使用できる
- CloudFormation との違いは対応リソースの範囲
- CloudFormation はほぼすべてのリソースに対応
- OpsWorks はアプリケーション周りに対応
ざっくりした内容でしたが、どなたかの参考になれば幸いです。
参考資料
- AWS OpsWorks(Chef や Puppet を使って運用を自動化する)| AWS
- Chefとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- 【OSS情報アーカイブ】Chef | マジセミ
- Puppetとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- Puppet とは?動作確認や機能、特徴などを解説| OSSサポートのOpenStandia™【NRI】
- AnsibleとChefとPuppetの比較 | MacRuby
- よくある質問 - AWS OpsWorks Stacks | AWS
- CloudFormationとOpsWorksでインフラを育てる - ZOZO TECH BLOG
- AWS OpsWorks Stacks End of Life FAQs - AWS OpsWorks
Discussion