Puppet マスターで管理するノードを追加する - AWS OpsWorks

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

Puppet マスターで管理するノードを追加する

重要

AWS OpsWorks for Puppet Enterprise は新規顧客を受け付けていません。2024 年 3 月 31 日にサービスが利用できなくなるまで、既存のお客様には影響はありません。既存のお客様は、可能な限り早急に他のソリューションに移行することをお勧めします。詳細については、AWS OpsWorks for Puppet Enterprise サポート終了に関する FAQ および OpsWorks for Puppet Enterprise サーバーを Amazon Elastic Compute Cloud (Amazon EC2) に移行する方法 を参照してください。

推奨されるノードの追加方法は、AWS OpsWorksassociateNode() API を使用することです。Puppet Enterprise マスターサーバーは、管理するノードに Puppet エージェントソフトウェアをインストールするために使用するリポジトリをホストします。ノードがオンプレミスの物理コンピュータか仮想マシンかは問いません。一部のオペレーティングシステム用の Puppet エージェントソフトウェアは、OpsWorks for Puppet Enterprise サーバーに起動プロセスの一部としてインストールされます。次の表に示しているのは、OpsWorks for Puppet Enterprise サーバーの起動時に使用できるオペレーティングシステムエージェントです。

プレインストールされたオペレーティングシステムエージェント
サポートされるオペレーティングシステム バージョン
Ubuntu 16.04, 18.04, 20.04
Red Hat Enterprise Linux (RHEL) 6, 7, 8
Windows Puppet をサポートするすべての Windows リリースの 64 ビットエディション

他のオペレーティングシステムではサーバーに puppet-agent を追加できます。システムメンテナンスによって、起動後にサーバーに追加されたエージェントは削除されることに注意してください。削除されたエージェントをすでに実行している既存のアタッチ済みノードは引き続き稼働しますが、Debian オペレーティングシステムを実行するノードはレポートを停止する場合があります。OpsWorks for Puppet Enterprise サーバーにエージェントソフトウェアがプリインストールされていないオペレーティングシステムを実行するノードに、puppet-agent を手動でインストールすることをお勧めします。他のオペレーティングシステムを使用するノードで、puppet-agentをサーバーで使用できるようにする方法の詳細については、Puppet Enterprise ドキュメントの「Installing agents」を参照してください。

EC2 インスタンスユーザーデータを設定してノードを Puppet マスターに自動的に関連付ける方法の詳細については、「OpsWorks for Puppet Enterprise でのノードを自動的に追加します」を参照してください。

associateNode() API コールの実行

puppet-agent をインストールしてノードを追加すると、ノードは証明書署名リクエスト (CSR) を OpsWorks for Puppet Enterprise サーバーに送信します。Puppet コンソールで CSR を表示することができます。ノードの CSR の詳細については、Puppet Enterprise ドキュメントの「Managing certificate signing requests」を参照してください。OpsWorks for Puppet Enterprise associateNode() API コールを実行するとノードの CSR が処理され、ノードがサーバーに関連付けられます。次の例は、AWS CLI でこの API コールを使用して単一ノードに関連付ける方法です。ノードが送信する PEM 形式の CSR が必要です。これは Puppet コンソールから入手できます。

aws opsworks-cm associate-node --server-name "test-puppet-server" --node-name "node or instance ID" --engine-attributes "Name=PUPPET_NODE_CSR,Value='PEM_formatted_CSR_from_the_node'

associateNode() を使用してノードを自動的に追加する方法の詳細については、「OpsWorks for Puppet Enterprise でのノードを自動的に追加します」を参照してください。

オンプレミスでのノード追加の考慮事項

オンプレミスのコンピューターまたは仮想マシンに puppet-agent をインストールした後、次の 2 つの方法のいずれかを使用してオンプレミスのノードを OpsWorks for Puppet Enterprise マスターに関連付けることができます。

  • ノードが AWS SDKAWS CLI、または AWS Tools for PowerShell のインストールをサポートしている場合は、ノードの関連付けの推奨方法であるassociateNode() API コールの実行を使用できます。最初に OpsWorks for Puppet Enterprise マスターを作成する際にダウンロードするスターターキットに、タグを使用してロールをノードに割り当てる方法が説明されています。CSR の信頼されたファクトを指定することで、ノードを Puppet マスターに関連付ける複数のタグを同時に適用できます。たとえば、スターターキットに含まれるデモ管理リポジトリは、タグ pp_role を使用して Amazon EC2 インスタンスにロールを割り当てるように設定されています。タグを信頼されたファクトとして CSR に追加する方法の詳細については、Puppet プラットフォームドキュメントの「Extension requests (permanent certificate data)」を参照してください。

  • ノードが AWS 管理ツールまたは開発ツールを実行できない場合でも、管理対象ではない Puppet Enterprise マスターに登録する場合と同じ方法で OpsWorks for Puppet Enterprise マスターに登録できます。このトピックで説明されているように、puppet-agent をインストールすると OpsWorks for Puppet Enterprise マスター に CSR が送信されます。承認された Puppet ユーザーが手動で CSR に署名するか、Puppet マスターに保存されている autosign.conf ファイルを編集して CSR の自動署名を設定できます。自動署名の設定と autosign.conf の編集の詳細については、Puppet プラットフォームのドキュメントの「SSL configuration: autosigning certificate requests」を参照してください。

オンプレミスノードを Puppet マスターに関連付けて Puppet マスターがすべての CSR を受け入れるようにするには、Puppet Enterprise コンソールで次を実行します。この動作を制御するパラメータは puppet_enterprise::profile::master::allow_unauthenticated_ca です。

重要

自己署名の CSR を受け入れる Puppet マスターを有効にしない限り、すべてのの CSR はセキュリティ上の理由から推奨されません。デフォルトでは、認証されていない CSR を許可すると、Puppet マスターが誰からでもアクセスできることになります。証明書リクエストのアップロード設定をデフォルトで有効にすることは、Puppet マスターをサービス妨害 (DoS) 攻撃に対して脆弱にします。

  1. Puppet Enterprise コンソールへのサインイン

  2. [Configure] (設定)、[Classification] (分類)、[PE Master] (PE マスター)の順に選択して、[Configuration] (設定) タブを選択します。

  3. [分類] タブで [puppet_enterprise::profile::master] クラスを見つけます。

  4. [allow_unauthenticated_ca] パラメータの値を [true] に設定します。

  5. 変更を保存します。この変更は次の Puppet 実行時に適用されます。変更が効果を発揮するまで (そして、オンプレミスノードが追加されるまで) に 30 分待つか、あるいは PE コンソールの [Run] (実行) セクションから手動で Puppet を開始します。

詳細情報

OpsWorks for Puppet Enterprise サーバーおよび Puppet Enterprise コンソールの機能の使用の詳細については、[Learn Puppet tutorial site] (Puppet チュートリアルサイトの説明) を参照してください。