AWS OpsWorks
ユーザーガイド (API バージョン 2013-02-18)

Chef サーバーで管理するノードを追加する

chef-client エージェントは、サーバーに関連付けられている物理コンピューターまたは仮想コンピューター (ノードと呼ばれる) 上で Chef レシピを実行します。オンプレミスのコンピューターまたはインスタンスを Chef サーバーに接続して管理できます (サポートされているオペレーティングシステムがそのノードで実行されている場合)。Chef サーバーにノードを登録すると、そのノードに chef-client エージェントソフトウェアがインストールされます。

AWS OpsWorks for Chef Automate サーバーに関連付けられたノードでサポートされる chef-client の最小バージョンは 12.16.42 です。chef-client 13.6.4 の実行をお勧めします。

このウォークスルーでは、Chef サーバーが管理できるように、EC2 インスタンスを追加またはブートストラップする knife コマンド実行する方法を示します。ノードと Chef サーバーとの自動関連付けを実行するスクリプトを使用してノードを自動的に追加する方法の詳細については、「AWS OpsWorks for Chef Automate でのノードの自動的な追加」を参照してください。

サポートされるオペレーティングシステム

ノードでサポートされているオペレーティングシステムの最新の一覧については、Chef のウェブサイトを参照してください。

knife を使用してノードを追加する

knife-ec2 プラグインは Chef DK に含まれています。knife-ec2 に慣れている場合は、knife bootstrap ではなくそれを使用して、新しい EC2 インスタンスをプロビジョニングおよびブートストラップできます。慣れていない場合は、新しい EC2 インスタンスを起動した後に、このセクションの手順に従います。

管理するノードを追加するには

  1. 次の knife bootstrap コマンドを実行します。このコマンドは、Chef サーバーで管理されるノードに EC2 インスタンスをブートストラップします。Berkshelf を使用してリモートソースからクックブックを取得する にインストールした apache2 クックブックからレシピを実行するように、Chef サーバーに指示していることに注意してください。knife bootstrap コマンドを使用したノードの追加に関する詳細については、Chef ドキュメントの「ノードのブートストラップ」を参照してください。

    このステップの knife コマンドでノードのオペレーティングシステムに対して有効なユーザー名を次の表に示します。rootec2-user のどちらでも動作しない場合は、AMI プロバイダーに確認してください。Linux ベースのインスタンスへの接続の詳細については、AWS ドキュメントの「SSH を使用した Linux インスタンスへの接続」を参照してください。

    ノードのオペレーティングシステムで有効なユーザー名の値

    オペレーティングシステム 有効なユーザー名
    Amazon Linux ec2-user
    Red Hat Enterprise Linux 5 root または ec2-user
    Ubuntu ubuntu
    Fedora fedora または ec2-user
    SUSE Linux root または ec2-user
    knife bootstrap INSTANCE_IP_ADDRESS -N INSTANCE_NAME -x USER_NAME --sudo --run-list "recipe[apache2]"
  2. 次のコマンド (INSTANCE_NAME は追加したインスタンスの名前に置き換えます) を実行して、新しいノードが追加されていることを確認します。

    knife client show INSTANCE_NAME knife node show INSTANCE_NAME

詳細

AWS OpsWorks for Chef Automate サーバーおよび Chef Automate のプレミアム機能の使用の詳細については、「Learn Chef tutorials」サイトを参照してください。