正在努力解决生成 VPCSecurityGroupIds 的 CloudFormation 语法(在我的例子中为 1)。我有下面的 yaml,基本上是尝试引用 GetAtt 函数内的参数 SecurityGroupName 。不幸的是,当我知道我传递了正确的 SecurityGroupName 值时,我得到“参数 [SecurityGroupName] 必须具有值”。非常感谢对此嵌套的任何见解。
Properties:
VpcSecurityGroupIds:
- "Fn::GetAtt": [ !Ref SecurityGroupName , "GroupId"]
Translates to
Properties:
VpcSecurityGroupIds:
- Fn:G:GetAtt:
- Ref: SecurityGroupName
- GroupId
Run Code Online (Sandbox Code Playgroud) 我需要修改nginx.conf来增加client_max_body_size . 在 AWS 文档上。这里他们给出了如何修改配置的示例。但他们做了很多我不想做的事情。
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html
user nginx;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 33282;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include conf.d/*.conf;
map $http_upgrade $connection_upgrade {
default "upgrade";
}
server {
listen 80 default_server;
root /var/app/current/public;
location / {
}git pull
location /api {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host; …Run Code Online (Sandbox Code Playgroud) 我一直在尝试弄清楚如何使用 Terraform 创建具有自定义名称的应用程序负载均衡器。到目前为止我有这个:
\nresource "aws_alb" "application_load_balancer" {\n name = "${var.brand}-be-${var.environment_name}-load-balancer"\n tags = local.tags\n load_balancer_type = "application"\n subnets = data.aws_subnets.public_subnets.ids\n\n # security group\n security_groups = [aws_security_group.sg_load_balancer.id]\n}\n\n# Hosted Zone for new-dev.foocorp.com\nresource "aws_route53_zone" "zone_dev" {\n name = "new-dev.foocorp.com"\n comment = "Hosted Zone for new-dev.foocorp.com"\n records = [ aws_alb.application_load_balancer.dns_name ]\n\n tags = merge(local.tags, {\n Name = "new-dev.foocorp.com"\n })\n}\nRun Code Online (Sandbox Code Playgroud)\n但是,我得到:
\n\xe2\x95\xb7\n\xe2\x94\x82 Error: Unsupported argument\n\xe2\x94\x82 \n\xe2\x94\x82 on main.tf line 323, in resource "aws_route53_zone" "zone_dev":\n\xe2\x94\x82 323: records = [ aws_alb.application_load_balancer.dns_name ]\n\xe2\x94\x82 \n\xe2\x94\x82 An argument …Run Code Online (Sandbox Code Playgroud) amazon-web-services terraform terraform-provider-aws aws-application-load-balancer
我想通过 terraform 根据 ECS 集群的任务状态更改设置 Cloudwatch 事件规则。当任务进入“已停止”或“正在运行”状态时,我希望收到通知。
每当任一事件发生时,这条规则都会起作用并匹配吗?然后,我将相应地创建资源“aws_cloudwatch_event_target”:
resource "aws_cloudwatch_event_rule" "ecs-sns-rule" {
name = "ecs task state change"
event_pattern = <<PATTERN
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"STOPPED",
"RUNNING"
],
"clusterArn": "arn:aws:ecs:us-west-2:XXXXXXXXX:Cluster/XXXXXXXX"
}
}
PATTERN
}
Run Code Online (Sandbox Code Playgroud) 如何将实例名称指定为 aws_instance 的一部分,正在启动的实例没有与其关联的显示名称,并且在 EC2 控制台中显示为空。注意:instance_id 正确显示
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance