code-dumps/cloudformation/acrolinx-cftemplate.yaml
2020-06-27 16:02:31 +08:00

86 lines
2.9 KiB
YAML

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
Mappings:
RegionMap:
us-west-2:
VpcId: vpc-7155ca14
ImageId: ami-0a8d75344fec6c412
SshKey: ACROLINX-OREGON
SecGroups: ["sg-0c8c5cf4dca2147ee","sg-d444e4b2","sg-0b93187b","sg-859d16f5"]
Subnet: "10.2.254.0/28"
eu-west-1:
VpcId: vpc-55a5a930
ImageId: ami-0385d2ff9f9c3706d
SshKey: ACROLINX-IRELAND
SecGroups: ["sg-07ffa804cbff134ed","sg-5217ce2e","sg-620ad31e","sg-aa0ed7d6"]
Subnet: "10.1.254.0/28"
Resources:
InstanceSubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId: !FindInMap [RegionMap, !Ref "AWS::Region", VpcId]
CidrBlock: !FindInMap [RegionMap, !Ref "AWS::Region", Subnet]
Ec2Instance:
Type: AWS::EC2::Instance
Properties:
IamInstanceProfile: AmazonSSMRoleForInstancesQuickSetup
KeyName: !FindInMap [RegionMap, !Ref "AWS::Region", SshKey]
InstanceType: !Ref InputInstanceType
ImageId: !FindInMap [RegionMap, !Ref "AWS::Region", ImageId]
SubnetId: !Ref InstanceSubnet
SecurityGroupIds: !FindInMap [RegionMap, !Ref "AWS::Region", SecGroups]
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