AWS OpsWorks for Chef Automate でのシステムメンテナンス - AWS OpsWorks

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

AWS OpsWorks for Chef Automate でのシステムメンテナンス

システムメンテナンスが必須になっていると、AWS OpsWorks for Chef Automate サーバーで Chef Server や Chef Automate Server に常に最新のマイナーバージョン (セキュリティアップデートを含む) で実行できます。システムメンテナンスは週に 1 回以上実行する必要があります。AWS CLI では、必要に応じて自動メンテナンスを毎日実行するようにスケジュールできます。スケジュールされたシステムメンテナンスとは別に、AWS CLI を使用してオンデマンドでシステムメンテナンスを実行することもできます。

Chef ソフトウェアの新しいマイナーバージョンが使用可能になった場合、システムメンテナンスでは、それらが AWS のテストをパスし次第、サーバー上の Chef Automate および Chef Server のマイナーバージョンを自動的に更新するように設計されています。AWS では、Chef のアップグレードは本稼働で正常に使用でき、お客様の既存の環境を害さないかどうかを検証するために、広範なテストを実行します。そのため、Chef ソフトウェアがリリースされてから、既存のアプリケーションに適用できるようになるまで、時間差が生じる場合があります。OpsWorksChef Automate サーバーのため。Chef ソフトウェアの使用可能なマイナーバージョンをオンデマンドで更新するには、このトピックの「オンデマンドでのシステムメンテナンスの開始」を参照してください。

システムメンテナンスでは、メンテナンスプロセスの一部として保存したバックアップから新しいインスタンスを起動できるため、定期的なメンテナンスで見逃された Amazon EC2 インスタンスのパフォーマンス低下や障害のリスクを軽減できます。

重要

システムメンテナンスでは、AWS OpsWorks for Chef Automate サーバーに追加したすべてのファイルやカスタム設定が削除されます。失われた設定やファイルを回復する詳しい方法については、このトピックの「メンテナンス後のカスタム設定およびカスタムファイルの復旧」を参照してください。

ノードが AWS OpsWorks 認証機関を信頼することを確認する

注記

AWS OpsWorks for Chef Automate サーバーでカスタムドメインと証明書を使用している場合は、このセクションの手順は不要です。

AWS OpsWorks for Chef Automate サーバーで管理しているノードは、証明書を使用してサーバー認証を行う必要があります。AWS OpsWorks は、システムメンテナンスに伴ってサーバーインスタンスを置き換え、AWS OpsWorks 認証機関 (CA) を通じて新しい証明書を再生成します。メンテナンス後に管理対象ノードとの通信を自動的に回復するには、スターターキットに同梱されていて AWS OpsWorks for Chef Automate がサポートするリージョンでホストされている AWS OpsWorks CA をノードが信頼する必要があります。AWS OpsWorks CA を使用してノードとサーバーとの間に信頼を確立すると、メンテナンス後にノードが新しいサーバーインスタンスに再接続されます。「userdata」で説明している EC2 の AWS OpsWorks for Chef Automate でのノードの自動的な追加 スクリプトを使用して EC2 ノードを追加する場合は、AWS OpsWorks CA を信頼するようにノードがすでに設定されています。

  • Linux ベースのノードの場合、CA の S3 バケットの場所は https://opsworks-cm-${REGION}-prod-default-assets.s3.amazonaws.com/misc/opsworks-cm-ca-2020-root.pem です。AWS OpsWorks の信頼済み CA はパス /etc/chef/opsworks-cm-ca-2020-root.pem に保存されている必要があります。

  • Windows ベースのノードの場合、CA の S3 バケットの場所は https://opsworks-cm-$env:AWS_REGION-prod-default-assets.s3.amazonaws.com/misc/opsworks-cm-ca-2020-root.pem です。AWS OpsWorks CA は、ルート Chef フォルダ (C:\chef\opsworks-cm-ca-2020-root.pem など) に保存されている必要があります。

この 2 つのパスで region 変数は次のいずれかに解決されます。

  • us-east-2

  • us-east-1

  • us-west-1

  • us-west-2

  • ap-northeast-1

  • ap-southeast-1

  • ap-southeast-2

  • eu-central-1

  • eu-west-1

