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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

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

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

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

(オプション) Chef Automate サーバールート CA の URL を指定します。

サーバーがカスタムドメインと証明書を使用している場合は、ユーザーデータスクリプトの ROOT_CA_URL 変数を編集して、サーバーのルート CA 証明書 (PEM 形式) を取得するために使用できるパブリック URL にする必要があります。次の AWS CLI コマンドは、ルート CA を Amazon S3 バケットにアップロードし、1 時間使用できる署名付き URL を生成します。

  1. ルート CA 証明書 (PEM 形式) を S3 にアップロードします。

    aws s3 cp ROOT_CA_PEM_FILE_PATH s3://bucket_name/
  2. ルート CA をダウンロードするために 1 時間 (この例では 3600 秒) 使用できる署名付き URL を生成します。

    aws s3 presign s3://bucket_name/ROOT_CA_PEM_FILE_NAME --expires-in 3600
  3. 署名付き URL の値を使用してユーザーデータスクリプトの ROOT_CA_URL 変数を編集します。

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

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

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

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

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

  1. 次の knife bootstrap コマンドを実行します。このコマンドは、Chef サーバーで管理されるノードに EC2 インスタンスをブートストラップします。「Policyfile.rb を使用してリモートソースからクックブックを取得する」でインストールした nginx クックブックからレシピを実行するように、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[nginx]"
  2. 新しいノードが追加されていることを確認します。次のコマンド ( INSTANCE_NAME を、追加したインスタンスの名前に置き換えます。

    knife client show INSTANCE_NAME knife node show INSTANCE_NAME

詳細

にアクセスしてください。Chef チュートリアルサイトを参照して、AWS OpsWorks for Chef Automate サーバーと Chef Automate プレミアム機能の使用方法の詳細をご覧ください