カスタムドメインを使用するように AWS OpsWorks for Chef Automate サーバーを更新する - AWS OpsWorks

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

カスタムドメインを使用するように AWS OpsWorks for Chef Automate サーバーを更新する

重要

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

このセクションでは、サーバーのバックアップを使用して新しい AWS OpsWorks for Chef Automate サーバーを作成することで、カスタムドメインと証明書を使用するように既存のサーバーを更新する方法について説明します。基本的に、バックアップから新しいサーバーを作成し、カスタムドメイン、証明書、プライベートキーを使用するように新しいサーバーを設定することで、既存の AWS OpsWorks for Chef Automate 2.0 サーバーをコピーします。

前提条件

以下は、カスタムドメインと証明書を使用するように既存の AWS OpsWorks for Chef Automate サーバーを更新するための要件です。

  • 更新 (またはコピー) するサーバーは、Chef Automate 2.0 を実行している必要があります。

  • 新しいサーバーの作成に使用するバックアップを決定します。更新するサーバーのバックアップが少なくとも 1 つ必要です。でのバックアップの詳細については、 AWS OpsWorks for Chef Automate「」を参照してくださいAWS OpsWorks for Chef Automate サーバーのバックアップ

  • バックアップのソースである既存のサーバーを作成するために使用したサービスロールとインスタンスプロファイルの ARN を準備します。

  • 最新リリースの AWS CLIを実行していることを確認してください。 AWS CLI ツールの更新の詳細については、AWS コマンドラインインターフェイスユーザーガイドの「 のインストール AWS CLI」を参照してください。

制限事項

バックアップから新しいサーバーを作成して既存のサーバーを更新する場合、新しいサーバーを既存の AWS OpsWorks for Chef Automate サーバーとまったく同じにすることはできません。

  • この手順は、 AWS CLI または AWS SDKs のいずれかを使用してのみ実行できます。 AWS Management Consoleを使用してバックアップから新しいサーバーを作成することはできません。

  • 新しいサーバーに、アカウント内および AWS リージョン内の既存のサーバーと同じ名前は使用できません。名前は、バックアップのソースとして使用した既存のサーバーとは異なる必要があります。

  • 既存のサーバーに接続されたノードは、新しいサーバーによって管理されません。次のいずれかを行う必要があります。

    • 複数の Chef Automate サーバーでノードを管理することはできないため、異なるノードをアタッチします。

    • 既存のサーバー (バックアップのソース) から新しいサーバーと新しいカスタムドメインエンドポイントにノードを移行します。ノードの移行方法の詳細については、Chef のドキュメントの「」を参照してください。

カスタムドメインを使用するようにサーバーを更新する

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

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

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

    aws opsworks-cm --region region name describe-backups
  3. create-server コマンドを実行して AWS OpsWorks for Chef Automate サーバーを作成します。

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

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

    • ステップ 1 のインスタンスプロファイル 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 つのパラメータすべてが必要です。これらのパラメータを使用するためのその他の要件については、 AWS OpsWorks CM API リファレンスCreateServerの「」を参照してください。

      • --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 を入力します。

    • --backup-id には、ステップ 2 でコピーしたバックアップの 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 --backup-id backup_ID

    次の例では、カスタムドメインを使用する 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 \ --backup-id MyChefServer-20191004122143125
  4. AWS OpsWorks for Chef Automate 新しいサーバーの作成には約 15 分かかります。create-server コマンドの出力で、Endpoint 属性の値をコピーします。次に例を示します。

    "Endpoint": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"

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

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

    #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
  6. オプションで、create-serverコマンド結果からスターターキットを抽出しなかった場合は、 AWS OpsWorks for Chef Automate コンソールのサーバーのプロパティページから新しいスターターキットをダウンロードできます。新しいスターターキットをダウンロードすると、Chef Automate ダッシュボードの管理者パスワードがリセットされます。

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

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

以下の資料も参照してください。