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

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

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

重要

なぜなら、AWS OpsWorks Chef Automate はもはや新規顧客を受け入れていないからです。2024 年 5 月 5 日までは、既存のお客様には影響はありません。その時点でサービスは利用できなくなります。既存のお客様は、 Chef SaaS または代替ソリューションに移行することをお勧めします。詳細については、「AWS OpsWorks Chef Automate のサポート終了に関するよくある質問」を参照してください。

このセクションでは、サーバーのバックアップを使用して新しいサーバーを作成し、カスタムドメインと証明書を使用するために既存の 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 Command Line Interface User Guide」(AWS コマンドラインインターフェイスのユーザーガイド) の「installing the」AWS CLI (をインストールする) を参照してください。

制限事項

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

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

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

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

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

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

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

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

  1. create-server コマンドで指定できるサービスロールまたはインスタンスプロファイルの ARN がない場合は、「AWS CLI を使用して Chef Automate サーバーを作成する」のステップ 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 サーバーを設定する」に進みます。

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