Network Securityは、Virtual Applianceの現在の状態に関する情報を含むCloudWatchメトリクスデータを公開する機能を提供します。このメトリクスデータを使用して、ネットワーク環境で高可用性を有効にするためのCloudWatchアラームを設定および構成します。

CloudWatchアラームを設定する 親トピック

手順

  1. SNSダッシュボードに移動します。
  2. [Topics][Create topic]をクリックします。以下に説明する2つのSNSトピックを作成します。SNSの詳細はこちら
    • [SNS topic for instance failures:]はCloudWatchアラームからインスタンス障害のNotificationsを受信します。
    • [SNS topic for missing data:] インスタンスのデータ欠落に関するSNSトピック。
  3. CloudWatchダッシュボードに移動し、[Alarms][Create Alarm]をクリックします。このアラームは、インスタンスのFailureのNotificationsをステップ2で作成されたSNSトピックに送信します。
  4. [Select metric]をクリックしてください。
  5. Custom Namespacesの下で、[Network Security]を選択し、次に[InstanceID]を選択し、インスタンスIDのチェックボックスをクリックします。
  6. [Select metric]をクリックし、次のパラメーターを入力してください。
    • [Statistic:]最大
    • [Period:]追加のNetwork Security設定を構成するで選択したcloudwatch-health periodと同じ時間に設定します。
    • 条件:
      • [Threshold type:] スタティック
      • [Whenever InstanceHealth is...:] 以上
      • [than...:] 3
    • 追加設定:
      • [Datapoints to alarm:] 1 件中 1 件
      • [Missing data treatment:] 欠損データを欠損として扱う
  7. [Next]をクリックしてください。
  8. 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:] このインスタンスを再起動
  9. [Next]をクリックしてください。
  10. アラームの名前と説明を入力し、[Next]をクリックしてください。
  11. Previewページに入力されたアラーム情報を確認し、[Create alarm]をクリックしてください。

Lambda関数を作成 親トピック

注意
注意
2023年9月5日以前にSecurity VPCスタックを作成した場合、AWS Lambda関数のPythonランタイムをバージョン3.10に、Node.jsランタイムをバージョン20.xに手動で更新することをお勧めします。
AWSコンソールでPythonおよびNode.jsのランタイムバージョンを手動で更新するには:

手順

  1. Lambdaサービスページに移動します。
  2. リストからLambda関数を選択してください。
  3. 実行時設定までスクロールダウンし、[Edit]をクリックします。
  4. 利用可能なランタイムのドロップダウンメニューからPython 3.10とNode.js 20.xを選択し、[保存]をクリックします。
    検査を回避するために、以下の手順でLambda関数を使用します。すべてのインスタンスに対して1つのLambda関数のみが必要です。
  5. IAMダッシュボードに移動し、[Policies][Create policy]をクリックします。
  6. [Select a service below]の下に[Lambda]を入力してください。
  7. [Manual actions]の下で、[All Lambda actions]を選択します。
  8. 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": "*"
            }
          ]
        }
    
  9. [Review Policy]をクリックし、[Create policy]をクリックする前に次のパラメータを入力してください。
    • [Name:] ec2-ReplaceRoute
    • [Description:]は検査を回避するためにルートを置き換えます
  10. [Roles][Create roles] をクリックし、このRoleを使用するサービスに [Lambda] を選択します。
  11. [Attach permissions policies][ec2-ReplaceRoute]ポリシーを選択してください。
  12. ロール名に[BypassInspection_role]を入力し、[Create role]をクリックしてください。
  13. Lambdaダッシュボードに移動し、[Create function]をクリックしてください。
  14. [Create function]ページで、次のパラメータを入力してください。
    • [Function name:] 説明的な名前を入力してください。
    • [Runtime:] Python 3.10
    • [Permissions:] [BypassInspection_role]を選択してください。
  15. [Create function]をクリックしてください。
  16. Lambda関数を作成した後、次の設定変更を行ってください。
    [Function code]
    • [Code entry type:] コードをインラインで編集します。
    • [Handler:] lambda_function.change_routes
    • [Function code:] 展開オプションに応じて、Lambda関数ウィンドウにFunction codeをコピーして貼り付けます。各展開オプションのLambda関数コードの例は以下をご覧ください。
    [Basic settings]
    • [Memory:] 必要に応じてアップグレードしてください。
    • [Timeout:] タイムアウト値は1分のように高めの値を使用することをお勧めします。選択するタイムアウト値はネットワーク内のコンポーネントによって異なる場合があります。例えば、複数のワークロードがTransit Gatewayに接続されている場合は、タイムアウト値を増やしてください。
  17. SNSダッシュボードに移動します。
  18. [Topics]をクリックし、CloudWatchアラームの設定で作成したSNSトピックの名前をクリックします。
  19. サブスクリプションの下で、[Create subscription]をクリックします。
  20. 次のパラメータを入力してください。
    • [Topic ARN:] SNSトピックのID。
    • [Protocol:] AWS Lambda
    • [Endpoint:] あなたが作成したLambda関数。
  21. [Create subscription]をクリックして、Lambda関数をSNSトピックにサブスクライブします。

バイパス検査のためのLambda関数の例 親トピック

Lambda関数コードの例を使用して、Network SecurityインスタンスをCloudWatchアラームに設定します。
  • [SNS topic for instance missing data:] この例については、トレンドマイクロの担当者にお問い合わせください。
  • [HA Lambda:] この例については、トレンドマイクロの担当者にお問い合わせください。
START OF CODE TO CHANGEEND OF CODE TO CHANGEの間のコードを編集します。インスタンスID、ルートテーブルID、VPC ID、ゲートウェイIDのパラメータをコードに入力します。