LoginSignup
1
0

AWS CloudFormationを使ってALBアクセスログの自動収集を設定する方法

Posted at

はじめに

アプリケーションの運用において、ログの収集・分析は不可欠です。
特にAWSのApplication Load Balancer(ALB)を使用している場合、アクセスログを有効にすることで、トラフィックパターンの分析、パフォーマンスの監視、セキュリティの強化などが可能になります。
この記事では、AWS CloudFormationを使用して、ALBのアクセスログを効率的に収集・保存するための設定を自動化する方法を紹介します。

前提条件

この手順を実施する前に、次の条件が満たされている必要があります。

  • ALB(Application Load Balancer)が設定され、動作している
  • AWS CLIがインストールされ、適切に設定されている(AWS CLIの場合)

作成リソース

  • S3バケット: ALBのアクセスログを保存します
  • S3バケットポリシー: ALBからのログファイルの書き込みを許可します

CloudFormationテンプレート

AWSTemplateFormatVersion: '2010-09-09'
Description: Template to create S3 bucket for ALB Access Logs and enable logging

Resources:
  AccessLogsBucket:
    Type: 'AWS::S3::Bucket'
    Properties:
      AccessControl: LogDeliveryWrite
      BucketName: !Join [ "-", [ "alblog", !Ref "AWS::AccountId" ] ]

  BucketPolicy:
    Type: 'AWS::S3::BucketPolicy'
    Properties:
      Bucket: !Ref AccessLogsBucket
      PolicyDocument:
        Statement:
          - Action: 's3:PutObject'
            Effect: Allow
            Resource: !Sub 'arn:aws:s3:::${AccessLogsBucket}/*'
            Principal:
              Service: 'elasticloadbalancing.amazonaws.com'
          - Action: 's3:GetBucketAcl'
            Effect: Allow
            Resource: !GetAtt AccessLogsBucket.Arn
            Principal:
              Service: 'elasticloadbalancing.amazonaws.com'

デプロイ方法(AWSマネージメントコンソールの場合)

  1. CloudFormationで、保存したalb-access-logs.ymlファイルをアップロードします
  2. 待つ

デプロイ方法(AWS CLIの場合)

  1. 上記のテンプレートをalb-access-logs.ymlとして保存します
  2. AWS CLIを使用して、以下のコマンドでCloudFormationスタックをデプロイします
aws cloudformation create-stack --stack-name alb-access-logs-stack --template-body file://alb-access-logs.yml --capabilities CAPABILITY_IAM

アクセスログ有効化

参考文献
https://dev.classmethod.jp/articles/alb_accesslog_enable/

デプロイ後の確認

  • S3バケットが正しく作成されたことを確認します
  • S3バケットポリシーが適用され、ALBからのログがバケットに保存されていることを確認します

まとめ

CloudFormationを使用することで、ALBのアクセスログ収集・保存設定を効率的に自動化できます。
この方法により、アプリケーションの監視とセキュリティが強化され、運用の効率性が向上します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0