OpsWorks for Puppet Enterprise でのノードを自動的に追加します - AWS OpsWorks

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

OpsWorks for Puppet Enterprise でのノードを自動的に追加します

重要

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

このトピックでは、Amazon Elastic Compute Cloud (Amazon EC2) ノードを OpsWorks for Puppet Enterprise サーバーに自動的に追加する方法について説明します。「Puppet マスターで管理するノードを追加する」では、associate-node コマンドを使用して一度に 1 つのノードを Puppet Enterprise サーバーに追加する方法について学びました。このトピックのコードは、ユーザーが介入しない方法を使用して複数のノードを自動的に追加する方法を示しています。ユーザーが介入しない (または自動での) 新しいノードの関連付けの推奨手段は、Amazon EC2 ユーザーデータを設定することです。デフォルトでは、OpsWorks for Puppet Enterprise サーバーではすでに puppet-agent を Ubuntu、Amazon Linux、および RHEL ノードオペレーティングシステムで使用できます。

ノードの関連付けを解除する方法については、このガイドの「OpsWorks for Puppet サーバーからノードの関連付けを切り離します」および OpsWorks for Puppet Enterprise API ドキュメントのdisassociate-nodeを参照してください。

ステップ 1: インスタンスプロファイルとして使用する IAM ロールを作成する

EC2 インスタンスプロファイルとして使用する AWS Identity and Access Management (IAM) ロールを作成し、次のポリシーを IAM ロールにアタッチします。このポリシーでは、ノード登録時に、opsworks-cm API を使用した EC2 インスタンスとの通信が許可されています。インスタンスプロファイルの詳細については、Amazon EC2 のドキュメントの 「Using Instance Profiles」(インスタンスプロファイルの使用) を参照してください。IAM ロールを作成する方法については、Amazon EC2 のドキュメントの「Creating an IAM Role in the Console」(コンソールでの IAM ロールの作成) を参照してください。。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }

ステップ 2: 自動関連付けスクリプトを使用してインスタンスを作成する

EC2 インスタンスを作成するには、スターターキットに含まれているユーザーデータスクリプトを EC2 インスタンスの手順の userdataセクション、Amazon EC2 Auto Scaling グループの起動設定、または AWS CloudFormation テンプレートにコピーします。このスクリプトは、Ubuntu および Amazon Linux オペレーティングシステムを実行している EC2 インスタンスでのみサポートされています。ユーザーデータへのスクリプトの追加の詳細については、Amazon EC2 documentation ドキュメントの「Running Commands on Your Linux Instance at Launch」(Linux インスタンスでの起動時のコマンドの実行) を参照してください。新規ノードを作成する最も簡単な方法は、Amazon EC2 instance launch wizard (Amazon EC2 インスタンス起動ウィザード) を使用することです。このチュートリアルでは、「OpsWorks for Puppet Enterprise の使用を開始する」で説明された Apache ウェブサーバーのサンプルモジュールのセットアップを使用します。

  1. スターターキットのユーザーデータスクリプトは、opsworks-cm API の associate-node コマンドを実行して、新しいノードを Puppet マスターに関連付けます。このリリースでは、最新バージョンの がまだ実行されていない場合に備えて、ノード AWS CLI にup-to-dateの もインストールされます。このスクリプトを便利な場所に userdata.sh として保存します。

    デフォルトでは、新しく登録されたノードの名前はインスタンス ID です。

  2. EC2 ドキュメントのインスタンスの作成の手順に従い、ここで説明する変更を加えます。EC2 インスタンス起動ウィザードで、Amazon Linux AMI を選択します。

  3. [Configure Instance Details] ページで、[myPuppetinstanceprofile] を選択します。これは、「ステップ 1: インスタンスプロファイルとして使用する IAM ロールを作成する」で IAM ロールとして作成したロールです。

  4. [Advanced Details] 領域で、ステップ 1 で作成した userdata.sh スクリプトをアップロードします。

  5. [Add Storage] ページで必要な変更はありません。[Add Tags] に進みます。

    EC2 インスタンスにタグを適用することで、userdata.sh の動作をカスタマイズできます。この例では、apache_webserver ロールをノードに適用します。これを行うには、値が pp_role である apache_webserver タグを追加します。

    ノードで pp_role の値をノードのエージェント証明書に永続的に保存されているデータ値に設定することで、ノードを信頼されたものとして分類できます。詳細については、Puppet プラットフォームドキュメントの「Extension requests (permanent certificate data)」を参照してください。

  6. [Configure Security Group] (セキュリティグループの設定) ページで、[Add Rule] (ルールの追加) を選択し、[HTTP] タイプを選択してこの例では Apache ウェブサーバーでポート番号 8080 を開きます。

  7. Review and Launch (確認と作成) を選択してから、Launch (起動) を選択します。新しいノードが開始されると、「スターターキットの Apache の例をセットアップする」でセットアップしたサンプルモジュールの Apache 設定が適用されます。

  8. 新しいノードのパブリック DNS にリンクされたウェブページを開くと、Puppet に管理された Apache ウェブサーバーがホストするウェブサイトが表示されるはずです。