アプライアンスのアップグレード中のパケット損失を最小限に抑えるために、アプライアンスがオフラインであることを確認する必要があります。これには、高可用性Lambda関数を手動で有効にします。HA
Lambdaを手動で呼び出すことができるのは、AWS Edge展開を使用している場合のみです。アップグレードのためにアプライアンスを手動でオフラインにする手順は以下の通りです:
手順
- Cloud Watchアラームを無効にする:
- AWS CLIを実行するための正しい資格情報を持っていることを確認してください (必要に応じて、最初にaws-adfsにログインしてください)
- このコマンドを実行してください:
aws cloudwatch disable-alarm-actions --alarm-names "CloudWatch Alarm Name”
- "[ActionsEnabled]"フィールドが[false]であることを確認してください:
aws cloudwatch describe-alarms --alarm-names "CloudWatch Alarm Name" | grep "ActionsEnabled"
- HA Lambdaを手動で呼び出して、アプライアンスをバイパスするようにルートを変更します。
方法 1: AWS Management Console を使用
手順
- AWS Lambda Functionsページに移動し、[HALambdaFunction]をクリックして関数の詳細を確認してください。
- Code sourceセクションの下にあるオレンジ色の[TEST]ボタンをクリックして、テストイベントを構成します。
- [Create new test event]を選択します。選択されたイベントテンプレートは関係ありません。
- イベントに "HALambdaInvoke" という名前を付けてください。
- 元のテンプレートコードを削除し、次のコードを貼り付けてください:
{ "Records": [ { "Sns": { "Message": "{\"NewStateValue\": \"ALARM\",\"Trigger\": {\"Dimensions\": [{\"value\": \"i-0000000000000000\",\"name\": \"InstanceId\"}]}}" } } ] }
- "i-0000000000000000" をアプライアンスインスタンスIDに置き換えてください。
- オレンジ色の[TEST]ボタンをクリックしてLambda関数を実行します。
- 関数のログは、対応するAWS CloudWatchログGroupにあります。(ログGroup名はLambda関数名と同じである必要があります。)
注意
アプライアンスを再度オンラインにするには、上記の手順を繰り返し、文字列 "ALARM" を "OK" に置き換えてください。
方法2: AWSコマンドラインインターフェイスを介して呼び出す
手順
- AWS CLIコマンドを実行するための適切な資格情報を持っていることを確認してください (必要に応じてaws-adfsログイン)。
aws lambda invoke \ --function-name My-HALambdaFunction-Name \ --invocation-type Event \ --payload '{"Records": [{"Sns": {"Message": "{\"NewStateValue\": \"ALARM\",\"Trigger\": {\"Dimensions\": [{\"value\": \"i-0000000000000000\",\"name\": \"InstanceId\"}]}}"}}]}' \ response.json
- "My-HALambdaFunction-Name" を完全な[HALambdaFunction]名に置き換えてください。
- "i-0000000000000000" をアプライアンスインスタンスIDに置き換えてください。
- コマンドに必要なパラメータである "response.json" には、有用な情報が含まれていません。
- 関数のログは、対応するAWS CloudWatchログGroupにあります。(ログGroup名はLambda関数名と同じである必要があります。)
- アップグレードをクリックします。アップグレードプロセスが完了するまで待ちます。Network Securityアプライアンスページで、アプライアンスのVersion列に「最新」と表示されるはずです。
- 以下の手順に従ってCloudWatchアラームを再度有効にしてください:
- このコマンドを実行してください:
aws cloudwatch enable-alarm-actions --alarm-names"CloudWatch Alarm Name”
- "[ActionsEnabled]"フィールドが[true]であることを確認してください:
aws cloudwatch describe-alarms --alarm-names "CloudWatch Alarm Name" | grep "ActionsEnabled"
- このコマンドを実行してください:
- アプライアンスを再度オンラインにするには、上記の手順を繰り返し、文字列 "ALARM" を "OK" に置き換えてください。