

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

# OpsWorks for Puppet Enterprise サーバーの更新して、カスタムドメインを使用する
<a name="opspup-update-server-custom-domain"></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 server サーバーを更新してカスタムドメインと証明書を使用する方法について説明します。基本的に、バックアップから新しいサーバーを作成することで既存の OpsWorks for Puppet Enterprise 2.0 サーバーをコピーしてから、カスタムドメイン、証明書、プライベートキーを使用するための新しいサーバーを構成します。

**Topics**
+ [前提条件](#opspup-update-server-custom-domain-reqs)
+ [制限事項](#opscm-update-server-custom-domain-limits)
+ [カスタムドメインを使用するようにサーバーを更新する](#opscm-update-server-custom-domain-howto)
+ [以下の資料も参照してください。](#opscm-update-server-custom-domain-seealso)

## 前提条件
<a name="opspup-update-server-custom-domain-reqs"></a>

既存の OpsWorks for Puppet Enterprise サーバーを更新して、カスタムドメインと証明書を使用するための要件を次に示します。
+ 更新 (またはコピー) するサーバーは、Puppet Enterprise 2019.8.5 を実行している必要があります。
+ 新しいサーバーの作成に使用するバックアップを決定します。更新するサーバーのバックアップが少なくとも 1 つ必要です。OpsWorks for Puppet Enterprise でのバックアップの詳細については、「[OpsWorks for Puppet Enterprise サーバーをバックアップします](opspup-backup.md)」を参照してください。
+ バックアップのソースである既存のサーバーを作成するために使用したサービスロールとインスタンスプロファイルの ARN を準備します。
+ 最新リリースの AWS CLIを実行していることを確認してください。 AWS CLI ツールの更新の詳細については、*AWS コマンドラインインターフェイスユーザーガイド*[の「 のインストール AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)」を参照してください。

## 制限事項
<a name="opscm-update-server-custom-domain-limits"></a>

バックアップから新しいサーバーを作成して既存のサーバーを更新する場合、新しいサーバーは既存の OpsWorks for Puppet Enterprise サーバーとまったく同じようにはできません。
+ この手順は、 AWS CLI またはいずれかの [AWS SDKs](https://docs.aws.amazon.com/#sdks)。 AWS マネジメントコンソールを使用してバックアップから新しいサーバーを作成することはできません。
+ 新しいサーバーに、アカウント内および AWS リージョン内の既存のサーバーと同じ名前は使用できません。名前は、バックアップのソースとして使用した既存のサーバーとは異なる必要があります。
+ 既存のサーバーに接続されたノードは、新しいサーバーによって管理されません。次のいずれかを行う必要があります。
  + 複数の Puppet マスターでノードを管理することはできないため、異なるノードをアタッチします。
  + 既存のサーバー (バックアップのソース) から新しいサーバーと新しいカスタムドメインエンドポイントにノードを移行します。ノードを移行する方法の詳細については、[Puppet Enterprise のドキュメント](https://puppet.com/docs/pe/2019.8/backing_up_and_restoring_pe.html)を参照してください。

## カスタムドメインを使用するようにサーバーを更新する
<a name="opscm-update-server-custom-domain-howto"></a>

既存の Puppet マスターを更新するには、バックアップ、カスタムドメイン、カスタム証明書、カスタムプライベートキーを指定するパラメータを追加して `create-server` コマンドを実行し、コピーを作成します。

1. `create-server` コマンドで指定できるサービスロールまたはインスタンスプロファイルの ARN がない場合は、「[を使用して Chef Automate サーバーを作成する AWS CLI](gettingstarted-opscm-create.md#gettingstarted-opscm-create-cli)」のステップ 1～5 に従って、使用できるサービスロールとインスタンスプロファイルを作成します。

1. まだ作成していない場合は、カスタムドメインで新しいサーバーのベースにする既存の Puppet マスターのバックアップを探します。次のコマンドを実行して、アカウントおよびリージョン内のすべての OpsWorks for Puppet Enterprise バックアップに関する情報を表示します。使用するバックアップの ID を書き留めておきます。

   ```
   aws opsworks-cm --region region name describe-backups
   ```

1. 次の `create-server` コマンドを実行して OpsWorks for Puppet Enterprise サーバーを作成します。
   + `--engine` 値は `Puppet`、`--engine-model` は `Monolithic` および `--engine-version` は `2019` または `2017` です。
   + サーバー名は、 AWS アカウント内で各リージョン内で一意である必要があります。サーバー名は文字で始める必要があります。その後は文字、数字、またはハイフン (-) を最大 40 文字まで使用できます。
   + ステップ 3 と 4 でコピーしたインスタンスプロファイル ARN とサービスロール ARN を使用します。
   + 有効なインスタンスタイプは `c4.large`、`c4.xlarge`、または `c4.2xlarge` です。これらのインスタンスタイプの仕様についての詳細は、*「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
   ```

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

   ```
   aws opsworks-cm create-server \
       --engine "Puppet" \
       --engine-model "Monolithic" \
       --engine-version "2019" \
       --server-name "puppet-02" \
       --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" \
       --instance-type "c4.large" \
       --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::044726508045:role/service-role/aws-opsworks-cm-service-role" \
       --subnet-ids subnet-383daa71
   ```

1. OpsWorks for Puppet Enterprise は、新しいサーバーを作成するのに約 15 分かかります。`create-server` コマンドの出力で、`Endpoint` 属性の値をコピーします。以下に例を示します。

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

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

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. `create-server` コマンドの結果からスターターキットを抽出していない場合、必要に応じて、新しいスターターキットを OpsWorks for Puppet Enterprise コンソールのサーバーのプロパティページからダウンロードできます。

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

1. サーバーの作成プロセスが完了したら、「[スターターキットを使用して Puppet マスターを設定する](opspup-starterkit.md)」に進みます。

## 以下の資料も参照してください。
<a name="opscm-update-server-custom-domain-seealso"></a>
+ [を使用して Puppet Enterprise Master を作成する AWS CLI](gettingstarted-opspup-create.md#gettingstarted-opspup-create-cli)
+ [OpsWorks for Puppet Enterprise サーバーのバックアップと復元](opspup-backup-restore.md)
+ CM API リファレンス OpsWorks の [CreateServer](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_CreateServer.html) 
+ [**create-server**「 コマンドリファレンス」](https://docs.aws.amazon.com/cli/latest/reference/opsworks-cm/create-server.html)の*「AWS CLI 」*を参照してください。