wg-aws/illevpn.tf

54 lines
1.3 KiB
Terraform
Raw Normal View History

2020-12-02 15:22:51 +01:00
# Dieses terraform file richtet eine graviton arm64 Maschine bei amazon ein
# Vor Aufruf müssen die AWS-Zugangsdaten als Umgebungsvariable gesetzt sein:
# export AWS_ACCESS_KEY_ID='AKGEHEIMGEHEIMGEHEIM'
# export AWS_SECRET_ACCESS_KEY='NOCHMEHRGEHEIM/GEHEIMGEHEIM'
# dann kann mit :
# terraform init
# terraform apply
# die Maschine gestartet werden und mit
# ansible provisioniert werden
###############
# Some defaults
###############
provider "aws" {
region = var.aws_region
}
data "aws_route53_zone" "zone" {
name = var.vpn_zone_name
}
resource "aws_key_pair" "illevpn-aws-key" {
key_name = "vpn-aws-key"
public_key = var.vpn_public_key
}
###############
# Server
###############
resource "aws_instance" "vpnserver" {
ami = "ami-01069be104eb25898" # ubuntu 20.10/arm64 us-east-1
instance_type = "t4g.nano"
availability_zone = "us-east-1a"
key_name = aws_key_pair.vpn-aws-key.id
}
###############
# DNS Eintrag
###############
resource "aws_route53_record" "vpnserver" {
zone_id = data.aws_route53_zone.zone.zone_id
name = "${var_vpn_host_name}.${data.aws_route53_zone.zone.name}"
type = "CNAME"
ttl = "30"
records = [aws_instance.vpnserver.public_dns]
}
output "vpnserver_dns" {
value = aws_instance.vpnserver.public_dns
}