我想在一些Policy/Loadbalancers标签名称的参数Cloudformation json模板快捷方式中使用,如下所示:
"SomeScalingGroupName": {
"Type": "String",
"Default": {"Fn::Join": ["", ["Process-", {"Ref": "Env"}, "-Some-Worker-Name"]]}
},
Run Code Online (Sandbox Code Playgroud)
我得到错误:
模板验证错误:模板格式错误:每个默认成员必须是字符串.
所以我的问题是,在参数中使用函数连接的正确方法是什么?或者我还有其他办法吗?或者你有什么更好的建议来使用它?
谢谢!
我想将一个保留的弹性IP(ec2 classic ip)分配给VPC中的Autoscaling组.使用AWS Cli我将ip移至vpc:
$ aws ec2 move-address-to-vpc --public-ip 23.23.23.23
Run Code Online (Sandbox Code Playgroud)
并且在aws concole中看到,这个IP传递给了VPC.并在Resources中的Cloudformation模板中分配了AutoscalingGroup的标签:
"Process": {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
"LaunchConfigurationName": {"Ref": "PreprocessorLC"},
"LoadBalancerNames": [{"Ref": "ProcessELB"}],
"VPCZoneIdentifier" : [{ "Fn::Join" : [",", [ { "Ref" : "PublicSubnet1"}, { "Ref" : "PublicSubnet2"} ]]}],
"AvailabilityZones": {"Ref": "AZs"},
"MinSize" : "1",
"MaxSize" : "1",
"HealthCheckGracePeriod": 300,
"Tags" : [
{"Key": "Name", "Value": {"Fn::Join": ["", [{"Ref": "Env"}, "-Process"]]}, "PropagateAtLaunch": true},
{"Key": "WorkersScalingGroup", "Value": {"Fn::Join": ["", ["Offering-", {"Ref": "Env"}, "-Process-Worker"]]}, "PropagateAtLaunch": true},
{"Key": "EIP", "Value": {"Ref": …Run Code Online (Sandbox Code Playgroud) amazon-ec2 amazon-web-services aws-cloudformation amazon-vpc
我正在试图找出keycloak版本3.3.0.CR1中的导入/导出最佳实践.正如我在keycloak官方页面导入/导出中看到的那样,他们描述了策略.这里是他们导出到单个文件json的示例.goint到/ keycloak/bin文件夹并运行这个:
./standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-export.json
Run Code Online (Sandbox Code Playgroud)
我登录了k8s pod.运行此命令后,我收到错误:
12:23:32,045 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {
"WFLYCTL0080: Failed services" => {"org.wildfly.management.http.extensible" => "java.net.BindException: Address already in use /127.0.0.1:9990"},
"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
"Services that were unable to start:" => ["org.wildfly.management.http.extensible.shutdown"],
"Services that may be the …Run Code Online (Sandbox Code Playgroud) 我尝试连接的是Loadbalancer DNS名称到Route53.让我们看看例子.这是资源中模板的Loadbabancer:
"RestELB" : {
"Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
"DependsOn": "AttachGateway",
"Properties": {
"LoadBalancerName": {"Fn::Join": ["",["Rest-ELB-", {"Ref": "VPC"}]]},
"CrossZone" : "true",
"Subnets": [{ "Ref": "PublicSubnet1" },{ "Ref": "PublicSubnet2" }],
"Listeners" : [
{"LoadBalancerPort" : "80", "InstancePort" : "80","Protocol" : "HTTP"},
{"LoadBalancerPort" : "6060", "InstancePort" : "6060","Protocol" : "HTTP"}
],
}
},
Run Code Online (Sandbox Code Playgroud)
这是Route53:
"ApiRecordSet" : {
"Type" : "AWS::Route53::RecordSet",
"Properties" : {
"AliasTarget" :{
"DNSName" : [
{"Fn::Join": ["", [{"ElasticLoadBalancer": "DNSName"},"."]]}
],
"EvaluateTargetHealth" : "Boolean",
"HostedZoneId" : "String"
},
"HostedZoneName" : "example.net.", …Run Code Online (Sandbox Code Playgroud) 我尝试使用Cloudformation json模板构建基础结构。当我在两个所需的可用区域中添加两个Subnets和SubnetRouteTableAssociation时。但是创建过程无法创建错误的负载均衡器:
CREATE_FAILED AWS :: ElasticLoadBalancing :: LoadBalancer Rest ELB无法连接到同一可用区中的多个子网。
这是可用区的参数:
"AZs" : {
"Description" : "The list of AvailabilityZones.",
"Type" : "CommaDelimitedList",
"Default" : "us-east-1a,us-east-1c"
}
Run Code Online (Sandbox Code Playgroud)
这是可用性区域中的子网资源,SubnetRouteTableAssociation和Rest的ElasticLoadBalancing:
"PublicSubnet1a" : {
"Type" : "AWS::EC2::Subnet",
"Properties" : {
"VpcId" : { "Ref" : "VPC" },
"CidrBlock" : "10.0.0.0/24",
"AvailabilityZone": {
"Fn::Select": ["1", { "Ref": "AZs" }]
},
"Tags" : [
{"Key": "Name", "Value": {"Fn::Join": ["", ["Offering-", {"Ref": "Env"}, {"Ref": "EnvNum"}, "-VPC"]]}},
{"Key" : "Network", "Value" : "Public" }
]
}
}, …Run Code Online (Sandbox Code Playgroud) 当我在具有Autoscaling组的实例内部时。我正在尝试选择Autoscaling Group的一些特定标签。我知道我可以使用AWS CLI命令“ aws autoscaling describe-tags”。所以我写了一些.sh文件。比包含:
#!/bin/sh
#Instance ID
InstanceID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`
#Allocation ID from Autoscaling tags
Autoscaling=`aws ec2 describe-tags --filters "Name=resource-id,Values=$InstanceID" "Name=key,Values=aws:autoscaling:groupName"`
AllocationID=`aws autoscaling describe-tags --filter "Name=key,Values=$Autoscaling"| select(["Value"] | contains("eipalloc"))`
#Assigning VPC Elastic IP to Instance via Allocation ID
aws ec2 associate-address --instance-id $InstanceID --allocation-id $AllocationID
Run Code Online (Sandbox Code Playgroud)
这不仅仅因为我不能以这种方式选择价值而已。谁能告诉我如何正确选择某些特定标签?
谢谢!
我写了一些脚本来获取 aws ec2 实例的所有用户数据,并回显到 local.json。当我安装 node.js 模块时,所有这些都会发生。我不知道如何删除 json 文件中的最后一个逗号。这是 bash 脚本:
#!/bin/bash
export DATA_DIR=/data
export PATH=$PATH:/usr/local/bin
#install package from git repository
sudo -- sh -c "export PATH=$PATH:/usr/local/bin; export DATA_DIR=/data; npm install git+https://reader:secret@bitbucket.org/somebranch/$1.git#$2"
#update config files from instance user-data
InstanceConfig=`cat /instance-config`
echo '{' >> node_modules/$1/config/local.json
while read line
do
if [ ! -z "$line" -a "$line" != " " ]; then
Key=`echo $line | cut -f1 -d=`
Value=`echo $line | cut -f2 -d=`
if [ "$Key" = "Env" ]; then
Env="$Value" …Run Code Online (Sandbox Code Playgroud) json ×4
bash ×2
shell ×2
amazon-ec2 ×1
amazon-vpc ×1
awk ×1
aws-cli ×1
devops ×1
keycloak ×1
kubernetes ×1
sed ×1