

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

# OpsWorks for Puppet Enterprise の使用を開始する
<a name="gettingstarted-opspup"></a>

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

OpsWorks for Puppet Enterprise を使用すると、 AWSで [Puppet Enterprise](https://puppet.com/products/puppet-enterprise)サーバーを実行できます。約 15 分で Puppet Enterprise マスターサーバーをプロビジョニングできます。

2021 年 5 月 3 日から、OpsWorks for Puppet Enterprise は Puppet Enterprise サーバー属性をいくつか AWS Secrets Managerに保存します。詳細については、「[との統合 AWS Secrets Manager](data-protection.md#data-protection-secrets-manager)」を参照してください。

以下のウォークスルーは、OpsWorks for Puppet Enterprise で最初の Puppet マスターを作成する際に役立ちます。

## 前提条件
<a name="gettingstarted-opspup-prereqs"></a>

開始する前に、以下の前提条件を満たしている必要があります

**Topics**
+ [Puppet 開発キットをインストールします。](#w2ab1b7c21c11b7)
+ [Puppet Enterprise クライアントツールをインストールします。](#w2ab1b7c21c11b9)
+ [Git コントロールリポジトリのセットアップ](#configure-control-repository)
+ [VPC のセットアップ](#set-up-vpc-puppet)
+ [EC2 のキーペアをセットアップする (オプション)](#set-up-kp-puppet)
+ [カスタムドメインを使用するための前提条件 (オプション)](#gettingstarted-opspup-prereq-customdomain)

### Puppet 開発キットをインストールします。
<a name="w2ab1b7c21c11b7"></a>

1. Puppet ウェブサイトから、ローカルコンピュータのオペレーティングシステムに一致する [Puppet 開発キットをダウンロード](https://puppet.com/download-puppet-development-kit)します。

1. Puppet 開発キットをインストールします。

1. Puppet 開発キットをローカルコンピュータの `PATH` 変数に追加します。
   + Linux または macOS オペレーティングシステムでは、Bash シェルで次のコマンドを実行して、Puppet 開発キットを `PATH` 変数に追加できます。

     ```
     echo 'export PATH=/opt/puppetlabs/pdk/bin/pdk:$PATH' >> ~/.bash_profile && source ~/.bash_profile
     ```
   + Windows ベースのオペレーティングシステムでは、PowerShell セッション、または [`PATH`System Properties**] からアクセスできる **環境変数** ダイアログボックスで次の .NET フレームワークコマンドを使用して、Puppet 開発者キットを ** 変数に追加できます。次のコマンドを実行するには、PowerShell セッションを管理者として実行する必要がある場合があります。

     ```
     [Environment]::SetEnvironmentVariable("Path","new path value","Machine")
     ```

### Puppet Enterprise クライアントツールをインストールします。
<a name="w2ab1b7c21c11b9"></a>

Puppet Enterprise (PE) クライアントツールは、ワークステーションから Puppet Enterprise サービスにアクセスできるようにする一連のコマンドラインツールです。ツールはさまざまなオペレーティングシステムにインストールできます。また、Puppet を使用して管理しているノードにもインストールできます。このツールをサポートするオペレーティングシステムに関する情報およびインストール方法については、Puppet Enterprise ドキュメントの「[Installing PE client tools](https://puppet.com/docs/pe/2019.8/installing_pe_client_tools.html)」を参照してください。

### Git コントロールリポジトリのセットアップ
<a name="configure-control-repository"></a>

Puppet マスターを起動する前に、Git 内に Puppet モジュールおよびクラスを保存および変更管理するコントロールリポジトリを設定する必要があります。Puppet Enterprise マスターサーバーを起動するステップでは、Git リポジトリの URL とリポジトリにアクセスするための HTTPS または SSH アカウント情報を求められます。Puppet Enterprise マスターで使用するコントロールリポジトリをセットアップする方法の詳細については、「[Setting up a control repository](https://puppet.com/docs/pe/2019.8/control_repo.html)」を参照してください。また、Puppet の [`control-repo`GitHub のサンプルリポジトリ](https://github.com/puppetlabs/control-repo)の readme にも、コントロールリポジトリのセットアップ手順が記載されています。コントロールリポジトリの構造は次のような内容です。

```
├── LICENSE
├── Puppetfile
├── README.md
├── environment.conf
├── hieradata
│   ├── common.yaml
│   └── nodes
│       └── example-node.yaml
├── manifests
│   └── site.pp
├── scripts
│   ├── code_manager_config_version.rb
│   ├── config_version.rb
│   └── config_version.sh
└── site
    ├── profile
    │   └── manifests
    │       ├── base.pp
    │       └── example.pp
    └── role
        └── manifests
            ├── database_server.pp
            ├── example.pp
            └── webserver.pp
```

#### CodeCommit を使用してリポジトリをセットアップする
<a name="w2ab1b7c21c11c11b7"></a>

CodeCommit を使用して、新しいリポジトリを作成することができます。CodeCommit を使用してコントロールリポジトリを作成する方法の詳細については、このガイドの「[オプション: Puppet r10k リモートコントロールリポジトリ AWS CodeCommit として を使用する](opspup-puppet-codecommit.md)」を参照してください。CodeCommit で Git の使用を開始する方法の詳細については、[[Getting started with AWS CodeCommit]](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started.html) (AWS CodeCommit を開始する) を参照してください。リポジトリで OpsWorks for Puppet Enterprise サーバーを許可するには、IAM インスタンスプロファイルロールに `AWSCodeCommitReadOnly` ポリシーをアタッチします。

### VPC のセットアップ
<a name="set-up-vpc-puppet"></a>

OpsWorks for Puppet Enterprise マスターは Amazon Virtual Private Cloud で動作する必要があります。既存の VPC にそのサーバーを追加するか、デフォルトの VPC を使用するか、またはそのサーバーを含めて新しい VPC を作成します。Amazon VPC の情報および新しい VPC の作成方法については、[「Amazon VPC 入門ガイド」](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/)を参照してください。

独自の VPC を作成するか、既存の VPC を使用する場合、VPC には次の設定またはプロパティが必要です。
+ VPC には少なくとも 1 つのサブネットが必要です。

  OpsWorks for Puppet Enterprise マスターがパブリックアクセス可能な場合は、サブネットを公開し、**[Auto-assign public IP]** (パブリック IPの自動割り当て) を有効にします。
+ [**DNS resolution**] は有効である必要があります。
+ サブネットで、[**Auto-assign public IP**] を有効にします。

### EC2 のキーペアをセットアップする (オプション)
<a name="set-up-kp-puppet"></a>

SSH 接続は、Puppet サーバーの一般的な管理に必要または推奨されません。 AWS マネジメントコンソール および AWS CLI コマンドを使用して、Puppet サーバーで多くの管理タスクを実行できます。

Puppet Enterprise ウェブベースコンソールのサインインパスワードがわからなくなった場合や変更する場合には、SSH を使用してサーバーに接続する際に EC2 のキーペアが必要です。その場合は、既存のキーペアを使用するか、または新しいキーペアを作成できます。新しい EC2 キーペア作成方法の詳細については、[「Amazon EC2 Key Pairs」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)(Amazon EC2 のキーペア) を参照してください。

EC2 のキーペアが必要なければ、Puppet Enterprise マスターを作成する準備ができています。

### カスタムドメインを使用するための前提条件 (オプション)
<a name="gettingstarted-opspup-prereq-customdomain"></a>

独自のドメインで Puppet Enterprise マスターをセットアップし、サーバーのエンドポイントとして使用するカスタムドメインのパブリックエンドポイントを指定できます。カスタムドメインを使用する場合は、このセクションで詳しく説明するように、次のすべてが必要です。

**Topics**
+ [カスタムドメインをセットアップする](#opspup-prereq-customdomain)
+ [証明書を取得する](#opspup-prereq-customdomain-cert)
+ [プライベートキーを取得する](#opspup-prereq-customdomain-pk)

#### カスタムドメインをセットアップする
<a name="opspup-prereq-customdomain"></a>

独自のカスタムドメインで Puppet Enterprise マスターを実行するには、`https://aws.my-company.com` などサーバーのパブリックエンドポイントが必要です。カスタムドメインを指定する場合は、前のセクションで説明したように、証明書とプライベートキーも指定する必要があります。

作成後にサーバーにアクセスするには、優先 DNS サービスに CNAME DNS レコードを追加します。このレコードは、Puppet マスターの作成プロセスで生成されるエンドポイント (サーバーの `Endpoint` 属性の値) にカスタムドメインをポイントしている必要があります。サーバーがカスタムドメインを使用している場合は、生成された `Endpoint` 値を使用してサーバーにアクセスできません。

#### 証明書を取得する
<a name="opspup-prereq-customdomain-cert"></a>

独自のカスタムドメインで Puppet マスターをセットアップするには、PEM 形式の HTTPS 証明書が必要です。これは、単一の自己署名証明書、または証明書チェーンです。[**Create Puppet Enterprise Master (Puppet Enterprise マスター の作成)**] ワークフローを完了するときに、この証明書を指定する場合は、カスタムドメインとプライベートキーも指定する必要があります。

証明書の値の要件は次のとおりです。
+ 自己署名証明書、カスタム証明書、または完全な証明書チェーンを指定できます。
+ 証明書は、有効な X509 証明書、または PEM 形式の証明書チェーンである必要があります。
+ 証明書はアップロード時に有効である必要があります。有効期間の開始 (証明書の `NotBefore` 日付) 前、または有効期間の終了 (証明書の `NotAfter` 日) 後に証明書を使用することはできません。
+ 証明書の共通名またはサブジェクトの代替名 (SAN) が存在する場合は、カスタムドメインの値と一致する必要があります。
+ 証明書は、[**Custom private key (カスタムプライベートキー)**] フィールドの値と一致する必要があります。

#### プライベートキーを取得する
<a name="opspup-prereq-customdomain-pk"></a>

独自のカスタムドメインで Puppet マスターをセットアップするには、HTTPS を使用してサーバーに接続するための PEM 形式のプライベートキーが必要です。プライベートキーは暗号化しないでください。パスワードやパスフレーズで保護することはできません。カスタムプライベートキーを指定する場合は、カスタムドメインと証明書も指定する必要があります。