

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

# Puppet マスターで管理するノードを追加する
<a name="opspup-addnodes"></a>

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

**Topics**
+ [`associateNode()` API コールの実行](#w2ab1b7c21c17c15)
+ [オンプレミスでのノード追加の考慮事項](#w2ab1b7c21c17c17)
+ [詳細情報](#w2ab1b7c21c17c19)

ノードを追加する推奨方法は、 OpsWorks `associateNode()` 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 | 
| Server  | [Puppet をサポートする](https://puppet.com/docs/pe/2019.8/supported_operating_systems.html#agent-platforms)すべての Windows リリースの 64 ビットエディション | 

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

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

## `associateNode()` API コールの実行
<a name="w2ab1b7c21c17c15"></a>

`puppet-agent` をインストールしてノードを追加すると、ノードは証明書署名リクエスト (CSR) を OpsWorks for Puppet Enterprise サーバーに送信します。Puppet コンソールで CSR を表示することができます。ノードの CSR の詳細については、Puppet Enterprise ドキュメントの「[Managing certificate signing requests](https://puppet.com/docs/pe/2019.8/adding_and_removing_nodes.html#managing_CSRs)」を参照してください。OpsWorks for Puppet Enterprise `associateNode()` API コールを実行するとノードの CSR が処理され、ノードがサーバーに関連付けられます。以下は、 でこの 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 でのノードを自動的に追加します](opspup-unattend-assoc.md)」を参照してください。

## オンプレミスでのノード追加の考慮事項
<a name="w2ab1b7c21c17c17"></a>

オンプレミスのコンピューターまたは仮想マシンに `puppet-agent` をインストールした後、次の 2 つの方法のいずれかを使用してオンプレミスのノードを OpsWorks for Puppet Enterprise マスターに関連付けることができます。
+ ノードが [AWS SDK](https://aws.amazon.com/tools/)、[AWS CLI](https://aws.amazon.com/cli/)、または [AWS Tools for PowerShell](https://aws.amazon.com/powershell/) のインストールをサポートしている場合は、ノードの関連付けの推奨方法である`associateNode()` API コールの実行を使用できます。最初に OpsWorks for Puppet Enterprise マスターを作成する際にダウンロードするスターターキットに、タグを使用してロールをノードに割り当てる方法が説明されています。CSR の信頼されたファクトを指定することで、ノードを Puppet マスターに関連付ける複数のタグを同時に適用できます。たとえば、スターターキットに含まれるデモ管理リポジトリは、タグ `pp_role` を使用して Amazon EC2 インスタンスにロールを割り当てるように設定されています。タグを信頼されたファクトとして CSR に追加する方法の詳細については、Puppet プラットフォームドキュメントの「[Extension requests (permanent certificate data)](https://puppet.com/docs/puppet/5.1/ssl_attributes_extensions.html#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](https://puppet.com/docs/puppet/5.3/ssl_autosign.html)」を参照してください。

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

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

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

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

1. [**分類**] タブで [**puppet\$1enterprise::profile::master**] クラスを見つけます。

1. [**allow\$1unauthenticated\$1ca**] パラメータの値を [**true**] に設定します。

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

## 詳細情報
<a name="w2ab1b7c21c17c19"></a>

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