Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AWS CDK通过AWS Fargate容器配置Wordpress_Wordpress_Docker_Amazon Ecs_Aws Fargate - Fatal编程技术网

如何使用AWS CDK通过AWS Fargate容器配置Wordpress

如何使用AWS CDK通过AWS Fargate容器配置Wordpress,wordpress,docker,amazon-ecs,aws-fargate,Wordpress,Docker,Amazon Ecs,Aws Fargate,我想使用AWS CDK在容器变量(即没有EC2实例)中通过AWS Fargate配置Wordpress 我已经为此实现了一个工作配置。但是,由于Wordpress位于一个或多个docker容器中,因此目前无法以这种形式安装主题或上载文件 以下是我当前的cdk实现: AWS-CDK 导出类WordpressWebsiteStack扩展了cdk.Stack{ 构造函数(作用域:cdk.Construct,id:string,props?:cdk.StackProps){ 超级(范围、id、道具);

我想使用
AWS CDK
在容器变量(即没有EC2实例)中通过
AWS Fargate
配置Wordpress

我已经为此实现了一个工作配置。但是,由于Wordpress位于一个或多个docker容器中,因此目前无法以这种形式安装主题或上载文件

以下是我当前的cdk实现:

AWS-CDK

导出类WordpressWebsiteStack扩展了cdk.Stack{
构造函数(作用域:cdk.Construct,id:string,props?:cdk.StackProps){
超级(范围、id、道具);
//一般的
const vpc=新的ec2.vpc(此“vpc”{
//2是集群的最低要求
马克萨兹:2,
//仅创建公共子网以防止aws创建
//导致额外成本的NAT网关。
//这将在每个AZ中创建一个公共子网。
子网配置:[
{
名称:'公共',
子网类型:ec2.subnetType.PUBLIC,
},
]
});
//数据库配置
//用于数据库的安全组
const wordpressSg=new ec2.SecurityGroup(此“wordpressSg”{
专有网络:专有网络,
描述:'Wordpress SG',
});
//wordpress数据库的数据库集群
const dbCluster=new rds.DatabaseCluster(此“DBluster”{
clusterIdentifier:'wordpress db cluster',
实例:1,
defaultDatabaseName:DB_名称,
引擎:rds.DatabaseClusterEngine.AURORA,//TODO:AURORA\u MYSQL?
端口:DB_端口,
主用户:{
用户名:DB_USER,
密码:cdk.SecretValue.plainText(DB_密码)
},
instanceProps:{
instanceType:ec2.instanceType.of(ec2.InstanceClass.BURSTABLE2,ec2.InstanceSize.SMALL),
vpc,
securityGroup:wordpressSg,
}
});
//远门结构
//用于承载Fargate服务的ECS群集
const ecsCluster=new ecs.Cluster(此“ecsCluster”{
专有网络:专有网络,
});
//法尔盖特集装箱运输公司
const fargateService=新的ecs_模式。ApplicationLoadBalancedArgateService(这是“WordpressFargateService”{
集群:ecsCluster,//必需
desiredCount:1,//默认值为1
cpu:512,//默认值为256
memoryLimitMiB:1024,//默认值为512
//因为我们在公共子网中使用Fargate启动类型运行任务,所以必须选择ENABLED
//用于启动任务时自动分配公共IP。
//这允许任务具有出站网络访问权以提取映像。
//@见https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/
对,,
任务图像选项:{
图像:ecs.ContainerImage.fromRegistry(wordpressRegistryName),
环境:{
WORDPRESS_DB_主机:dbCluster.clusterEndpoint.socketAddress,
WORDPRESS\u DB\u用户:DB\u用户,
WORDPRESS\u DB\u密码:DB\u密码,
WORDPRESS\u DB\u NAME:DB\u NAME,
},
},
});
fargateService.service.connections.addSecurityGroup(wordpressSg);
fargateService.service.connections.allowTo(wordpressSg,ec2.Port.tcp(DB_-Port));
}
}
也许有人知道我如何通过
CDK
设置
Fargate
,使各个Wordpress容器有一个公共的
卷,然后将数据放在该卷上?或许还有另一种优雅的解决方案:)

非常感谢:)



找到了一个解决方案我是AWS集装箱服务团队的一员,我想给大家介绍一下我们的背景情况。我们最近(2020年5月11日)宣布将Amazon ECS/AWS Fargate与Amazon EFS(弹性文件系统)集成。这是让你实现你想要实现的目标的管道。你可以阅读更多关于理论和实践的内容


我上面链接的示例使用AWS CLI,原因很简单,因为对该功能的CloudFormation支持尚未发布(请继续关注)。一旦发布了CFN支持,CDK将开始使用它,在这一点上,它将能够调整您的CDK代码以实现您想要的

不幸的是,这不是我想要阅读的信息,关于这方面的任何进一步细节?添加了支持,但严重缺乏示例,我无法让EFS挂载在Fargate管道中使用CDK。现在已经一个多星期了,但仍然无法让它工作。它只是挂起了。我想我需要等2个小时,看看它是否会给我带来任何错误。。。