Chef Automate サーバーの作成 - AWS OpsWorks

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

Chef Automate サーバーの作成

重要

AWS OpsWorks for Chef Automate は 2024 年 5 月 5 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。既存のお客様は、 Chef SaaS または代替ソリューションに移行することをお勧めします。ご質問がある場合は、 AWS re:Post またはAWS プレミアムサポートを通じて AWS サポート チームにお問い合わせください。

Chef サーバーは、 AWS OpsWorks for Chef Automate コンソールまたは を使用して作成できます AWS CLI。

で Chef Automate サーバーを作成する AWS Management Console

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/opsworks/ で AWS OpsWorks コンソールを開きます。

  2. AWS OpsWorks ホームページで、OpsWorks for Chef Automate に移動」を選択します。

    AWS OpsWorks サービスホーム
  3. AWS OpsWorks for Chef Automate ホームページで、Chef Automate サーバーの作成を選択します。

    Chef Automate サーバーのホーム
  4. [Set name, region, and type] ページで、サーバーの名前を指定します。Chef サーバー名は 40 文字以内で、英数字とハイフンのみを使用できます。サポートされているリージョンを選択し、管理するノード数をサポートしているインスタンスタイプを選択します。サーバーを作成した後でも、必要に応じてインスタンスタイプを変更できます。このウォークスルーでは、米国西部 (オレゴン) で [m5.large] インスタンスタイプを作成します。[Next (次へ)] を選択します。

    [Set name, region, and type] ページ
  5. [Configure server (サーバーの構成)] ページで、キーペア名を指定しない場合は、[SSH key (SSH キー)] ドロップダウンリストでデフォルトの選択のままにします。

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

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

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

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

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

  8. [Configure Advanced Settings] (詳細設定の設定) ページの [Network and Security] (ネットワークとセキュリティ) 領域で、VPC、サブネット、および 1 つ以上のセキュリティグループを選択します。VPC の要件を以下に示します。

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

    • DNS 解決を有効にする必要があります。

    • [Auto-assign public IP (パブリック IP の自動割り当て)] を、パブリックサブネット上で有効にする必要があります。

    AWS OpsWorks 使用するセキュリティグループ、サービスロール、インスタンスプロファイルがまだない場合は、 で生成できます。サーバーは複数のセキュリティグループのメンバーにできます。このページから次に進んだ後に、Chef サーバーのネットワーク設定およびセキュリティ設定を変更することはできません。

    [Network and Security]
  9. [System maintenance] セクションで、システムメンテナンスを開始する日付と時刻を設定します。システムメンテナンス中はサーバーがオフラインになることを想定する必要があるため、通常の営業時間内でサーバー需要が低い時刻を選択します。接続されたノードは、メンテナンスが完了するまで pending-server 状態になっています。

    メンテナンス時間は必須です。、 AWS Management Console、または APIs を使用して AWS CLI、開始日時を後で変更できます。

    [System maintenance]
  10. バックアップを設定します。デフォルトでは、自動バックアップが有効になっています。自動バックアップを開始する頻度と時刻を設定し、Amazon Simple Storage Service に保存するバックアップの世代数を設定します。最大 30 個のバックアップが保持されます。最大数に達すると、 は最も古いバックアップ AWS OpsWorks for Chef Automate を削除して、新しいバックアップ用のスペースを確保します。

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

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

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

    が Chef サーバーを作成する AWS OpsWorks のを待っている間に、 に移動スターターキットを使用して Chef サーバーを設定するし、スターターキットと Chef Automate ダッシュボードの認証情報をダウンロードします。これらをダウンロードするために、サーバーがオンラインになるまで待つ必要はありません。

    サーバーの作成が完了すると、 AWS OpsWorks for Chef Automate のホームページで、Chef サーバーが [online] のステータスになり、利用可能になります。サーバーがオンラインになると、Chef Automate ダッシュボードがサーバーのドメインで https://your_server_name-random.region.opsworks-cm.io の形式の URL で利用できます。

を使用して Chef Automate サーバーを作成する AWS CLI

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

