AWS OpsWorks for Chef Automate では、マネージド型の Chef Server を利用できます。これを使用すると、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスおよびオンプレミスサーバーで運用タスクを自動化できます。Chef Server では、インスタンスの設定が保存され、ソフトウェアやオペレーティングシステムの設定、パッケージのインストール、データベースのセットアップといった運用タスクがサーバー全体で調整されます。OpsWorks for Chef Automate を使うと、Chef Server のインストール、運用、およびメンテナンスは必要なくなります。また、OpsWorks for Chef Automate により、使いやすいコンソールなど、高品質な機能を備えた Chef Automate を利用できるようになります。

AWS OpsWorks for Chef Automate が一般公開されました

AWS OpsWorks for Chef Automate を無料で試す

AWS OpsWorks for Chef Automate の AWS 無料利用枠では、1 か月あたり 10 ノードが無料で接続可能になるか、7,500 ノード時間が無料になります。

AWS 無料利用枠の詳細はこちら »

Chef は、大規模な運用タスクをオートメーションするのに役立つオートメーションプラットフォームです。Chef を使用すると、Linux や Windows で実行される Amazon Elastic Compute Cloud (Amazon EC2) インスタンスとオンプレミスサーバーの両方を管理できます。

Chef では、コードテンプレートやクックブックを使用して、インスタンスやオンプレミスサーバーの必要な設定を記述できます。クックブックには、設定項目の目的の状態や、その状態を達成するために必要なステップ、サーバー設定、ファイルの配信方法についての情報などを記述するレシピが含まれます。クックブックを使用すると、ホストとアプリケーションの設定、パッケージのインストール、インスタンスの削除などの運用タスクを自動化できます。クックブックを自分で作成することもできますし、一般公開されている 3,000 件を超えるクックブックChef コミュニティから入手して使用することもできます。

Chef Server の仕組み

Chef Server は、設定データのハブとして機能し、必要な設定に関する情報をノードに配信します。Chef Server には、クックブック、ノードに適用されるポリシー、および Chef によって管理されている各登録済みノードについて記述するメタデータが保存されます。ノードは、Chef クライアントを実行しているインスタンスまたはオンプレミスサーバーです。Chef Server に登録されている各ノードでは、Chef Server に保存されているポリシーが定期的に実行され、インスタンスとサーバーは目的の状態にコンバージされます。

Chef Server では、インスタンス設定の一貫性を保持するために複雑な運用タスクが調整されます。また、同期する必要がある複数のデータベースレプリカなどの相互依存性も処理されます。また、ほとんどの設定作業はノード自体に分散され、Chef Server との接続が定期的に開始されるため、Chef Server は耐障害性に優れています。この分散アプローチにより、ノードが予期せずオフラインになった場合や再起動された場合は、オンラインに復帰した後に自動的に目的の状態に戻ることになります。

Chef の詳細については、こちらをご覧ください。

AWS OpsWorks for Chef Automate を使うと、完全な Chef Automate プラットフォームを取得できます。これには、Chef Workflow、Chef Visibility、および Chef Compliance など、Chef Server と一緒に使用できる高品質な機能が含まれています。Chef Workflow により、設定やアプリケーションコードへの変更を管理できるため、開発、テスト、およびクックブックやアプリケーションの本番環境へのデプロイ向けの継続的なデプロイワークフローを利用できます。Chef Visibility コンソールを使用すると、ノードのステータスに関する情報を使いやすいインターフェイスで確認できます。また、ノードに対するコンプライアンステストを記述および適用するための Chef Compliance モジュールをセットアップすることもできます。

Chef Automate
Chef Automate

(拡大イメージを見る)

Chef Automate
Chef Automate

(拡大イメージを見る)

AWS OpsWorks for Chef Automate を使用すると、アカウント内の Amazon EC2 インスタンスで実行されているマネージド型の Chef Server がプロビジョニングされます。その Chef Server のプロビジョニングやインストール行う必要はありません。同時に、Chef Server インスタンスを実行している基盤となるリソースへの制御を維持し、Knife を使用していつでも Chef Server イスタンスに SSH 接続できます。

複数のインターフェイスオプション
AWS マネジメントコンソール、AWS CLI、および AWS SDK を使用して、Chef Server をプロビジョニングできます。Chef Server をプロビジョニングしたら、ChefDK や Knife コマンドラインツールといった Chef のネイティブツールを使用して、Chef Server を操作できます。

メンテナンス時間
AWS OpsWorks for Chef Automate により、セキュリティ、オペレーティングシステム、および Chef のマイナーバージョンアップデートに関する処理が行われるため、Chef Server を常に最新の状態に維持できます。OpsWorks for Chef Automate が自動的にアップデートをインストールする毎週のメンテナンス時間を設定できます。また、OpsWorks for Chef Automate では、アップデート時間中の Chef Server の状態がモニタリングされ、問題が検知された場合には自動的に変更がロールバックされます。

自動バックアップ
Chef Server の自動バックアップを設定できます。AWS OpsWorks for Chef Automate では、バックアップの頻度、バックアップを実行するタイミング、および保管するバックアップ数を設定できます。その後、AWS CLI を使用して、いつでもバックアップから復元できます。OpsWorks for Chef Automate では、AWS アカウント内の安全で耐久性が高い Amazon S3 バケットに Chef Server のバックアップが保存されます。

ノードの登録
AWS OpsWorks for Chef Automate を使用すると、新しいインスタンスを Chef ノードとして簡単に登録できます。OpsWorks for Chef Automate で用意されるユーザーデータコードスニペットを Auto Scaling グループに挿入することにより、新しいノードを Chef Server に登録できます。

オンプレミスサーバーの管理
Chef エージェントをオンプレミスサーバーにインストールすることにより、Chef Server からオンプレミス環境を管理できます。

Chef では、信頼できるユーザーによるリクエストのみに Chef Server が応答するために、SSL が使用されます。Chef Server と Chef Client 間の通信には、双方向のアイデンティティ検証が使用されます。

AWS OpsWorks for Chef Automate は AWS Identity and Access Management と統合されており、Chef Server インスタンスにユーザーごとのアクセス権限を設定できます。Chef Server インスタンスは Virtual Private Cloud (VPC) で実行されるため、サブネットおよびセキュリティグループのネットワーク設定を行えます。また、Chef Server インスタンスへの SSH アクセスを無効にすることで、セキュリティをさらに向上させることもできます。OpsWorks for Chef Automate は AWS CloudTrail とも統合されており、サービスに対して行われた API コールの履歴を追跡して記録できます。