システムメンテナンスの設定

新しい AWS OpsWorks for Chef Automate サーバーの作成時に、システムメンテナンスを開始する曜日と時刻を協定世界時 (UTC) で設定できます。メンテナンスは、指定した時間中に開始します。システムメンテナンス中はサーバーがオフラインになることを想定する必要があるため、通常の営業時間内でサーバー需要が低い時刻を選択します。メンテナンスの進行中は、サーバーのステータスが UNDER_MAINTENANCE になります。

既存の AWS OpsWorks for Chef Automate サーバーのシステムメンテナンス設定を変更することもできます。その場合は、次のスクリーンショットに示すように、サーバーの [Settings] ページで [System maintenance] セクションの設定を変更します。


            Chef Automate サーバー設定の [][System maintenance]セクションに追加します。

[System maintenance] セクションで、システムメンテナンスを開始する日付と時刻を設定します。

AWS CLI によるシステムメンテナンスの設定

システムメンテナンスの自動開始時刻を AWS CLI で設定することもできます。AWS CLI では、必要に応じて、曜日を示す 3 文字のプレフィックスを省略することで、毎日の自動メンテナンスを設定できます。

create-server コマンドで、サーバーインスタンスを作成する要件 (インスタンスタイプ、インスタンスプロファイル ARN、サービスロール ARN など) を指定した後で、--preferred-maintenance-window パラメータをコマンドに追加します。次の create-server の例では、--preferred-maintenance-windowMon:08:00 に設定しています。これで、毎月曜の午前 8 時 0 分 (UTC) にメンテナンスが開始されます 。

aws opsworks-cm create-server --engine "Chef" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "t2.medium" --key-pair "amazon-test" --service-role-arn "arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role" --preferred-maintenance-window "Mon:08:00"

update-server コマンドでは、必要に応じて、--preferred-maintenance-window の値のみを更新できます。次の例では、メンテナンス時刻を金曜の午後 6 時 15 分 (UTC) に設定しています 。

aws opsworks-cm update-server --server-name "shiny-kitchen" --preferred-maintenance-window "Fri:18:15"

メンテナンス時間の開始時刻を毎日午後 6 時 15 分 (UTC) に変更するには、次の例に示すように、曜日を表す 3 文字のプレフィックスを省略します。

aws opsworks-cm update-server --server-name "shiny-kitchen" --preferred-maintenance-window "18:15"

AWS CLI を使用してシステムメンテナンス時間を設定する方法の詳細については、「create-server」と「update-server」を参照してください。

オンデマンドでのシステムメンテナンスの開始

毎週または毎日の自動メンテナンスの設定とは別に、オンデマンドでシステムメンテナンスを開始するには、次の AWS CLI コマンドを実行します。AWS Management Console でオンデマンドメンテナンスを開始することはできません。

aws opsworks-cm start-maintenance --server-name server_name

このコマンドの詳細については、「start-maintenance」を参照してください。

メンテナンス後のカスタム設定およびカスタムファイルの復旧

システムメンテナンスでは、AWS OpsWorks for Chef Automate サーバーに追加したカスタムファイルやカスタム設定が削除される場合があります。

メンテナンスの実行後、を使用して追加したファイルや設定が Chef サーバーに見つからない場合は、RunCommandSSH では、Amazon Machine Image (AMI) を使用して、新しい Amazon EC2 インスタンスを起動できます。サーバーのメンテナンス前の設定に基づいて構築された AMI を利用できます。

新しいインスタンスは、メンテナンス前の Chef サーバーと同じ状態であり、見つからないファイルや設定が含まれています。

重要

新しいインスタンスを使用してサーバーを復元することはできません。インスタンスを Chef サーバーとして実行することはできません。インスタンスは、ファイルや設定の復旧にのみ使用できます。

AMI から EC2 インスタンスを起動するには、Amazon EC2 コンソールで、を起動するウィザード、マイ AMIをクリックし、サーバー名を持つ AMI を選択します。Amazon EC2 ウィザードの手順に従います。他の任意のインスタンスを起動する手順と同じ手順に従います。