ローカルコンピュータで がまだ実行されていない場合は AWS CLI、AWS コマンドラインインターフェイスユーザーガイド AWS CLI のインストール手順に従って をダウンロードしてインストールします。このセクションでは、create-server コマンドで使用できるパラメータのすべては説明しません。create-server パラメータの詳細については、「create-server リファレンス」の「AWS CLI 」を参照してください。

  1. 必ず前提条件、特に「VPC のセットアップ」を満たしてください。または、使用する既存の VPC があることを確認してください。Chef Automate サーバーを作成するには、サブネット ID が必要です。

  2. 必要に応じて、Chef の中枢キーを OpenSSL を使用して作成し、そのキーをローカルコンピュータ上の安全で便利なファイルに保存してください。中枢キーは、create-server コマンドで指定しない場合は、サーバー作成プロセスの一部として自動的に生成されます。このステップをスキップする場合は、代わりに、create-server コマンドにより生成される Chef Automate 主要キーを取得できます。Chef Automate 主要キーの値は、RSA キーペアの公開鍵に相当するため、下記のコマンドを使用して主要キーを生成する場合は、必ず -pubout パラメータを含めてください。詳細については、ステップ 6 を参照してください。

    umask 077 openssl genrsa -out "pivotal" 2048 openssl rsa -in "pivotal" -pubout
  3. サービスロールとインスタンスプロファイルを作成します。 は、両方を作成するために使用できる AWS CloudFormation テンプレート AWS OpsWorks を提供します。次の AWS CLI コマンドを実行して、サービスロールとインスタンスプロファイルを作成する AWS CloudFormation スタックを作成します。

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM
  4. がスタックの作成 AWS CloudFormation を完了したら、アカウント内のサービスロールARNs を検索してコピーします。

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

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

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  5. アカウントでインスタンスプロファイルの ARN を検索してコピーします。

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

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

    { "Path": "/", "InstanceProfileName": "aws-opsworks-cm-ec2-role", "InstanceProfileId": "EXAMPLEDC6UR3LTUW7VHK", "Arn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "Roles": [ { "Path": "/service-role/", "RoleName": "aws-opsworks-cm-ec2-role", "RoleId": "EXAMPLEE4STNUQG6R22HC", "Arn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] },
  6. create-server コマンドを実行して AWS OpsWorks for Chef Automate サーバーを作成します。

    • --engine の値は、ChefAutomate--engine-model は、Single--engine-version12 です。

    • サーバー名は、各リージョンの AWS アカウント内で一意である必要があります。サーバー名は文字で始める必要があります。その後は文字、数字、またはハイフン (-) を最大 40 文字まで使用できます。

    • ステップ 4 と 5 でコピーしたインスタンスプロファイル ARN とサービスロール ARN を使用します。

    • 有効なインスタンスタイプは m5.larger5.xlarge、または r5.2xlarge です。これらのインスタンスタイプの仕様の詳細については、「Amazon EC2 ユーザーガイド」「インスタンスタイプ」を参照してください。

    • --engine-attributes パラメータはオプションです。いずれかまたは両方の値を指定しない場合、サーバー作成プロセスで値が生成されます。--engine-attributes を追加する場合は、ステップ 2 で生成した CHEF_AUTOMATE_PIVOTAL_KEY 値、CHEF_AUTOMATE_ADMIN_PASSWORD、またはその両方を指定します。

      CHEF_AUTOMATE_ADMIN_PASSWORD の値を設定しない場合、create-server レスポンスの一部としてパスワードが生成され返されます。コンソールでスターターキットをもう一度ダウンロードして、このパスワードを再生成することもできます。パスワードの最小の長さは 8 文字、最大は 32 文字です。パスワードには、文字、数字、および特殊文字 (!/@#$%^+=_) を使用できます。パスワードは、少なくとも 1 つの小文字、1 つの大文字、1 つの数字、および 1 つの特殊文字を含む必要があります。

    • SSH キーペアはオプションですが、Chef Automate ダッシュボードの管理者パスワードをリセットする必要がある場合に Chef Automate サーバーに接続することができます。SSH キーペアの作成の詳細については、「Amazon EC2 User Guide」(Amazon EC2 ユーザーガイド) の「Amazon EC2 Key Pairs」(Amazon EC2のキーペア) を参照してください。

    • カスタムドメインを使用するには、コマンドに以下のパラメータを追加します。それ以外の場合は、Chef Automate サーバー作成プロセスによって自動的にエンドポイントが生成されます。カスタムドメインを構成するには、3 つのパラメータすべてが必要です。これらのパラメータを使用するための追加要件については、CM API リファレンスのCreateServer AWS 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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"pivotal_key","CHEF_AUTOMATE_ADMIN_PASSWORD":"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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.large" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-300aaa00

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

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-custom-domain-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-chef-automate-server.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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00

    以下の例では、2 つのタグ Stage: Production および Department: Marketing を追加する Chef Automate サーバーを作成します。 AWS OpsWorks for Chef Automate サーバーでのタグの追加と管理の詳細については、このガイドAWS OpsWorks for Chef Automate リソースでのタグの使用の「」を参照してください。

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-test-chef-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  7. AWS OpsWorks for Chef Automate 新しいサーバーの作成には約 15 分かかります。create-server コマンドの出力を閉じたり、シェルセッションを閉じたりしないでください。今後表示されない重要な情報が出力に含まれている場合があります。create-server の結果からパスワードとスターターキットを取得するには、次のステップに進みます。

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

    "Endpoint": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  8. でキーとパスワード AWS OpsWorks for Chef Automate を生成することを選択した場合は、jq などの JSON プロセッサを使用してcreate-server、結果から使用可能な形式で抽出できます。jq をインストールした後、以下のコマンドを実行して中枢キー、Chef Automate ダッシュボード管理者パスワード、およびスターターキットを抽出できます。ステップ 4 で独自の中枢キーとパスワードを指定しなかった場合は、抽出した中枢キーと管理者パスワードを使いやすく安全な場所に保存してください。

    #Get the Chef password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_ADMIN_PASSWORD") | .Value' #Get the Chef Pivotal Key: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_PIVOTAL_KEY") | .Value' #Get the Chef Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
  9. オプションで、create-serverコマンド結果からスターターキットを抽出しなかった場合は、 AWS OpsWorks for Chef Automate コンソールのサーバーのプロパティページから新しいスターターキットをダウンロードできます。新しいスターターキットをダウンロードすると、Chef Automate ダッシュボードの管理者パスワードがリセットされます。

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

  11. サーバーの作成プロセスが完了したら、「スターターキットを使用して Chef サーバーを設定する」に進みます。