mirror of
https://github.com/trailofbits/algo.git
synced 2025-04-17 14:47:11 +02:00
73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
AWSTemplateFormatVersion: '2010-09-09'
|
|
Description: 'Algo VPN stack (LightSail)'
|
|
Parameters:
|
|
InstanceTypeParameter:
|
|
Type: String
|
|
Default: 'nano_2_0'
|
|
ImageIdParameter:
|
|
Type: String
|
|
Default: 'ubuntu_20_04'
|
|
WireGuardPort:
|
|
Type: String
|
|
Default: '51820'
|
|
SshPort:
|
|
Type: String
|
|
Default: '4160'
|
|
UserData:
|
|
Type: String
|
|
Default: 'true'
|
|
Resources:
|
|
Instance:
|
|
Type: AWS::Lightsail::Instance
|
|
Properties:
|
|
BlueprintId:
|
|
Ref: ImageIdParameter
|
|
BundleId:
|
|
Ref: InstanceTypeParameter
|
|
InstanceName: !Ref AWS::StackName
|
|
Networking:
|
|
Ports:
|
|
- AccessDirection: inbound
|
|
Cidrs: ['0.0.0.0/0']
|
|
Ipv6Cidrs: ['::/0']
|
|
CommonName: SSH
|
|
FromPort: !Ref SshPort
|
|
ToPort: !Ref SshPort
|
|
Protocol: tcp
|
|
- AccessDirection: inbound
|
|
Cidrs: ['0.0.0.0/0']
|
|
Ipv6Cidrs: ['::/0']
|
|
CommonName: WireGuard
|
|
FromPort: !Ref WireGuardPort
|
|
ToPort: !Ref WireGuardPort
|
|
Protocol: udp
|
|
- AccessDirection: inbound
|
|
Cidrs: ['0.0.0.0/0']
|
|
Ipv6Cidrs: ['::/0']
|
|
CommonName: IPSec-4500
|
|
FromPort: 4500
|
|
ToPort: 4500
|
|
Protocol: udp
|
|
- AccessDirection: inbound
|
|
Cidrs: ['0.0.0.0/0']
|
|
Ipv6Cidrs: ['::/0']
|
|
CommonName: IPSec-500
|
|
FromPort: 500
|
|
ToPort: 500
|
|
Protocol: udp
|
|
Tags:
|
|
- Key: Name
|
|
Value: !Ref AWS::StackName
|
|
UserData: !Ref UserData
|
|
|
|
StaticIP:
|
|
Type: AWS::Lightsail::StaticIp
|
|
Properties:
|
|
AttachedTo: !Ref Instance
|
|
StaticIpName: !Join [ "-", [ !Ref AWS::StackName, "ip" ] ]
|
|
DependsOn:
|
|
- Instance
|
|
|
|
Outputs:
|
|
IpAddress:
|
|
Value: !GetAtt [StaticIP, IpAddress]
|