You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SourceFuse AWS Reference Architecture (ARC) Terraform module for managing a Client VPN.
10
10
11
+
For more information about this repository and its usage, please see [Terraform AWS ARC CloudFront Usage Guide](https://github.com/sourcefuse/terraform-aws-arc-vpn/blob/main/docs/module-usage-guide/README.md).
12
+
11
13
## Usage
12
14
13
15
To see a full example, check out the [main.tf](https://github.com/sourcefuse/terraform-aws-arc-vpn/blob/main/example/main.tf) file in the example folder.
Copy file name to clipboardExpand all lines: docs/module-usage-guide/README.md
+39-13Lines changed: 39 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,10 @@
4
4
5
5
### Purpose of the Document
6
6
7
-
This document provides guidelines and instructions for users looking to implement Terraform ARC module for managing a Client VPN.
7
+
This document provides guidelines and instructions for users looking to implement Terraform ARC module for managing a AWS Client VPN.
8
+
9
+
#### What is AWS Client VPN ?
10
+
AWS Client VPN is a managed remote access VPN solution used by your remote workforce to securely access resources within both AWS and your on-premises network. Fully elastic, it automatically scales up, or down, based on demand.
8
11
9
12
### Module Overview
10
13
@@ -24,7 +27,7 @@ Before using this module, ensure you have the following:
24
27
25
28
To use the module in your Terraform configuration, include the following source block:
26
29
27
-
```hcl
30
+
```tcl
28
31
module "client_vpn" {
29
32
source = "sourcefuse/arc-vpn/aws"
30
33
version = "0.0.8"
@@ -48,7 +51,9 @@ Integrate the module with your existing Terraform mono repo configuration, follo
48
51
49
52
### Required AWS Permissions
50
53
51
-
Ensure that the AWS credentials used to execute Terraform have the necessary permissions to create Client VPN.
54
+
Ensure that the AWS credentials used to execute Terraform have the necessary permissions to create
55
+
- Client VPN Endpoint
56
+
- Virtual Private Gateway
52
57
53
58
## Module Configuration
54
59
@@ -68,28 +73,49 @@ For basic usage, see the [example](https://github.com/sourcefuse/terraform-aws-a
68
73
69
74
This example will create:
70
75
71
-
Self-Signed Certificate Authority (CA) Creation: It creates a self-signed CA certificate using the cloudposse/terraform-aws-ssm-tls-self-signed-cert module. The certificate is stored in AWS SSM (Systems Manager).
76
+
-Self-Signed Certificate Authority (CA) Creation: It creates a self-signed CA certificate using the cloudposse/terraform-aws-ssm-tls-self-signed-cert module. The certificate is stored in AWS SSM (Systems Manager).
72
77
73
-
Self-Signed Root Certificate Creation: It creates a self-signed root certificate using the cloudposse/terraform-aws-ssm-tls-self-signed-cert module. This certificate is signed by the previously created CA certificate.
78
+
-Self-Signed Root Certificate Creation: It creates a self-signed root certificate using the cloudposse/terraform-aws-ssm-tls-self-signed-cert module. This certificate is signed by the previously created CA certificate.
74
79
75
-
VPN Setup: It uses the sourcefuse/arc-vpn/aws module to create a VPN setup. This includes:
80
+
-VPN Setup: It uses the sourcefuse/arc-vpn/aws module to create a VPN setup. This includes:
76
81
77
-
Setting up certificate-based authentication using the self-signed root certificate.
82
+
- Certificate-based authentication using the self-signed root certificate.
78
83
79
-
Authorizing all groups to access the VPN.
84
+
- Authorize all groups to access the VPN.
80
85
81
-
Specifying the private subnets where the VPN endpoints will be created.
86
+
- Specifying the private subnets where the VPN endpoints will be created.
82
87
83
-
Specifying the target network CIDR block, which is the VPC's CIDR block.
88
+
- Specifying the target network CIDR block, which is the VPC's CIDR block.
84
89
85
-
Creating a self-signed server certificate.
90
+
- Created a self-signed server certificate.
86
91
87
-
Setting up the client VPN with a specified client CIDR block, VPN name, and VPN gateway name.
92
+
- Setting up the client VPN with a specified client CIDR block, VPN name, and VPN gateway name.
88
93
89
94
The VPN setup allows users to securely connect to the AWS VPC from anywhere, using the created client VPN. The self-signed certificates are used to authenticate the users.
95
+
96
+
### How to create AWS Client VPN file
97
+
- Download and install AWS Client VPN Application [download](https://aws.amazon.com/vpn/client-vpn-download/)
98
+
- Download the AWS Client VPN Configuration File
99
+
- Navigate to `VPC` > `Client VPN endpoints`
100
+
- Select the endpoint and click `Download Client Configuration`
101
+
- Incase authentication is using certificate
102
+
- Open the Client Configuration file in an editor.
103
+
- Append the certificate data as show below to the configuration file
104
+
```
105
+
<cert>
106
+
Copy from SSM PARAM self-signed-cert-ca.pem
107
+
</cert>
108
+
109
+
<key>
110
+
Copy from SSM PARAM self-signed-cert-ca.key
111
+
</key>
112
+
```
113
+
114
+
115
+
90
116
### Tips and Recommendations
91
117
92
-
The module focuses on setting up AWS Client VPN. Adjust the configuration parameters as needed for your specific use case.
118
+
To authenticate the AWS Client VPN, integration with Active Directory (AD) is possible.
0 commit comments