gpt4 book ai didi

php - Beanstalk 上示例 PHP 应用程序的 AWS CloudFormation 模板失败

转载 作者:行者123 更新时间:2023-12-03 07:13:34 25 4
gpt4 key购买 nike

我正在将 PHP 应用程序部署到 ElasticBeanstalk。首先,我正在部署一个示例 PHP 应用程序。

这是我的模板。

---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'AWS CloudFormation Sample Template ElasticBeanstalk_PHP_Sample: Configure
and launch the AWS Elastic Beanstalk PHP sample application. **WARNING** This template
creates one or more Amazon EC2 instances. You will be billed for the AWS resources
used if you create a stack from this template.'
Parameters:
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the AWS Elastic
Beanstalk instance
Type: String
MinLength: '1'
MaxLength: '255'
AllowedPattern: "[\\x20-\\x7E]*"
ConstraintDescription: can contain only ASCII characters.
Resources:
webApplication:
Type: AWS::ElasticBeanstalk::Application
Properties:
Description: AWS Elastic Beanstalk PHP Sample Application
ApplicationVersions:
- VersionLabel: Initial Version
Description: Version 1.0
SourceBundle:
S3Bucket:
Fn::Join:
- "-"
- - elasticbeanstalk-samples
- Ref: AWS::Region
S3Key: php-sample.zip
ConfigurationTemplates:
- TemplateName: DefaultConfiguration
Description: Default Configuration Version 1.0 - with SSH access
SolutionStackName: 64bit Amazon Linux 2 v3.0.3 running PHP 7.3
OptionSettings:
- Namespace: aws:autoscaling:launchconfiguration
OptionName: EC2KeyName
Value:
Ref: KeyName
testEnvironment:
Type: AWS::ElasticBeanstalk::Environment
Properties:
ApplicationName:
Ref: webApplication
Description: AWS Elastic Beanstalk Environment running PHP Sample Application
TemplateName: DefaultConfiguration
VersionLabel: Initial Version
Outputs:
URL:
Description: URL of the AWS Elastic Beanstalk Environment
Value:
Fn::Join:
- ''
- - http://
- Fn::GetAtt:
- testEnvironment
- EndpointURL

当我部署在终端中执行命令时,它失败了。这是日志。

