

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

# Puppet Enterprise マスターの作成
<a name="gettingstarted-opspup-create"></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 CLIを使用して、Puppet マスターを作成することができます。

**Topics**
+ [を使用して Puppet Enterprise Master を作成する AWS マネジメントコンソール](#gettingstarted-opspup-create-console)
+ [を使用して Puppet Enterprise Master を作成する AWS CLI](#gettingstarted-opspup-create-cli)

## を使用して Puppet Enterprise Master を作成する AWS マネジメントコンソール
<a name="gettingstarted-opspup-create-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/opsworks/](https://console.aws.amazon.com/opsworks/) で OpsWorks コンソールを開きます。

1.  OpsWorks ホームページで、**OpsWorks for Puppet Enterprise に移動します**。  
![\[OpsWorks サービスホーム\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_day0.png)

1. OpsWorks for Puppet Enterprise のホームページで **[Create Puppet Enterprise server** (Puppet Enterprise サーバーを作成)] を選択します。  
![\[Puppet マスターダッシュボード\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_dashboardhome.png)

1. [**Set name, region, and type**] ページで、サーバーの名前を指定します。Puppet マスター名は 40 文字以内で、文字で始まる必要があります。英数字とハイフンのみを使用できます。サポートされているリージョンを選択し、管理するノード数をサポートしているインスタンスタイプを選択します。サーバーを作成した後でも、必要に応じてインスタンスタイプを変更できます。このチュートリアルでは、米国西部 (オレゴン) リージョンに **[m5.xlarge]** のインスタンスタイプを作成します。[**次へ**] を選択します。  
![\[[Set name, region, and type] ページ\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_setname.png)

1. [**Configure server (サーバーの構成)**] ページで、キーペア名を指定しない場合は、[**SSH key (SSH キー)**] ドロップダウンリストでデフォルトの選択のままにします。**[Configure Puppet Code Manager]** 領域の **[r10k remote]** フィールドで、Git リモートの有効な SSH URL 値 を指定します。**r10k プライベートキー**フィールドで、r10k リモートリポジトリへのアクセス OpsWorks に使用できる SSH プライベートキーを貼り付けます。これはプライベートリポジトリを作成するときに Git によって提供されますが、HTTPS 認証を使用してコントロールリポジトリアクセスしている場合は必要ありません。[**次へ**] を選択します。  
![\[サーバーの設定ページ\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_configcreds.png)

1. サーバーを独自のカスタムドメインで使用しない場合は、[**Specify server endpoint (サーバーエンドポイントを指定)**] をデフォルトの [**Use an automatically-generated endpoint (自動的に生成されたエンドポイントを指定する)**] のままにして、[**Next (次へ)**] を選択します。カスタムドメインを設定するには、次のステップに進みます。

1. カスタムドメインを使用するには、[**Specify server endpoint (サーバーエンドポイントを指定)**] で、ドロップダウンリストから [**Use a custom domain (カスタムドメインを使用)**] を選択します。

   1. [**Fully qualified domain name (FQDN) (完全修飾ドメイン名 (FQDN))**] で、FQDN を指定します。使用するドメイン名を所有している必要があります。

   1. [**SSL certificate**] (SSL 証明書) に、PEM 形式の証明書全体を貼り付けます。この証明書は `–––--BEGIN CERTIFICATE-----` で始まり、`–––--END CERTIFICATE-----` で終わります。SSL 証明書のサブジェクトは、前のステップで入力した FQDN と一致する必要があります。証明書の前後の余分な行を削除します。

   1. [**SSL private key**] (SSL プライベートキー) には、RSA プライベートキー全体を貼り付けます。このプライベートキーは `–––--BEGIN RSA PRIVATE KEY-----` で始まり、`–––--END RSA PRIVATE KEY-----` で終わります。SSL プライベートキーは、前のステップで入力した SSL 証明書のパブリックキーと一致する必要があります。プライベートキーの前後の余分な行を削除します。[**次へ**] を選択します。

1. **詳細設定の設定**ページの**ネットワークとセキュリティ**エリアで、VPC、サブネット、および 1 つ以上のセキュリティグループを選択します。使用するセキュリティグループ、サービスロール、インスタンスプロファイルがまだない場合は、 で生成 OpsWorks できます。サーバーは複数のセキュリティグループのメンバーにできます。このページから次に進んだ後に、Puppet マスターのネットワーク設定およびセキュリティ設定を変更することはできません。  
![\[[Network and Security]\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_network_sec.png)

1. **[System maintenance]** セクションで、システムメンテナンスを開始する日付と時刻を設定します。システムメンテナンス中はサーバーがオフラインになることを想定する必要があるため、通常の営業時間内でサーバー需要が低い時刻を選択します。

   メンテナンス時間は必須です。開始日時を後で変更するには AWS マネジメントコンソール、、 AWS CLI、または APIsを使用します。  
![\[[System maintenance]\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_sysmaint.png)

1. バックアップを設定します。デフォルトでは、自動バックアップが有効になっています。自動バックアップを開始する頻度と時刻を設定し、Amazon Simple Storage Service に保存するバックアップの世代数を設定します。最大で 30 個のバックアップを保持でき、最大数に達すると、OpsWorks for Puppet Enterprise は最も古いバックアップ削除して、新規バックアップ用のスペースを確保します。  
![\[[Automatic backups(自動バックアップ)]\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opspup_backupconfig.png)

1. (オプション) [**Tags**] (タグ) で、サーバーおよび関連リソース (EC2 インスタンス、Elastic IP アドレス、セキュリティグループ、S3 バケット、バックアップなど) にタグを追加します。OpsWorks for Puppet Enterprise サーバーのタグ付けの詳細については、「[AWS OpsWorks for Puppet Enterprise リソースでのタグの使用](opspup-tags.md)」を参照してください。

1. 詳細設定が完了したら、[**Next**] を選択します。

1. **[確認]** ページで選択内容を確認します。サーバーを作成する準備ができたら、[**Launch**] を選択します。

   Puppet マスターの作成 OpsWorks を待っている間に、「」に進み、スターターキットと Puppet Enterprise コンソールの認証情報[スターターキットを使用して Puppet マスターを設定する](opspup-starterkit.md)をダウンロードします。これらをダウンロードするために、サーバーがオンラインになるまで待つ必要はありません。

   サーバーの作成が完了すると、OpsWorks for Puppet Enterprise のホームページで、Puppet マスターが **[online]** (オンライン) のステータスになり、利用可能になります。サーバーがオンラインになると、Puppet Enterprise コンソールがサーバーのドメインで `https://your_server_name-randomID.region.opsworks-cm.io` の形式の URL で利用できます。

## を使用して Puppet Enterprise Master を作成する AWS CLI
<a name="gettingstarted-opspup-create-cli"></a>

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

 AWS CLI コマンドを実行して OpsWorks for Puppet Enterprise マスターサーバーを作成することは、コンソールでのサーバーの作成とは異なります。コンソールで、使用する既存のロールを指定しない場合、 はサービスロールとセキュリティグループ OpsWorks を作成します。でセキュリティグループを指定しない場合 AWS CLI、 OpsWorks はセキュリティグループを作成できますが、サービスロールは自動的に作成されません。`create-server`コマンドの一部としてサービスロール ARN を指定する必要があります。コンソールで、 OpsWorks が Puppet マスターを作成している間、Puppet Enterprise コンソールのスターターキットとサインイン認証情報をダウンロードします。を使用して OpsWorks for Puppet Enterprise マスターを作成するときにこれを行うことはできないため AWS CLI、JSON 処理ユーティリティを使用して、新しい OpsWorks for Puppet Enterprise マスターがオンラインになった後、 `create-server` コマンドの結果からサインイン認証情報とスターターキットを取得します。

ローカルコンピュータで がまだ実行されていない場合は AWS CLI、*AWS コマンドラインインターフェイスユーザーガイド* AWS CLI [のインストール手順に従って](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)、 をダウンロードしてインストールします。このセクションでは、`create-server` コマンドで使用できるパラメータのすべては説明しません。`create-server` パラメータの詳細については、「[`create-server`リファレンス](https://docs.aws.amazon.com/cli/latest/reference/opsworks-cm/create-server.html)」の「*AWS CLI *」を参照してください。

1. 「[前提条件](gettingstarted-opspup.md#gettingstarted-opspup-prereqs)」を必ず完了してください。Puppet マスターを作成するには、サブネット ID が必要になるため、VPC が必要です。

1. サービスロールとインスタンスプロファイルを作成します。

1. アカウントでサービスロールの ARNs を検索してコピーします。

   ```
   aws iam list-roles --path-prefix "/service-role/" --no-paginate
   ```

   `list-roles` コマンドの結果内で、次のようなサービスロール ARN のエントリを探します。サービスロール ARN を書き留めます。Puppet Enterprise マスターを作成するにはこれらの値が必要です。

1. アカウントでインスタンスプロファイルの ARN を検索してコピーします。

   ```
   aws iam list-instance-profiles --no-paginate
   ```

   `list-instance-profiles` コマンドの結果内で、次のようなインスタンスプロファイル ARN のエントリを探します。インスタンスプロファイルの ARN を書き留めます。Puppet Enterprise マスターを作成するにはこれらの値が必要です。

1. `create-server` コマンドを実行して、OpsWorks for Puppet Enterprise マスターを作成します。
   + `--engine` 値は `Puppet` で、`--engine-model` は `Monolithic` です。また、`--engine-version` は `2019` または `2017` になり得ます。
   + サーバー名は、 AWS アカウント内で各リージョン内で一意である必要があります。サーバー名は文字で始める必要があります。その後は文字、数字、またはハイフン (-) を最大 40 文字まで使用できます。
   + ステップ 3 と 4 でコピーしたインスタンスプロファイル ARN とサービスロール ARN を使用します。
   + 有効なインスタンスタイプは `m5.xlarge`、`c5.2xlarge`、または `c5.4xlarge` です。これらのインスタンスタイプの仕様についての詳細は、*「Amazon EC2 User Guide」*(Amazon EC2 ユーザーガイド) の[「Instance Types」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)(インスタンスタイプ) を参照してください。
   + `--engine-attributes` パラメータはオプションです。Puppet 管理者パスワードを指定しない場合、サーバー作成プロセスで生成されます。`--engine-attributes` を追加する場合は、`PUPPET_ADMIN_PASSWORD` を指定します。これは、Puppet Enterprise コンソールウェブページにサインインする管理者パスワードです。パスワードに使用できる文字数は 8～32 文字 (ASCII) です。
   + SSH キーペアはオプションですが、コンソール管理者パスワードをリセットする必要がある場合に Puppet マスターに接続することができます。SSH キーペアの作成の詳細については、*「Amazon EC2 User Guide」*(Amazon EC2 ユーザーガイド) の[「Amazon EC2 Key Pairs」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)(Amazon EC2 キーペア) を参照してください。
   + カスタムドメインを使用するには、コマンドに以下のパラメータを追加します。それ以外の場合は、Puppet マスター作成プロセスによって自動的にエンドポイントが生成されます。カスタムドメインを構成するには、3 つのパラメータすべてが必要です。これらのパラメータを使用するための追加の要件については、CM API リファレンスの[CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html) OpsWorks 」を参照してください。
     + `--custom-domain` - サーバーのオプションのパブリックエンドポイント (`https://aws.my-company.com` など)。
     + `--custom-certificate` - PEM 形式の HTTPS 証明書。値には、単一の自己署名証明書、または証明書チェーンを指定できます。
     + `--custom-private-key` - HTTPS を使用してサーバーに接続するための PEM 形式のプライベートキー。プライベートキーは暗号化しないでください。パスワードやパスフレーズで保護することはできません。
   + 週 1 回のシステムメンテナンスが必要です。次の形式で有効な値を指定する必要があります: `DDD:HH:MM`。指定時刻は協定世界時 (UTC) です。`--preferred-maintenance-window` の値を指定しない場合、火曜日、水曜日、または金曜日の 1 時間がランダムでデフォルト値になります。
   + `--preferred-backup-window` の有効な値は次の形式のいずれかで指定する必要があります: 日次バックアップの場合は `HH:MM`、週次バックアップの場合は `DDD:HH:MM`。指定時刻は UTC です。デフォルト値は日次で開始時間はランダムです。自動バックアップを無効にするには、代わりにパラメータ `--disable-automated-backup` を追加します。
   + `--security-group-ids` に、1 つ以上のセキュリティグループ ID をスペースで区切って入力します。
   + `--subnet-ids` には、サブネット ID を入力します。

   ```
   aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"ASCII_password"}' --key-pair "key_pair_name" --preferred-maintenance-window "ddd:hh:mm" --preferred-backup-window "ddd:hh:mm" --security-group-ids security_group_id1 security_group_id2 --service-role-arn "service_role_ARN" --subnet-ids subnet_ID
   ```

   以下に例を示します。

   ```
   aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "puppet-02" --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.xlarge" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" --preferred-backup-window "Sun:02:00" --security-group-ids sg-b00000001 sg-b0000008 --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-383daa71
   ```

   次の例では、カスタムドメインを使用する Puppet マスターを作成します。

   ```
   aws opsworks-cm create-server \
       --engine "Puppet" \
       --engine-model "Monolithic" \
       --engine-version "2019" \
       --server-name "puppet-02" \
       --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \
       --instance-type "m5.xlarge" \
       --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \
       --custom-domain "my-puppet-master.my-corp.com" \
       --custom-certificate "-----BEGIN CERTIFICATE----- EXAMPLEqEXAMPLE== -----END CERTIFICATE-----" \
       --custom-private-key "-----BEGIN RSA PRIVATE KEY----- EXAMPLEqEXAMPLE= -----END RSA PRIVATE KEY-----" \
       --key-pair "amazon-test" 
       --preferred-maintenance-window "Mon:08:00" \
       --preferred-backup-window "Sun:02:00" \
       --security-group-ids sg-b00000001 sg-b0000008 \
       --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \
       --subnet-ids subnet-383daa71
   ```

   以下の例では、2 つのタグ `Stage: Production` および `Department: Marketing` を追加する Puppet マスターを作成します。OpsWorks for Puppet Enterprise サーバーでのタグの追加と管理の詳細については、このガイドの「[AWS OpsWorks for Puppet Enterprise リソースでのタグの使用](opspup-tags.md)」を参照してください。

   ```
   aws opsworks-cm create-server \
       --engine "Puppet" \
       --engine-model "Monolithic" \
       --engine-version "2019" \
       --server-name "puppet-02" \
       --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \
       --instance-type "m5.xlarge" \
       --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \
       --key-pair "amazon-test" 
       --preferred-maintenance-window "Mon:08:00" \
       --preferred-backup-window "Sun:02:00" \
       --security-group-ids sg-b00000001 sg-b0000008 \
       --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \
       --subnet-ids subnet-383daa71 \
       --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
   ```

1. OpsWorks for Puppet Enterprise が新しいサーバーを作成するには約 15 分かかります。`create-server` コマンドの出力を閉じたり、シェルセッションを閉じたりしないでください。今後表示されない重要な情報が出力に含まれている場合があります。`create-server` の結果からパスワードとスターターキットを取得するには、次のステップに進みます。

   サーバーでカスタムドメインを使用している場合は、`create-server` コマンドの出力で `Endpoint` 属性の値をコピーします。以下に例を示します。

   ```
   "Endpoint": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
   ```

1. OpsWorks for Puppet Enterprise でパスワードを生成するように選択した場合、[jq](https://stedolan.github.io/jq/) などの JSON プロセッサーを使用して `create-server` の結果から使用可能な形式で抽出できます。[jq](https://stedolan.github.io/jq/) をインストールした後、以下のコマンドを実行して Puppet 管理者パスワードとスターターキットを抽出できます。ステップ 3 で独自のパスワードを指定しなかった場合は、抽出した管理者パスワードを使いやすく安全な場所に保存してください。

   ```
   #Get the Puppet password:
   cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_ADMIN_PASSWORD") | .Value'
   
   #Get the Puppet Starter Kit:
   cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
   ```
**注記**  
 AWS マネジメントコンソールで新しい Puppet マスタースターターキットを再生成することはできません。を使用して Puppet マスターを作成する場合は AWS CLI、前述の`jq`コマンドを実行して base64 でエンコードされたスターターキットを ZIP ファイルとして`create-server`結果に保存します。

1. カスタムドメインを使用していない場合は、次のステップに進みます。サーバーでカスタムドメインを使用している場合は、エンタープライズの DNS 管理ツールで CNAME エントリを作成し、ステップ 6 でコピーした OpsWorks for Puppet Enterprise エンドポイントにカスタムドメインをポイントします。このステップを完了するまで、カスタムドメインを使用するサーバーにアクセスしたりサインインしたりすることはできません。

1. 次のセクション「[スターターキットを使用して Puppet マスターを設定する](opspup-starterkit.md)」に進みます。