code-dumps/cloudformation/acrolinx-cftemplate.yaml

84 lines
2.6 KiB
YAML
Raw Normal View History

2020-06-27 00:09:13 +08:00
Description: >-
Cloud Formation template for Acrolinx instance.
Parameters:
InputInstanceType:
Description: EC2 Instance Type
Default: t3a.medium
Type: String
InputSubdomain:
Description: Subdomain of acrolinx instance
Type: String
Default: rstest
InputTimezone:
Description: Timezone of instance
Type: String
Default: UTC
2020-06-27 15:10:06 +08:00
Mappings:
RegionMap:
us-west-1:
VpcId: vpc-7155ca14
ImageId: ami-0a8d75344fec6c412
SshKey: AROLINX-OREGON
SecGroups: ["sg-0c8c5cf4dca2147ee","sg-d444e4b2","sg-0b93187b","sg-859d16f5"]
eu-east-1:
VpcId:
ImageId:
SshKey: AROLINX-IRELAND
SecGroups: ["sg-0c8c5cf4dca2147ee","sg-d444e4b2","sg-0b93187b","sg-859d16f5"]
2020-06-27 00:09:13 +08:00
Resources:
InstanceSubnet:
Type: AWS::EC2::Subnet
Properties:
2020-06-27 15:10:06 +08:00
VpcId: !FindInMap [RegionMap, !Ref "AWS::Region", VpcId]
2020-06-27 00:09:13 +08:00
CidrBlock: "10.2.253.0/28"
Ec2Instance:
Type: AWS::EC2::Instance
Properties:
2020-06-27 15:10:06 +08:00
KeyName: !FindInMap [RegionMap, !Ref "AWS::Region", SshKey]
2020-06-27 00:09:13 +08:00
InstanceType: !Ref InputInstanceType
2020-06-27 15:10:06 +08:00
ImageId: !FindInMap [RegionMap, !Ref "AWS::Region", ImageId]
2020-06-27 00:09:13 +08:00
SubnetId: !Ref InstanceSubnet
2020-06-27 15:10:06 +08:00
SecurityGroupIds: !FindInMap [RegionMap, !Ref "AWS::Region", SecGroups]
2020-06-27 00:09:13 +08:00
Tags:
- Key: "Name"
Value: !Join ['', [!Ref 'InputSubdomain', ".acrolinx.cloud"]]
- Key: "TZ"
Value: !Ref InputTimezone
UserData:
'Fn::Base64': !Sub |
#!/bin/bash -ex
yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
systemctl enable amazon-ssm-agent
Ec2EIP:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
InstanceId: !Ref Ec2Instance
PublicDnsRecord:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneName: "acrolinx.cloud."
Comment: DNS name for my instance.
Name: !Join ['', [!Ref 'InputSubdomain', ".acrolinx.cloud"]]
Type: A
TTL: '900'
ResourceRecords:
- !Ref Ec2EIP
OriginDnsRecord:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneName: "acrolinx.cloud."
Comment: DNS name for my instance.
Name: !Join ['origin-', [!Ref 'InputSubdomain', ".acrolinx.cloud"]]
Type: A
TTL: '900'
ResourceRecords:
- !Ref Ec2EIP