54 lines
1.3 KiB
HCL
54 lines
1.3 KiB
HCL
# 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
|
|
}
|