2022/09/21

AWS OpsWorks for Chef Automateとは?特徴や開始方法をご紹介

 
  

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エンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】