この記事の目次
AWS OpsWorks for Chef Automateとは
Amazon Web Services(AWS)のOpsWorks for Chef Automateは、AWS上でChef Automateを利用できるようにするサービスです。
AWSのリソースとChefのプラットフォームを統合し、その機能を取り入れることで、さまざまなタスクを自動処理できるようになります。
OpsWorksとは
AWS OpsWorksは、クラウド上のサーバー構築を自動化するサービスです。
Opsworks for Chef Automate、OpsWorks for Puppet Enterprise、OpsWorks Stacksの3種類が存在し、それぞれサポート範囲や仕組みが異なります。
Chef Automateとは
Chef Automateは、アメリカのソフトウェア会社「Chef Software」が提供する構成管理ツールです。Infra、Inspec、Habitatの3種類のエンジンをベースとし、それらを1つに統合して構築されています。
クックブックと呼ばれる専用テンプレートやコードを用いて、アプリケーションやセキュリティ、インフラストラクチャなどの設定を自動で実行できます。
AWS OpsWorks for Chef Automateの特徴
この項目では、OpsWorks for Chef Automateの特徴についてご紹介します。
Chefを通じてAWS側のリソースを自動で管理できるようにしたり、逆にAWSを通じてChefのセットアップを簡単にしたりと、相互にメリットを生み出します。
Puppet版やStacks版と比べるとツールや仕組みは異なるものの、基本的な機能は変わりません。普段何を使っているか、あるいは何を使いたいかで選択すると良いでしょう。
特徴1:EC2やオンプレミスの管理を自動化する
OpsWorks for Chef Automateは、Elastic Compute Cloud(EC2)やオンプレミスの管理を自動化します。
コードやクックブックを使って必要な設定を記述・定義することで、設定やインストール、デプロイなどを自動で行います。
クックブックは公式ページやスターターキットなどにサンプルが用意されており、これを用いることですぐに開始できます。自分で作成することも可能です。
特徴2:すべてのChefツールに対応
OpsWorks for Chef Automateは、すべてのChefツールに対応しています。
例として、ノードの状態を維持するInfra、セキュリティやコンプライアンスのルールを定義するInSpecの2種類のコンポーネントがデフォルトでインストールされています。他には、ノードやクックブックを管理するKnife、コードのテストができるTestKitchenなどにも対応します。
これらを始めとしてあらゆるツールを使用でき、オンプレミスの時と同じ形での運用が可能です。
特徴3:Chefサーバーの管理を簡易化する
OpsWorks for Chef Automateは、Chefサーバーの管理を簡易化します。
OpsWorksはマネージド型のサービスであり、インストール、運用、バックアップ、アップデートなどを自動で行います。さらに、Auto Scalingによる自動スケーリングにも対応しています。これらにより、手動での管理が不要になり、時間の短縮ができます。
また、アップデートがあった時は、インストールする前にテストを実施します。問題が発生すれば自動でロールバックを行い、バグを未然に防ぎます。
特徴4:セキュリティが豊富
OpsWorks for Chef Automateは、豊富なセキュリティ機能を持ちます。
作成したサーバーは、AWS上の仮想ネットワークであるVirtual Private Cloud(VPC)へ移行されます。VPCではプライベート環境での起動を可能とし、セキュリティやサブネットを細かく設定できます。
その他、SSHアクセスの無効化、Identity and Access Management(IAM)によるアクセス権限の設定、CloudTrailによるAPI呼び出しの記録などが行えます。これらの機能により、安全にサーバーを実行できるようにします。
AWS OpsWorks for Chef Automateの開始方法
この項目では、OpsWorks for Chef Automateの開始方法について、流れを簡単にご紹介します。
サーバーの作成→クックブックの用意→ノードの追加→サインインの4ステップを踏みます。サインインはサーバーがオンラインになった時点で可能になりますが、ここでは最後のステップとしています。
事前にIAM、VPC、HTTPS証明書を用意しておく必要があるので、確認しておきましょう。
詳細な手順については、公式ドキュメントをご覧ください。
Chefサーバーの作成
最初に、Chef Automateのサーバーを作成します。
コンソールからChef Automate版を選択し、サーバー名やリージョン、インスタンスタイプ、VPCなどを設定していきます。SSHキーやエンドポイントはデフォルトのままで構いませんが、必要であれば変更します。
すべての入力を終えて[Launch.]をクリックすると、サーバーの構築が始まります。その間に認証情報とスターターキットのダウンロードを要求されるので、それぞれダウンロードします。構築が完了してオンラインになれば、次のステップへ進みます。
なお、CloudFormationにテンプレートが用意されており、これを用いて作成することも可能です。
クックブックのアップロード
次に、クックブックをアップロードします。
クックブックを準備する手段として、自作する、公開されているサンプルを使用する、OpsWorksのスターターキットに付属しているものを使用する、の3つがあります。
上記の手段で準備したクックブックをPolicyfile.rbまたはBerkshelfで指定してインストールした後、サーバーにアップロードします。これが完了した後、ノードを追加できるようになります。
ノードの追加
次に、knifeを使ってChefを適用したいノードを追加します。
knife bootstrapコマンドを実行することで、サーバーにEC2インスタンスのノードが追加されます。
なお、chef-clientクックブックを使用することで、このプロセスを自動で行えるようになります。
ダッシュボードにサインイン
サーバーがオンラインになったら、認証情報を使ってダッシュボードにサインインします。正常にサインインできるか、ダッシュボードの表示に情報が正しく表示されているか確認しましょう。
この時、SSL証明書をインストールしていなかった場合は警告が表示されます。証明書のインストールを完了させればこの警告は表示されなくなります。
すべてのステップを完了すれば、管理が開始されます。
AWS OpsWorks for Chef Automateの料金
OpsWorks for Chef Automateの料金は、登録したノードの数とそのノードの実行時間(ノード時間)によって決定します。
1ノード時間につき、0.0155USDの料金が発生します。例えば、ノード10個を24時間実行した場合の料金は、10×24×0.0155=3.72USDとなります。
ノードが160個を超えると1ノード時間ごとの料金は0.015USD、410個を超えると0.014USDと、徐々に値下がりしていきます。
また、無料利用枠が存在し、ノード10個まで無料で接続できます。
見積もりの際は、EC2を始めとした他のAWSリソースの料金も加味しておきましょう。
出典:AWS OpsWorks for Chef Automate の料金
参照:https://aws.amazon.com/jp/opsworks/chefautomate/pricing/?nc=sn&loc=3
AWSとChefでタスクを簡易化させよう
この記事では、AWSのOpsWorks for Chef Automateについてご紹介しました。
AWSとChefの機能を組み合わせることで、セットアップや管理などのタスクの処理を簡易化できます。
AWSやChefの構築や運用を簡単にできるようにしたい方におすすめです。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年12月6日キャリア・転職システムエンジニアへのキャリアチェンジで必要な資格は?
- 2023年12月6日キャリア・転職キャリアチェンジでエージェントを活用するメリット
- 2023年12月6日キャリア・転職プログラマーへのキャリアチェンジに必要な資格は?
- 2023年12月6日キャリア・転職サーバーエンジニアへのキャリアチェンジで必要な資格は?