OpsWorks for Puppet Enterprise の開始方法 - AWS OpsWorks

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

OpsWorks for Puppet Enterprise の開始方法

重要

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

OpsWorks for Puppet Enterprise では、 で Puppet Enterprise サーバーを実行できます AWS。約 15 分で Puppet Enterprise マスターサーバーをプロビジョニングできます。

2021 年 5 月 3 日以降、 OpsWorks for Puppet Enterprise は一部の Puppet Enterprise サーバー属性を に保存します AWS Secrets Manager。詳細については、「との統合 AWS Secrets Manager」を参照してください。

以下のチュートリアルは、 for Puppet Enterprise で最初の Puppet OpsWorks マスターを作成するのに役立ちます。

前提条件

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

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

  1. Puppet ウェブサイトから、ローカルコンピュータのオペレーティングシステムに一致する Puppet 開発キットをダウンロードします。

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

  3. Puppet 開発キットをローカルコンピュータの PATH 変数に追加します。

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

      echo 'export PATH=/opt/puppetlabs/pdk/bin/pdk:$PATH' >> ~/.bash_profile && source ~/.bash_profile
    • Windows ベースのオペレーティングシステムでは、 PowerShell セッションで次の .NET Framework コマンドを使用するか、システムプロパティ からアクセス可能な環境変数ダイアログボックスを使用して、Puppet Development Kit をPATH変数に追加できます。次のコマンドを実行するには、管理者として PowerShell セッションを実行する必要がある場合があります。

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

Puppet Enterprise クライアントツールをインストールします。

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

Git コントロールリポジトリのセットアップ

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

├── 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

を使用して新しいリポジトリを作成できます CodeCommit。 CodeCommit を使用してコントロールリポジトリを作成する方法の詳細については、このガイドオプション: Puppet r10k リモートコントロールリポジトリ AWS CodeCommit として を使用するの「」を参照してください。で Git の使用を開始する方法の詳細については CodeCommit、「AWS の開始方法 CodeCommit」を参照してください。リポジトリ OpsWorks の for Puppet Enterprise サーバーを承認するには、AWSCodeCommitReadOnlyポリシーを IAM インスタンスプロファイルロールにアタッチします。

VPC のセットアップ

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

独自の VPC を作成するか、既存の VPC を使用する場合、VPC には次の設定またはプロパティが必要です。

  • VPC には少なくとも 1 つのサブネットが必要です。

    OpsWorks for Puppet Enterprise マスターがパブリックアクセス可能になる場合は、サブネットをパブリックにして、パブリック IP の自動割り当てを有効にします。

  • [DNS resolution] は有効である必要があります。

  • サブネットで、[Auto-assign public IP] を有効にします。

VPCs の作成やインスタンスの実行に慣れていない場合は、次の AWS CLI コマンドを実行して、 AWS OpsWorks が提供する AWS CloudFormation テンプレートを使用して、単一のパブリックサブネットを持つ VPC を作成できます。を使用する場合は AWS Management Console、テンプレートを AWS CloudFormation コンソールにアップロードすることもできます。

aws cloudformation create-stack --stack-name OpsWorksVPC --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-vpc.yaml

EC2 のキーペアをセットアップする (オプション)

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

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

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

カスタムドメインを使用するための前提条件 (オプション)

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

カスタムドメインをセットアップする

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

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

証明書を取得する

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

証明書の値の要件は次のとおりです。

  • 自己署名証明書、カスタム証明書、または完全な証明書チェーンを指定できます。

  • 証明書は、有効な X509 証明書、または PEM 形式の証明書チェーンである必要があります。

  • 証明書はアップロード時に有効である必要があります。有効期間の開始 (証明書の NotBefore 日付) 前、または有効期間の終了 (証明書の NotAfter 日) 後に証明書を使用することはできません。

  • 証明書の共通名またはサブジェクトの代替名 (SAN) が存在する場合は、カスタムドメインの値と一致する必要があります。

  • 証明書は、[Custom private key (カスタムプライベートキー)] フィールドの値と一致する必要があります。

プライベートキーを取得する

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