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

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

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

重要

この AWS OpsWorks for Puppet Enterprise サービスは 2024 年 3 月 31 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

ノードを追加する推奨方法は、 API AWS OpsWorks associateNode()を使用することです。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、ノードは証明書署名リクエスト (CSRsを for Puppet Enterprise サーバーに送信 OpsWorks します。Puppet コンソールで CSR を表示することができます。ノードの CSR の詳細については、Puppet Enterprise ドキュメントの「Managing certificate signing requests」を参照してください。 OpsWorks for Puppet Enterprise associateNode() API コールを実行すると、ノード CSRsが処理され、ノードがサーバーに関連付けられます。以下は、 でこの API コールを使用して 1 つのノード AWS CLI を関連付ける方法の例です。ノードが送信する 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 マスターに登録できます。このトピックで説明したように、 をインストールすると、CSR が OpsWorks for Puppet Enterprise マスターpuppet-agentに送信されます。承認された 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 を開始します。

詳細情報

Puppet Enterprise サーバーと Puppet Enterprise コンソール機能での の使用の詳細については、「Puppet の学習」チュートリアルサイトを参照してください。 OpsWorks