スターターキットを使用して Puppet マスターを設定する - AWS OpsWorks

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

スターターキットを使用して Puppet マスターを設定する

重要

AWS OpsWorks for Puppet Enterprise は新規顧客を受け付けていません。2024 年 3 月 31 日にサービスが利用できなくなるまで、既存のお客様には影響はありません。既存のお客様は、可能な限り早急に他のソリューションに移行することをお勧めします。詳細については、AWS OpsWorks for Puppet Enterprise サポート終了に関する FAQ および OpsWorks for Puppet Enterprise サーバーを Amazon Elastic Compute Cloud (Amazon EC2) に移行する方法 を参照してください。

Puppet マスター作成の進行中に、OpsWorks for Puppet Enterprise コンソールでサーバーのプロパティページが開きます。新しい Puppet マスターの初回操作時に、[Properties] ページで 2 つの必須項目をダウンロードするように求められます。Puppet サーバーがオンラインになる前に、これらの項目をダウンロードします。新しいサーバーがオンラインになった後は、ダウンロードボタンは使用できません。


            OpsWorks for Puppet Enterprise の新しいサーバーのプロパティページ
  • Puppet マスター用のサインイン認証情報。これらの認証情報を使用して Puppet Enterprise コンソールにサインインします。ほとんどのノード管理はここで行います。これらの認証情報は AWS OpsWorks では保存されません。つまり、認証情報を表示およびダウンロードできる最後の機会です。必要であれば、これらの認証情報で提供されたパスワードをサインイン後に変更できます。

  • Starter Kit (スターターキット)。スターターキットには、セットアップを完了する方法を説明する情報と例、および Puppet Enterprise コンソールの管理認証情報が記載された README ファイルが含まれています。スターターキットをダウンロードするごとに、新しい認証情報が生成され、以前の認証情報は無効化されます。

前提条件

  1. サーバー作成の進行中に、Puppet マスターのサインイン認証情報をダウンロードし、それを安全かつ便利な場所に保存します。

  2. スターターキットをダウンロードし、スターターキットの .zip ファイルをワークスペースディレクトリに解凍します。サインイン認証情報を他者と共有しないでください。他のユーザーが Puppet マスターを管理する場合は、後で Puppet Enterprise コンソールでそのユーザーを管理者として追加します。Puppet マスターにユーザーを追加する詳細情報については、Puppet Enterprise ドキュメントの「Creating and managing users and user roles」を参照してください。

Puppet マスターの証明書をインストールする

Puppet マスターを使用し、ノードの管理を追加するには、その証明書をインストールする必要があります。次の AWS CLI コマンドを使用してインストールします。このタスクは AWS Management Consoleでは実行できません。

aws --region region opsworks-cm describe-servers --server-name server_name --query "Servers[0].EngineAttributes[?Name=='PUPPET_API_CA_CERT'].Value" --output text > .config/ssl/cert/ca.pem

短期トークンを生成する

Puppet API を使用するには、自分の短期トークンを作成する必要があります。このステップは、Puppet Enterprise コンソールを使用するためには必須ではありません。以下のコマンドを実行して、トークンを生成します。

デフォルトのトークンの有効期間は 5 分ですが、このデフォルトは変更できます。

puppet-access login --config-file .config/puppetlabs/client-tools/puppet-access.conf --lifetime 8h
注記

デフォルトのトークンの有効期間は 5 分であるため、前述のコマンド例では、--lifetime パラメータを追加し、トークンの有効期間を延長しています。トークンの有効期間は最長 10 年間 (10y) まで設定できます。デフォルトのトークンの有効期間を変更する方法の詳細については、Puppet Enterprise ドキュメントの「Change the token's default lifetime」を参照してください。

スターターキットの Apache の例をセットアップする

スターターキットをダウンロードして解凍した後、含まれているサンプル control-repo-example フォルダのブランチの例を使用して管理対象ノードで Apache ウェブサーバーを設定できます。

スターターキットには control-repocontrol-repo-example という 2 つの control-repo フォルダがあります。control-repo フォルダには、production ブランチがあります。これは Puppet GitHub repository にあるものから変更されていません。control-repo-example フォルダにもテストウェブサイトで Apache サーバーをセットアップするサンプルコードが含まれている production ブランチがあります。

  1. control-repo-example production ブランチを Git リモート (Puppet マスターの r10k_remote URL) にプッシュします。スターターキットのルートディレクトリで、次のコマンドを実行して、r10kRemoteUrl を自分の r10k_remote URL で置き換えます。

    cd control-repo-example git remote add origin r10kRemoteUrl git push origin production

    Puppet の Code Manager では、環境として Git ブランチが使用されます。デフォルトでは、すべてのノードが本稼働環境にあります。

    重要

    master ブランチにプッシュしないでください。master ブランチは Puppet マスター用に予約されています。

  2. control-repo-example ブランチのコードを Puppet マスターにデプロイします。これにより、Puppet マスターによって Git リポジトリから Puppet コード (r10k_remote) がダウンロードされます。スターターキットのルートディレクトリで、次のコマンドを実行します。

    puppet-code deploy --all --wait --config-file .config/puppet-code.conf

Amazon EC2 に作成したマネージドノードにサンプルの Apache 設定を適用する方法の詳細については、本ガイドの「ステップ 2: 自動関連付けスクリプトを使用してインスタンスを作成する」を参照してください。