【发布时间】:2021-02-05 10:32:50
【问题描述】:
我们一直在使用 Elastic Beanstalk 在我们公司的 Tomcat 上运行我们的 Java (8) 应用程序,没有任何问题。现在我们决定继续使用 Java 11。我们使用 CloudFormation 设置环境,就像我们之前为 Java 8 应用程序所做的那样,但现在我们正在使用这个解决方案堆栈:'64bit Amazon Linux 2 v4.1.1 running Tomcat 8.5 Corretto 11' (也尝试过 v4.1.2)。一切正常,但看起来请求日志功能在弹性 beantalk 中不再起作用(最后 100 行和完整日志)。我还向应用程序服务器添加了一个密钥对,以检查 ec2 服务器上 /var/log/tomcat/ 上的日志,但我们找不到 catalina.out 文件(只有 catalina 文件的日期如下:catalina.2020-10 -14.log)。这些文件仅包含我们使用的库的日志,但不包含我们发送到标准系统输出的日志。我们有时与之合作的另一家公司在此解决方案堆栈上遇到了同样的问题。
有没有人在这个解决方案堆栈上遇到过同样的问题并找到了解决方法?
这是我们的 CloudFormation 配置 (YAML):
Application:
Type: AWS::ElasticBeanstalk::Application
Properties:
Description: Application backend
ApplicationVersion:
Type: AWS::ElasticBeanstalk::ApplicationVersion
Properties:
ApplicationName:
Ref: Application
Description: !Ref AppVersion
SourceBundle:
S3Bucket: !Ref BeanstalkSourceS3
S3Key: !Ref BuildFileName
AppEC2ServiceRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- elasticbeanstalk.amazonaws.com
Action:
- sts:AssumeRole
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkEnhancedHealth"
- "arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkService"
AppEnvironment:
Type: AWS::ElasticBeanstalk::Environment
Properties:
ApplicationName:
Ref: Application
OptionSettings:
- Namespace: aws:autoscaling:launchconfiguration
OptionName: InstanceType
Value: !Ref EC2InstanceSize
- Namespace: aws:elasticbeanstalk:environment
OptionName: EnvironmentType
Value: SingleInstance
- Namespace: aws:autoscaling:launchconfiguration
OptionName: IamInstanceProfile
Value: !Ref AppInstanceProfile
- Namespace: aws:autoscaling:launchconfiguration
OptionName: EC2KeyName
Value: CompanyTestKey
- Namespace: aws:ec2:vpc
OptionName: VPCId
Value: !Ref Vpc
- Namespace: aws:ec2:vpc
OptionName: Subnets
Value: !Join [",",https://forums.aws.amazon.com/
- Namespace: aws:ec2:vpc
OptionName: AssociatePublicIpAddress
Value: true
- Namespace: aws:elasticbeanstalk:environment
OptionName: ServiceRole
Value: !Ref AppEC2ServiceRole
- Namespace: aws:elasticbeanstalk:cloudwatch:logs
OptionName: StreamLogs
Value: true
- Namespace: aws:elasticbeanstalk:cloudwatch:logs
OptionName: RetentionInDays
Value: 14
SolutionStackName: 64bit Amazon Linux 2 v4.1.1 running Tomcat 8.5 Corretto 11
VersionLabel:
Ref: ApplicationVersion
Tags:
- Key: group
Value: !Ref ResourceGroupTagValue
【问题讨论】:
标签: java amazon-web-services tomcat amazon-elastic-beanstalk