Network Securityは、Virtual Applianceの現在の状態に関する情報を含むCloudWatchメトリクスデータを公開する機能を提供します。このメトリクスデータを使用して、ネットワーク環境で高可用性を有効にするためのCloudWatchアラームを設定および構成します。
CloudWatchアラームを設定する
手順
- SNSダッシュボードに移動します。
- [Topics] → [Create topic]をクリックします。以下に説明する2つのSNSトピックを作成します。SNSの詳細はこちら。
-
[SNS topic for instance failures:]はCloudWatchアラームからインスタンス障害のNotificationsを受信します。
-
[SNS topic for missing data:] インスタンスのデータ欠落に関するSNSトピック。
-
- CloudWatchダッシュボードに移動し、[Alarms] → [Create Alarm]をクリックします。このアラームは、インスタンスのFailureのNotificationsをステップ2で作成されたSNSトピックに送信します。
- [Select metric]をクリックしてください。
- Custom Namespacesの下で、[Network Security]を選択し、次に[InstanceID]を選択し、インスタンスIDのチェックボックスをクリックします。
- [Select metric]をクリックし、次のパラメーターを入力してください。
-
[Statistic:]最大
-
[Period:] を 追加のNetwork Security設定を構成するで選択した
cloudwatch-health period
と同じ時間に設定します。 -
条件:
- [Threshold type:] スタティック
- [Whenever InstanceHealth is...:] 以上
- [than...:] 3
- 追加設定:
- [Datapoints to alarm:] 1 件中 1 件
- [Missing data treatment:] 欠損データを欠損として扱う
-
- [Next]をクリックしてください。
- Configure actionsページで、次のNotificationsを設定してください。
-
通知アクション:
- [Whenever this alarm state is...:]のアラーム
- [Select an existing SNS topic:] ステップ2で作成されたインスタンス障害のSNSトピックを選択します。
-
通知アクション:
- [Whenever this alarm state is...:] OK
- [Select an existing SNS topic:] ステップ2で作成されたインスタンス障害のSNSトピックを選択します。
-
通知アクション:
- [Whenever this alarm state is...:]のデータが不十分です
- [Select an existing SNS topic:] ステップ2で作成されたインスタンスの欠落データのためにSNSトピックを選択します。
-
EC2アクション:
- [Whenever this alarm state is...:]のアラーム
- [Take this action:] このインスタンスを再起動
-
- [Next]をクリックしてください。
- アラームの名前と説明を入力し、[Next]をクリックしてください。
- Previewページに入力されたアラーム情報を確認し、[Create alarm]をクリックしてください。
Lambda関数を作成
![]() |
注意2023年9月5日以前にSecurity VPCスタックを作成した場合、AWS Lambda関数のPythonランタイムをバージョン3.10に、Node.jsランタイムをバージョン20.xに手動で更新することをお勧めします。
|
AWSコンソールでPythonおよびNode.jsのランタイムバージョンを手動で更新するには:
手順
- Lambdaサービスページに移動します。
- リストからLambda関数を選択してください。
- 実行時設定までスクロールダウンし、[Edit]をクリックします。
- 利用可能なランタイムのドロップダウンメニューからPython 3.10とNode.js 20.xを選択し、[保存]をクリックします。検査を回避するために、以下の手順でLambda関数を使用します。すべてのインスタンスに対して1つのLambda関数のみが必要です。
- IAMダッシュボードに移動し、[Policies] → [Create policy]をクリックします。
- [Select a service below]の下に[Lambda]を入力してください。
- [Manual actions]の下で、[All Lambda actions]を選択します。
- JSONタブをクリックし、次に以下の権限をコピーして貼り付けてください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "LambdaLogging", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Sid": "ReplaceRoutes", "Effect": "Allow", "Action": [ "ec2:ReplaceRoute" ], "Resource": "*" } ] }
- [Review Policy]をクリックし、[Create policy]をクリックする前に次のパラメータを入力してください。
- [Name:] ec2-ReplaceRoute
- [Description:]は検査を回避するためにルートを置き換えます
- [Roles] → [Create roles] をクリックし、このRoleを使用するサービスに [Lambda] を選択します。
- [Attach permissions policies]の[ec2-ReplaceRoute]ポリシーを選択してください。
- ロール名に[BypassInspection_role]を入力し、[Create role]をクリックしてください。
- Lambdaダッシュボードに移動し、[Create function]をクリックしてください。
- [Create function]ページで、次のパラメータを入力してください。
- [Function name:] 説明的な名前を入力してください。
- [Runtime:] Python 3.10
- [Permissions:] [BypassInspection_role]を選択してください。
- [Create function]をクリックしてください。
- Lambda関数を作成した後、次の設定変更を行ってください。[Function code]
- [Code entry type:] コードをインラインで編集します。
- [Handler:] lambda_function.change_routes
- [Function code:] 展開オプションに応じて、Lambda関数ウィンドウにFunction codeをコピーして貼り付けます。各展開オプションのLambda関数コードの例は以下をご覧ください。
[Basic settings]- [Memory:] 必要に応じてアップグレードしてください。
- [Timeout:] タイムアウト値は1分のように高めの値を使用することをお勧めします。選択するタイムアウト値はネットワーク内のコンポーネントによって異なる場合があります。例えば、複数のワークロードがTransit Gatewayに接続されている場合は、タイムアウト値を増やしてください。
- SNSダッシュボードに移動します。
- [Topics]をクリックし、CloudWatchアラームの設定で作成したSNSトピックの名前をクリックします。
- サブスクリプションの下で、[Create subscription]をクリックします。
- 次のパラメータを入力してください。
- [Topic ARN:] SNSトピックのID。
- [Protocol:] AWS Lambda
- [Endpoint:] あなたが作成したLambda関数。
- [Create subscription]をクリックして、Lambda関数をSNSトピックにサブスクライブします。
バイパス検査のためのLambda関数の例
Lambda関数コードの例を使用して、Network SecurityインスタンスをCloudWatchアラームに設定します。
- [SNS topic for instance missing data:] この例については、トレンドマイクロの担当者にお問い合わせください。
- [HA Lambda:] この例については、トレンドマイクロの担当者にお問い合わせください。
START OF CODE TO CHANGE
とEND OF CODE TO CHANGE
の間のコードを編集します。インスタンスID、ルートテーブルID、VPC ID、ゲートウェイIDのパラメータをコードに入力します。