{
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "cb6d7aa0-cdf6-11ea-b52a-0af573e17780",
"ResourceStatus": "ROLLBACK_COMPLETE",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2020-07-24T21:44:04.668Z",
"StackName": "CloudFormationLaravelBeanstalk",
"PhysicalResourceId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"LogicalResourceId": "CloudFormationLaravelBeanstalk"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "webApplication-DELETE_COMPLETE-2020-07-24T21:44:04.000Z",
"ResourceStatus": "DELETE_COMPLETE",
"ResourceType": "AWS::ElasticBeanstalk::Application",
"Timestamp": "2020-07-24T21:44:04Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"Description\":\"AWS Elastic Beanstalk PHP Sample Application\",\"ApplicationVersions\":[{\"Description\":\"Version 1.0\",\"VersionLabel\":\"Initial Version\",\"SourceBundle\":{\"S3Bucket\":\"elasticbeanstalk-samples-eu-west-1\",\"S3Key\":\"php-sample.zip\"}}],\"ConfigurationTemplates\":[{\"Description\":\"Default Configuration Version 1.0 - with SSH access\",\"OptionSettings\":[{\"Value\":\"MyanEat\",\"Namespace\":\"aws:autoscaling:launchconfiguration\",\"OptionName\":\"EC2KeyName\"}],\"TemplateName\":\"DefaultConfiguration\",\"SolutionStackName\":\"64bit Amazon Linux 2 v3.0.3 running PHP 7.3\"}]}",
"PhysicalResourceId": "CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7",
"LogicalResourceId": "webApplication"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "webApplication-DELETE_IN_PROGRESS-2020-07-24T21:43:33.166Z",
"ResourceStatus": "DELETE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Application",
"Timestamp": "2020-07-24T21:43:33.166Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"Description\":\"AWS Elastic Beanstalk PHP Sample Application\",\"ApplicationVersions\":[{\"Description\":\"Version 1.0\",\"VersionLabel\":\"Initial Version\",\"SourceBundle\":{\"S3Bucket\":\"elasticbeanstalk-samples-eu-west-1\",\"S3Key\":\"php-sample.zip\"}}],\"ConfigurationTemplates\":[{\"Description\":\"Default Configuration Version 1.0 - with SSH access\",\"OptionSettings\":[{\"Value\":\"MyanEat\",\"Namespace\":\"aws:autoscaling:launchconfiguration\",\"OptionName\":\"EC2KeyName\"}],\"TemplateName\":\"DefaultConfiguration\",\"SolutionStackName\":\"64bit Amazon Linux 2 v3.0.3 running PHP 7.3\"}]}",
"PhysicalResourceId": "CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7",
"LogicalResourceId": "webApplication"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "testEnvironment-DELETE_COMPLETE-2020-07-24T21:43:32.486Z",
"ResourceStatus": "DELETE_COMPLETE",
"ResourceType": "AWS::ElasticBeanstalk::Environment",
"Timestamp": "2020-07-24T21:43:32.486Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"ApplicationName\":\"CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7\",\"Description\":\"AWS Elastic Beanstalk Environment running PHP Sample Application\",\"VersionLabel\":\"Initial Version\",\"TemplateName\":\"DefaultConfiguration\"}",
"PhysicalResourceId": "Clou-test-2HSOCMRY8B2",
"LogicalResourceId": "testEnvironment"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "testEnvironment-DELETE_IN_PROGRESS-2020-07-24T21:43:31.824Z",
"ResourceStatus": "DELETE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Environment",
"Timestamp": "2020-07-24T21:43:31.824Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"ApplicationName\":\"CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7\",\"Description\":\"AWS Elastic Beanstalk Environment running PHP Sample Application\",\"VersionLabel\":\"Initial Version\",\"TemplateName\":\"DefaultConfiguration\"}",
"PhysicalResourceId": "Clou-test-2HSOCMRY8B2",
"LogicalResourceId": "testEnvironment"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "b5e05bd0-cdf6-11ea-80b1-062b1cfafef6",
"ResourceStatus": "ROLLBACK_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2020-07-24T21:43:28.511Z",
"ResourceStatusReason": "The following resource(s) failed to create: [testEnvironment]. . Rollback requested by user.",
"StackName": "CloudFormationLaravelBeanstalk",
"PhysicalResourceId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"LogicalResourceId": "CloudFormationLaravelBeanstalk"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "testEnvironment-CREATE_FAILED-2020-07-24T21:43:27.905Z",
"ResourceStatus": "CREATE_FAILED",
"ResourceType": "AWS::ElasticBeanstalk::Environment",
"Timestamp": "2020-07-24T21:43:27.905Z",
"ResourceStatusReason": "Environment failed to launch as it entered Terminated state",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"ApplicationName\":\"CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7\",\"Description\":\"AWS Elastic Beanstalk Environment running PHP Sample Application\",\"VersionLabel\":\"Initial Version\",\"TemplateName\":\"DefaultConfiguration\"}",
"PhysicalResourceId": "Clou-test-2HSOCMRY8B2",
"LogicalResourceId": "testEnvironment"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "testEnvironment-CREATE_IN_PROGRESS-2020-07-24T21:42:57.297Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Environment",
"Timestamp": "2020-07-24T21:42:57.297Z",
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"ApplicationName\":\"CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7\",\"Description\":\"AWS Elastic Beanstalk Environment running PHP Sample Application\",\"VersionLabel\":\"Initial Version\",\"TemplateName\":\"DefaultConfiguration\"}",
"PhysicalResourceId": "Clou-test-2HSOCMRY8B2",
"LogicalResourceId": "testEnvironment"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "testEnvironment-CREATE_IN_PROGRESS-2020-07-24T21:42:55.237Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Environment",
"Timestamp": "2020-07-24T21:42:55.237Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"ApplicationName\":\"CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7\",\"Description\":\"AWS Elastic Beanstalk Environment running PHP Sample Application\",\"VersionLabel\":\"Initial Version\",\"TemplateName\":\"DefaultConfiguration\"}",
"PhysicalResourceId": "",
"LogicalResourceId": "testEnvironment"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "webApplication-CREATE_COMPLETE-2020-07-24T21:42:53.537Z",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::ElasticBeanstalk::Application",
"Timestamp": "2020-07-24T21:42:53.537Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"Description\":\"AWS Elastic Beanstalk PHP Sample Application\",\"ApplicationVersions\":[{\"Description\":\"Version 1.0\",\"VersionLabel\":\"Initial Version\",\"SourceBundle\":{\"S3Bucket\":\"elasticbeanstalk-samples-eu-west-1\",\"S3Key\":\"php-sample.zip\"}}],\"ConfigurationTemplates\":[{\"Description\":\"Default Configuration Version 1.0 - with SSH access\",\"OptionSettings\":[{\"Value\":\"MyanEat\",\"Namespace\":\"aws:autoscaling:launchconfiguration\",\"OptionName\":\"EC2KeyName\"}],\"TemplateName\":\"DefaultConfiguration\",\"SolutionStackName\":\"64bit Amazon Linux 2 v3.0.3 running PHP 7.3\"}]}",
"PhysicalResourceId": "CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7",
"LogicalResourceId": "webApplication"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "webApplication-CREATE_IN_PROGRESS-2020-07-24T21:42:51.643Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Application",
"Timestamp": "2020-07-24T21:42:51.643Z",
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"Description\":\"AWS Elastic Beanstalk PHP Sample Application\",\"ApplicationVersions\":[{\"Description\":\"Version 1.0\",\"VersionLabel\":\"Initial Version\",\"SourceBundle\":{\"S3Bucket\":\"elasticbeanstalk-samples-eu-west-1\",\"S3Key\":\"php-sample.zip\"}}],\"ConfigurationTemplates\":[{\"Description\":\"Default Configuration Version 1.0 - with SSH access\",\"OptionSettings\":[{\"Value\":\"MyanEat\",\"Namespace\":\"aws:autoscaling:launchconfiguration\",\"OptionName\":\"EC2KeyName\"}],\"TemplateName\":\"DefaultConfiguration\",\"SolutionStackName\":\"64bit Amazon Linux 2 v3.0.3 running PHP 7.3\"}]}",
"PhysicalResourceId": "CloudFormationLaravelBeanstalk-webApplication-197H2GUL24WJ7",
"LogicalResourceId": "webApplication"
},
{
"StackId": "arn:aws:cloudformation:eu-west-1:733553390213:stack/CloudFormationLaravelBeanstalk/9a32a280-cdf6-11ea-8a9a-0aa806e28382",
"EventId": "webApplication-CREATE_IN_PROGRESS-2020-07-24T21:42:51.125Z",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::ElasticBeanstalk::Application",
"Timestamp": "2020-07-24T21:42:51.125Z",
"StackName": "CloudFormationLaravelBeanstalk",
"ResourceProperties": "{\"Description\":\"AWS Elastic Beanstalk PHP Sample Application\",\"ApplicationVersions\":[{\"Description\":\"Version 1.0\",\"VersionLabel\":\"Initial Version\",\"SourceBundle\":{\"S3Bucket\":\"elasticbeanstalk-samples-eu-west-1\",\"S3Key\":\"php-sample.zip\"}}],\"ConfigurationTemplates\":[{\"Description\":\"Default Configuration Version 1.0 - with SSH access\",\"OptionSettings\":[{\"Value\":\"MyanEat\",\"Namespace\":\"aws:autoscaling:launchconfiguration\",\"OptionName\":\"EC2KeyName\"}],\"TemplateName\":\"DefaultConfiguration\",\"SolutionStackName\":\"64bit Amazon Linux 2 v3.0.3 running PHP 7.3\"}]}",
"PhysicalResourceId": "",
"LogicalResourceId": "webApplication"
},
{

我的代码有什么问题以及如何修复它?

最佳答案

我尝试验证问题并将您的模板部署到我的沙盒帐户上。

我发现部署因 ConfigurationTemplates缺少实例配置文件而失败:

            - Namespace: aws:autoscaling:launchconfiguration
OptionName: IamInstanceProfile
Value: !Ref MyInstanceProfile

因此您必须创建 AWS::IAM::InstanceProfile具有您的 EB 实例将具有的 IAM 角色。在基本形式中,您可以执行以下操作:

  MyInstanceRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
- sts:AssumeRole
Description: Beanstalk EC2 role
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier
- arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker
- arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier

MyInstanceProfile:
Type: AWS::IAM::InstanceProfile
Properties:
Roles:
- !Ref MyInstanceRole

关于php - Beanstalk 上示例 PHP 应用程序的 AWS CloudFormation 模板失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63081920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com