0

저는 Terraform을 사용하여 ElasticBeanstalk 응용 프로그램을 준비 중입니다. EC2 인스턴스는 자동 확장 그룹에 배치되고 (클래식) Elastic Load Balancer를 통해 액세스됩니다.클래식 ELB에 대한 액세스 로그를 저장하도록 ElasticBeanstalk을 구성하는 방법

이제 S3에서로드 밸런서에 대한 로그 액세스를 저장해야합니다. 웹 콘솔 (EC2 /로드 밸런서/설명/속성/액세스 로그)에서 수동으로 수행 할 수 있습니다. 또한 Terraform은 aws_elb에 대한 액세스 로그를 구성 할 수 있습니다 (ElasticBeanstalk가 아닌 경우). 그러나 ElasticBeanstalk에서는 응용 프로그램 부하 분산 장치에 대해서만 클래식 부하 분산 장치 (see docs)에 대한 액세스 로그를 구성 할 수 없습니다.

질문 : 어떻게 클래식로드 밸런서에 대한 액세스 로그를 저장하도록 ElasticBeanstalk를 구성 할 수 있습니까?

나는 밸런서 유형을 바꿀 수 있다는 것을 알고 있지만 나는 그것을 피하고 싶습니다.

답변

1

배포 번들의 루트에 .ebextensions 디렉토리를 만들고 구성 파일을 저장하여이 작업을 수행 할 수 있습니다. 여기에 로그 5 분마다 저장 ELB를 구성 우리가 사용하는 파일입니다 :

Resources: 
    AWSEBLoadBalancer: 
    Type: AWS::ElasticLoadBalancing::LoadBalancer 
    Properties: 
     AccessLoggingPolicy: 
     EmitInterval: 5 
     Enabled: true 
     S3BucketName: "example-elb-logs" 
     S3BucketPrefix: { "Fn::Sub" : "example/${AWSEBEnvironmentName}" } 

당신 말이 맞아 "이것은 CloudFormation 템플릿처럼 많이 보인다"생각하는 경우 : 콩 줄기가에 조각을 추가 이 디렉토리를 기본 템플릿에 추가하십시오. .ebextensions에 대한 자세한 내용은

: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html