AWS OpsWorks for Chef Automate サーバーを Chef Automate 2 にアップグレードする - AWS OpsWorks

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

AWS OpsWorks for Chef Automate サーバーを Chef Automate 2 にアップグレードする

重要

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

Chef Automate 2 にアップグレードするための前提条件

開始する前に、Chef Automate 2 で新しく追加される機能と、Chef Automate 2 でサポートされない機能を確認してください。Chef Automate 2 の新しい機能およびサポートされない機能については、Chef ウェブサイトにある Chef Automate 2 のドキュメントを参照してください。

Chef Automate 1 を実行しているサーバーがアップグレード対象となるには、2019 年 11 月 1 日以降に少なくとも 1 つのメンテナンスが正常に実行されている必要があります。

AWS OpsWorks for Chef Automate サーバーでのすべてのメンテナンス操作に共通して、サーバーはアップグレード中にオフラインになります。アップグレードプロセス中に最大 3 時間のダウンタイムを予定する必要があります。

Chef Automate ダッシュボードウェブサイト用として、このサーバーのサインイン認証情報が必要です。アップグレードが完了したら、Chef Automate ダッシュボードにサインインし、ノードおよび設定情報が変更されていないことを確認します。

重要

AWS OpsWorks for Chef Automate サーバーを Chef Automate 2 にアップグレードする準備が整ったら、ここで説明する手順だけに従ってアップグレードします。AWS OpsWorks for Chef Automate では、バックアップの作成など、多くのアップグレードプロセスが自動化されるため、Chef ウェブサイトのアップグレード手順には従わないでください。

アップグレードプロセスについて

アップグレードプロセスでは、アップグレードの開始前と終了後にサーバーがバックアップされます。次のバックアップが作成されます。

  • Chef Automate 1 (バージョン 12.17.33) を実行しているサーバーのバックアップ。

  • アップグレードの終了後に Chef Automate 2 (バージョン 2019-08) を実行しているサーバーのバックアップ。

アップグレードプロセスでは、サーバーで Chef Automate 1 を実行したときに使用していた Amazon EC2 インスタンスが終了します。Chef Automate 2 サーバーを実行するための新しいインスタンスが作成されます。

Chef Automate 2 にアップグレードする (コンソール)

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

  2. 左側のナビゲーションペインで、[AWS OpsWorks for Chef Automate] を選択します。

  3. サーバーを選択して、そのプロパティページを表示します。ページの上部にある青いバナーは、サーバーが Chef Automate 2 へのアップグレード対象であるかどうかを示します。

    注記

    Chef Automate 1 を実行しているサーバーがアップグレード対象となるには、2019 年 11 月 1 日以降に少なくとも 1 つのメンテナンスが正常に実行されている必要があります。

  4. サーバーがアップグレード対象である場合は、[Start upgrade] を選択します。

  5. アップグレードには最大 3 時間かかります。アップグレードプロセス中は、プロパティページにサーバーのステータスとして [Under maintenance] と表示されます。

  6. アップグレードが完了すると、プロパティページにメッセージとして、[Successfully upgraded to Automate 2] と [Maintenance completed successfully] の 2 つが表示されます。サーバーのステータスは [HEALTHY] となります。

  7. 既存の認証情報を使用して Chef Automate ダッシュボードにサインインし、ノードが正しくレポートすることを確認します。

Chef Automate 2 にアップグレードする (CLI)

  1. (オプション) どの AWS OpsWorks for Chef Automate サーバーがアップグレード対象であるか不明な場合は、次のコマンドを実行します。デフォルトの AWS リージョンとは異なる AWS リージョン内の --region サーバーを一覧表示する場合は、AWS OpsWorks for Chef Automate パラメータを追加してください。

    aws opsworks-cm describe-servers

    表示された結果で、true 属性の値が CHEF_MAJOR_UPGRADE_AVAILABLE であるものを探します。これは、サーバーが Chef Automate 2 へのアップグレード対象であることを示します。アップグレード対象である AWS OpsWorks for Chef Automate サーバーの名前を書き留めます。

  2. 次のコマンドを実行し、server_name を AWS OpsWorks for Chef Automate サーバーの名前に置き換えます。定期的なシステムメンテナンスを実行せずに Chef Automate 2 にアップグレードする場合は、コマンドに示すように CHEF_MAJOR_UPGRADE エンジン属性を追加します。ターゲットサーバーがデフォルトの AWS リージョンにない場合は、--region パラメータを追加します。1 つのコマンドでアップグレードできるサーバーは 1 つだけです。

    aws opsworks-cm start-maintenance --server-name server_name --engine-attributes Name=CHEF_MAJOR_UPGRADE,Value=true --region region

    何らかの理由で AWS OpsWorks for Chef Automate がサーバーをアップグレードできない場合、このコマンドは検証例外になります。

  3. アップグレードには最大 3 時間かかります。次のコマンドを実行すると、定期的にアップグレードのステータスを確認できます。

    aws opsworks-cm describe-servers --server-name server_name

    表示された結果で、Status 値を探します。StatusUNDER_MAINTENANCE である場合は、アップグレードがまだ進行中であることを示します。アップグレードに成功すると、次のようなメッセージが返されます。

    2019/10/24 00:27:56 UTC Successfully upgraded to Automate 2. 2019/10/23 23:50:38 UTC Upgrading Chef server from Automate 1 to Automate 2

    アップグレードに失敗すると、AWS OpsWorks for Chef Automate はサーバーを自動的に Chef Automate 1 にロールバックします。

    アップグレードには成功したが、サーバーがアップグレード前と同じように動作しない場合 (たとえば、マネージドノードがレポートしない場合) は、サーバーを手動でロールバックできます。手動のロールバックについては、「AWS OpsWorks for Chef Automate サーバーを Chef Automate 1 にロールバックする (CLI)」を参照してください。

AWS OpsWorks for Chef Automate サーバーを Chef Automate 1 にロールバックする (CLI)

アップグレードプロセスが失敗した場合、AWS OpsWorks for Chef Automate はサーバーを自動的に Chef Automate 1 にロールバックします。アップグレードには成功したが、サーバーがアップグレード前と同じように動作しない場合は、AWS OpsWorks for Chef Automate を使用して、AWS CLI サーバーを Chef Automate 1 に手動でロールバックできます。

  1. 次のコマンドを実行して、アップグレードの試行前にサーバーで実行された最後のバックアップの BackupId を表示します。サーバーがデフォルトの AWS リージョンとは異なる AWS リージョンにある場合は、--region パラメータを追加します。

    aws opsworks-cm describe-backups server_name

    バックアップ ID は、ServerName-yyyyMMddHHmmssSSS という形式になっています。表示された結果で、次の Chef Automate 1 のプロパティを探します。

    "Engine": "Chef" "EngineVersion": "12.17.33"
  2. ステップ 1 で返されたバックアップ ID を --backup-id の値として使用し、次のコマンドを実行します。

    aws opsworks-cm restore-server --server-name server_name --backup-id ServerName-yyyyMMddHHmmssSSS

    サーバーに保存したデータの量に応じて、サーバーの復元には 20 分~3 時間ほどかかります。復元中のサーバーのステータスは RESTORING になります。このステータスは、AWS Management Console のサーバーのプロパティページに表示され、describe-servers コマンドの結果で返されます。

  3. 復元が完了すると、コンソールに [Restore completed successfully] というメッセージが表示されます。AWS OpsWorks for Chef Automate サーバーがオンラインになり、アップグレードプロセスの開始前と同じ状態になります。

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