summaryrefslogtreecommitdiff
path: root/docs/installation
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-05-14 02:05:25 +0300
committerGitHub <noreply@github.com>2026-05-14 02:05:25 +0300
commitc1b22cfa8cc2b7afaa97e66ec573b293cfb77556 (patch)
tree766b8b18ce43b8d845b672039bccdcb90f4a78de /docs/installation
parentc6af2fed6e538ad43d13464e87cdd2b39ffad3d3 (diff)
parent9340e43951d20c388f1d627b1e003a25529067f4 (diff)
downloadvyos-documentation-c1b22cfa8cc2b7afaa97e66ec573b293cfb77556.tar.gz
vyos-documentation-c1b22cfa8cc2b7afaa97e66ec573b293cfb77556.zip
Merge pull request #2022 from vyos/yuriy/finish-conversion-sagitta
docs(sagitta): finish RST→MD conversion — port cli + aws from rolling
Diffstat (limited to 'docs/installation')
-rw-r--r--docs/installation/cloud/aws.md188
-rw-r--r--docs/installation/cloud/aws.rst693
2 files changed, 188 insertions, 693 deletions
diff --git a/docs/installation/cloud/aws.md b/docs/installation/cloud/aws.md
new file mode 100644
index 00000000..de5da3aa
--- /dev/null
+++ b/docs/installation/cloud/aws.md
@@ -0,0 +1,188 @@
+---
+lastproofread: '2026-02-06'
+---
+
+# Amazon AWS
+
+## Deploy VM
+
+Deploy VyOS on Amazon {abbr}`AWS (Amazon Web Services)`.
+
+1. Click **Instances** and then click **Launch Instance**.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-01.webp
+```
+
+2. Search for "VyOS" in the Marketplace.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-02.webp
+```
+
+3. Choose the instance type. The recommended minimum is `m3.medium`.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-03.webp
+```
+
+4. Configure the instance for your requirements. Select the number of
+ instances, network, and subnet.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-04.webp
+```
+
+5. Configure additional storage. You can remove the additional storage
+ `/dev/sdb`. The root device will be `/dev/xvda`. You can skip this step.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-05.webp
+```
+
+6. Configure the security group. We recommend configuring SSH access
+ only from specific sources, or you can permit any IP address (the default).
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-06.webp
+```
+
+7. Select the SSH key pair and click **Launch Instances**.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-07.webp
+```
+
+8. Note your public IP address.
+
+```{eval-rst}
+.. figure:: /_static/images/cloud-aws-08.webp
+```
+
+9. Connect to the instance using your SSH key.
+
+```{eval-rst}
+
+ .. code-block:: none
+
+ ssh -i ~/.ssh/amazon.pem vyos@203.0.113.3
+ vyos@ip-192-0-2-10:~$
+```
+
+
+## Amazon CloudWatch Agent Usage
+
+To use the Amazon CloudWatch agent, configure it in the Amazon Systems Manager
+Parameter Store. For instructions on creating a configuration, see
+{ref}`configuration_creation`.
+
+1. Create an {abbr}`IAM (Identity and Access Management)` role for the
+ {abbr}`EC2 (Elastic Compute Cloud)` instance to access CloudWatch service,
+ and name it CloudWatchAgentServerRole. The role should contain two default
+ policies: `CloudWatchAgentServerPolicy` and
+ `AmazonSSMManagedInstanceCore`.
+2. Attach the created role to your VyOS {abbr}`EC2 (Elastic Compute Cloud)`
+ instance.
+3. Ensure the amazon-cloudwatch-agent package is installed.
+
+```{eval-rst}
+
+ .. code-block:: none
+
+ $ sudo apt list --installed | grep amazon-cloudwatch-agent
+
+ .. note:: The amazon-cloudwatch-agent package is normally included in
+ VyOS 1.3.3+ and 1.4+
+```
+
+4. Retrieve an existing CloudWatch Agent configuration from the
+ {abbr}`SSM (Systems Manager)` Parameter Store.
+
+```{eval-rst}
+
+ .. code-block:: none
+
+ $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:<your-configuration-name>
+
+ This step also enables systemd service and runs it.
+
+ .. note:: The VyOS platform-specific scripts feature is under development.
+ Thus, this step should be repeated manually after changing system image
+ (:doc:`/installation/update`)
+```
+
+(configuration_creation)=
+
+### CloudWatch SSM Configuration creation
+
+Creating the Amazon Cloudwatch Agent Configuration in Amazon
+{abbr}`SSM (Systems Manager)` Parameter Store.
+
+1. Create an {abbr}`IAM (Identity and Access Management)` role for your
+ {abbr}`EC2 (Elastic Compute Cloud)` instance to access the CloudWatch
+ service. Name it `CloudWatchAgentAdminRole`. The role must contain at
+ least two policies: `CloudWatchAgentAdminPolicy` and
+ `AmazonSSMManagedInstanceCore`.
+
+```{eval-rst}
+
+ .. note:: CloudWatchAgentServerRole is too permissive and should be used only
+ for
+ creating and deploying a single configuration. After step 3, we recommend
+ replacing the ``CloudWatchAgentAdminRole`` with the
+ ``CloudWatchAgentServerRole``.
+```
+
+2. Run the CloudWatch configuration wizard.
+
+```{eval-rst}
+
+ .. code-block:: none
+
+ $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
+```
+
+3. When prompted, enter "yes" to the question "Do you want to store the
+ config in the SSM parameter store?".
+
+## AWS Gateway Load Balancer
+
+VyOS supports the AWS Gateway Load Balancer (GWLB) tunnel handler (`gwlbtun`),
+which enables VyOS to act as an inspection or processing target for GWLB. GWLB
+uses Geneve encapsulation with custom metadata to deliver traffic to VyOS for
+packet filtering, shaping, deep packet inspection, NAT, or other traffic
+manipulation functions. The tunnel handler automatically creates Linux tunnel
+interfaces (`gwi-*` for ingress and `gwo-*` for egress) per endpoint,
+allowing you to use standard Linux utilities like iptables, tc, and netfilter
+to implement your inspection or processing logic. This enables VyOS to serve as
+a centralized appliance for traffic inspection in your AWS infrastructure,
+supporting both single-endpoint (1-arm) and multi-endpoint (2-arm) deployment
+modes.
+
+For more information about integrating with AWS Gateway Load Balancer, see
+the following article from AWS:
+[How to integrate Linux instances with AWS Gateway Load Balancer](https://aws.amazon.com/blogs/networking-and-content-delivery/how-to-integrate-linux-instances-with-aws-gateway-load-balancer/).
+
+### Configuration Example
+
+Configure the AWS GWLB service with the following commands:
+
+```none
+set service aws glb script on-create '/config/scripts/glb-create.sh'
+set service aws glb script on-destroy '/config/scripts/glb-destroy.sh'
+set service aws glb status format 'simple'
+set service aws glb status port '8282'
+set service aws glb threads tunnel '4'
+set service aws glb threads tunnel-affinity '1-2'
+set service aws glb threads udp '4'
+set service aws glb threads udp-affinity '0-3'
+```
+
+
+## References
+
+- <https://console.aws.amazon.com/>
+- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html>
+- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance-fleet.html>
+- <https://aws.amazon.com/blogs/networking-and-content-delivery/how-to-integrate-linux-instances-with-aws-gateway-load-balancer/>
+
diff --git a/docs/installation/cloud/aws.rst b/docs/installation/cloud/aws.rst
deleted file mode 100644
index 17ecfe16..00000000
--- a/docs/installation/cloud/aws.rst
+++ /dev/null
@@ -1,693 +0,0 @@
-##########
-VyOS Deployment on AWS
-##########
-
-
-This manual provides detailed step-by-step instructions for deploying a VyOS instance and required resources (VPC, ENIs, Subnets, Security Groups) on AWS.
-
-Prerequisites
-========
-
-1. AWS Account
------------
-Ensure you have an AWS account with administrative access.
-
-2. IAM Permissions
------------
-
-To deploy VyOS and related resources, the user must have the following permissions:
-
-- ``ec2:`` for managing EC2, ENIs, and EIPs.
-- ``vpc:`` for creating VPCs, subnets, and route tables.
-- ``iam:`` for attaching roles.
-
-3. SSH Key Pair
------------
-
-You can use Amazon EC2 to create your key pairs, or you can use a third-party tool to create your key pairs and then import them to Amazon EC2.
-Amazon EC2 supports:
-
-- ``2048-bit SSH-2 RSA keys`` for Linux and Windows instances.
-- ``ED25519 keys`` for Linux instances (not supported for Windows).
-
-When you create a key pair using Amazon EC2:
-
-- The ``public key`` is stored in Amazon EC2.
-- You store the ``private key`` securely on your local machine.
-
-
-Steps to Create a Key Pair Using Amazon EC2
-^^^^^^^^^^^^^^
-
-- Open the Amazon EC2 console https://console.aws.amazon.com/ec2/.
-
-- In the navigation pane, under ``Network & Security``, choose ``Key Pairs``.
-
-.. figure:: /_static/images/cloud-aws-keypair-01.png
-
-- Choose ``Create key pair`` and select ``AWS region`` at the top right corner of the windows where you plan to deploy the VyOS instance.
-
-.. figure:: /_static/images/cloud-aws-keypair-02.png
-
-- Configure Key Pair:
-""""""""""
-
- - **Name**: Enter a descriptive name for the key pair, e.g., ``vyos-keypair``.
-
- .. note:: The key name can include up to 255 ASCII characters. It cannot include leading or trailing spaces.
-
- - **Select Key Pair Type**:
- - For **Linux instances**: Choose either **RSA** or **ED25519**.
-
- - For **Windows instances**: Choose **RSA**.
-
- .. note:: ED25519 keys are not supported for Windows instances.
-
- - **Private Key File Format**:
- - **PEM**: Choose this format if using OpenSSH or other SSH clients (e.g., on Linux/macOS).
- - **PPK**: Choose this format if using PuTTY on Windows.
-
-- **Optional**: Add tags to the key pair. Choose **Add tag** and provide the **key** and **value** for each tag.
-
-- Choose **Create key pair**.
-
-- The private key file will automatically download to your browser.
- - The file name will match the name you provided (e.g., `vyos-keypair.pem`), with the extension determined by the format you chose.
-
-.. figure:: /_static/images/cloud-aws-keypair-03.png
-
-.. figure:: /_static/images/cloud-aws-keypair-04.png
-
- **Important Notes**
-
-- **Save the private key file securely**:
- This is your **only chance** to download the private key. If you lose it, you cannot connect to your instance.
-
-- If you are using SSH on a **macOS or Linux computer**, set the correct permissions for the private key file:
-
-.. code-block:: none
-
- chmod 400 vyos-keypair.pem
-
-If permissions are not set to **400**, you will encounter an **"Unprotected private key file"** error when attempting to connect to the instance.
-
- **Example Usage for SSH**
-
-.. code-block:: none
-
- ssh -i vyos-keypair.pem vyos@<Public/Elastic IP>
-
-For more information, please visit the official AWS documentation:
-
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#having-ec2-create-your-key-pair
-
-
-4. VyOS Subscription
------------
-- Go to the AWS Marketplace https://aws.amazon.com/marketplace and search for **VyOS**.
-- Subscribe to the VyOS AMI.
-
-For more information, please visit:
-
-https://aws.amazon.com/marketplace/seller-profile?id=7636d180-1710-48bc-acd6-d323c4a0429f
-
-
-Create required resources
-========
-
-Certain resources need to be created in the AWS infrastructure before creating a VyOS instance, such as a VPC, Subnets, Elastic IPs, Route Tables, Security Groups, and others.
-
-Step 1: Create Virtual Private Cloud (VPC) and Subnets
------------
-
-1. Create a VPC
-^^^^^^^^^^^^^^
-
-To create a VPC for your AWS environment:
-
-- Go to the **Amazon VPC Console** at https://console.aws.amazon.com/vpc/.
-
-- In the navigation pane, choose **Your VPCs**.
-
-- Choose **Create VPC**.
-
-.. figure:: /_static/images/cloud-aws-vpc-01.png
-
-- **Configure VPC Settings**:
- - **Name tag - optional**: Enter a descriptive name for your VPC, e.g., ``VyOS-VPC``.
- - **IPv4 CIDR Block**: Enter ``10.0.0.0/16``.
-
-- Choose **Create VPC**.
-
-.. figure:: /_static/images/cloud-aws-vpc-02.png
-
-.. figure:: /_static/images/cloud-aws-vpc-03.png
-
-For more information, please visit the AWS documentation:
-
-https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html
-
-
-2. Create Subnets
-^^^^^^^^^^^^^^
-
-Subnets allow you to divide your VPC into smaller IP spaces. Follow these steps to create subnets for both **public** and **private** networks:
-
-- Go to the **Amazon VPC Console** at https://console.aws.amazon.com/vpc/.
-
-- In the navigation pane, choose **Subnets**.
-
-- Choose **Create Subnet**.
-
-.. figure:: /_static/images/cloud-aws-subnet-01.png
-
-- Configure Subnet Settings:
-""""""""""
-
- - **Public Subnet**:
-
- - **VPC**: Select ``VyOS-VPC``.
-
- - **Name Tag**: ``VyOS-Public-Subnet``.
-
- - **IPv4 CIDR Block**: ``10.0.1.0/24``.
-
- - **Availability Zone**: Select an AZ, e.g., ``us-east-1a``.
-
- - **Private Subnet**:
-
- - **VPC**: Select ``VyOS-VPC``.
-
- - **Name Tag**: ``VyOS-Private-Subnet``.
-
- - **IPv4 CIDR Block**: ``10.0.2.0/24``.
-
- - **Availability Zone**: Select an AZ, e.g., ``us-east-1a``.
-
-
-- Choose **Create Subnet**.
-
-.. figure:: /_static/images/cloud-aws-subnet-02.png
-
-.. figure:: /_static/images/cloud-aws-subnet-03.png
-
-For additional information, please visit the AWS documentation:
-
-https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html
-
-For additional details about IP addressing for your VPC and subnets, refer to the AWS documentation:
-
-https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html
-
-
-Step 2: Create and Configure Security Groups
------------
-
-1. Create Public Security Group
-^^^^^^^^^^^^^^
-
-The **Public Security Group** is used for **outbound connectivity**. All external resources, systems, or networks will connect via this security group.
-
-- Open the **Amazon EC2 Console** at https://console.aws.amazon.com/ec2/.
-
-- In the navigation pane, choose **Security Groups**.
-
-- Choose **Create Security Group**.
-
-.. figure:: /_static/images/cloud-aws-sg-01.png
-
-- **Configure the Security Group**:
-
- - **Name**: ``VyOS-Public-SG``.
-
- - **Description**: "Public security group for outbound connectivity"
-
- - **VPC**: Select the VPC in which your VyOS instance resides.
-
-- Inbound Rules:
-""""""""""
-
- - **SSH**: Port ``22``, Source ``0.0.0.0/0`` (Restrict to your IP for security).
-
- - **ICMP**: Allow for ping testing purposes.
-
- - **IPSec**: Allow port ``500`` (UDP) for ISAKMP (Phase 1 negotiation).
-
- - **NAT Traversal**: Allow port ``4500`` (UDP) for NAT-T support in IPsec.
-
- - **WireGuard**: Allow port ``51820`` (UDP).
-
- - **OpenVPN**: Allow port ``1194`` (UDP or TCP).
-
-.. figure:: /_static/images/cloud-aws-sg-02.png
-
-- (Optional) Add tags to identify the security group:
- - **Key**: `Name`, **Value**: `VyOS-Public-SG`.
-
-- Choose **Create Security Group**.
-
-.. figure:: /_static/images/cloud-aws-sg-03.png
-
-
-2. Create Private Security Group
-^^^^^^^^^^^^^^
-
-The **Private Security Group** is used for **internal connectivity** from internal or VPC-based resources.
-
-- Open the **Amazon EC2 Console**.
-
-- In the navigation pane, choose **Security Groups**.
-
-- Choose **Create Security Group**.
-
-- Configure the Security Group:
-""""""""""
-
- - **Name**: ``VyOS-Private-SG``.
-
- - **Description**: "Private security group for internal connectivity"
-
- - **VPC**: Select the VPC in which your VyOS instance resides.
-
-- Inbound Rules:
-""""""""""
-
- - Allow **All Traffic** (``0.0.0.0/0``) for internal connectivity between resources, VPCs, and other trusted networks.
-
-.. figure:: /_static/images/cloud-aws-sg-04.png
-
-- (Optional) Add tags to identify the security group:
- - **Key**: ``Name``, **Value**: ``VyOS-Private-SG``.
-
-- Choose **Create Security Group**.
-
-.. figure:: /_static/images/cloud-aws-sg-05.png
-
-For detailed instructions on creating a security group, refer to the official AWS documentation:
-
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html
-
-For more information, refer to the official AWS documentation:
-
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
-
-
-Step 3: Create ENIs (Elastic Network Interfaces)
------------
-
-Network Interfaces (ENIs) are essential for connecting instances to subnets and managing network traffic. Follow the steps below to create **Public** and **Private** ENIs.
-
-- Open the **Amazon EC2 Console** at https://console.aws.amazon.com/ec2/.
-
-- In the navigation pane, choose **Network Interfaces**.
-
-- Choose **Create Network Interface**.
-
-- **Configure Network Interface Settings**:
-
-Public ENI
-""""""""""
- - **Name**: ``VyOS-Public-ENI``.
-
- - **Description**: "Network Interface for Public Subnet."
-
- - **Subnet**: Select the ``VyOS-Public-Subnet`` you created earlier.
-
- - **Private IPv4 Address**: Choose **Auto-assign** to let AWS pick an IP address from the subnet.
-
- - **Security Group**: Select the ``VyOS-Public-SG``.
-
- - (Optional) Add tags to identify the ENIs:
- **Key**: ``Name``, **Value**: ``VyOS-Public-ENI``.
-
- - Choose **Create Network Interface**.
-
- .. figure:: /_static/images/cloud-aws-eni-01.png
-
-Private ENI
-""""""""""
- - **Name**: ``VyOS-Private-ENI``.
-
- - **Description**: "Network Interface for Private Subnet."
-
- - **Subnet**: Select the ``VyOS-Private-Subnet`` you created earlier.
-
- - **Private IPv4 Address**: Choose **Auto-assign** to let AWS pick an IP address from the subnet.
-
- - **Security Group**: Select the ``VyOS-Private-SG``.
-
- - (Optional) Add tags to identify the ENIs:
- **Key**: ``Name``, **Value**: ``VyOS-Private-ENI``.
-
- - Choose **Create Network Interface**.
-
- .. figure:: /_static/images/cloud-aws-eni-02.png
-
-Step 4: Configure Internet Gateway
------------
-
-An **Internet Gateway** allows communication between your VPC and the internet. Follow the steps below to create and attach an Internet Gateway to your VPC.
-
-1. Create an Internet Gateway
-^^^^^^^^^^^^^^
-
-- Open the **Amazon VPC Console** at https://console.aws.amazon.com/vpc/.
-
-- In the navigation pane, choose **Internet Gateways**.
-
-- Choose **Create Internet Gateway**.
-
-- **Configure Internet Gateway**:
- - (Optional) **Name**: Enter a descriptive name, e.g., ``VyOS-IGW``.
-
-- (Optional) Add a tag to identify the Internet Gateway:
- - **Key**: ``Name``, **Value**: ``VyOS-IGW``.
-
-- Choose **Create Internet Gateway**.
-
-.. figure:: /_static/images/cloud-aws-igw-01.png
-
-
-2. Attach the Internet Gateway to Your VPC
-^^^^^^^^^^^^^^
-
-To enable your VPC to access the internet, attach the Internet Gateway to your VPC:
-
-- After creating the Internet Gateway, select it from the **Internet Gateways** list.
-
-- Choose **Actions > Attach to VPC**.
-
-- Select the VPC where you want to attach the Internet Gateway:
- - Choose `VyOS-VPC` (the VPC you created earlier).
-
-- Choose **Attach Internet Gateway**.
-
-.. figure:: /_static/images/cloud-aws-igw-02.png
-
-For more details, refer to the official AWS documentation:
-
-https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html.
-
-
-Step 5: Configure Route Tables
------------
-
-Route tables define the paths for network traffic within your VPC. In this step, we will configure **Public** and **Private** route tables to control traffic flow for their respective subnets.
-
-
-1. Create and Configure the Public Route Table
-^^^^^^^^^^^^^^
-
-- **Go to the Route Tables Section:**
- - Open the **Amazon VPC Console** at https://console.aws.amazon.com/vpc/.
- - In the left navigation pane, choose **Route Tables**.
-
-- **Create a New Route Table:**
-
- - In the **Route Tables** section, choose **Create Route Table**.
-
- - Configure the route table:
-
- - **Name**: ``Public RT``.
-
- - **VPC**: Select the ``VyOS-VPC``.
-
- - Click **Create Route Table**.
-
- .. figure:: /_static/images/cloud-aws-route-01.png
-
-- **Add a Route to the Internet Gateway:**
-
- - Go to the **Routes** tab and click **Edit Routes**.
-
- - Click **Add Route** and enter:
-
- - **Destination**: ``0.0.0.0/0`` (Default route to all IPs).
-
- - **Target**: Select the **Internet Gateway** (``VyOS-IGW``) you created earlier.
-
- - Click **Save Routes**.
-
- .. figure:: /_static/images/cloud-aws-route-02.png
-
-- **Associate the Public Subnet:**
-
- - Go to the **Subnet Associations** tab and click **Edit Subnet Associations**.
-
- - Select the **Public Subnet** (``VyOS-Public-Subnet``).
-
- - Click **Save associations**.
-
- .. figure:: /_static/images/cloud-aws-route-03.png
-
-
-Step 6: Allocate and Attach Elastic IP (EIP)
------------
-
-An **Elastic IP (EIP)** is a static, public IPv4 address designed for dynamic cloud computing. Elastic IP addresses can help maintain consistent connectivity to instances, even if they are stopped, rebooted, or replaced.
-
-- Elastic IP addresses are **public IPv4 addresses** and are reachable from the internet.
-- They can be quickly remapped to different instances or network interfaces within your AWS account to mask failures.
-
-For more details, refer to the official AWS documentation:
-
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html.
-
-
-Steps to Allocate and Attach Elastic IP
-^^^^^^^^^^^^^^
-
-1. Allocate Elastic IP
-""""""""""
-
-- Open the **Amazon EC2 Console** at https://console.aws.amazon.com/ec2/.
-
-- In the navigation pane, choose **Elastic IPs**.
-
-- Choose **Allocate Elastic IP address**.
-
-- **Elastic IP address settings**:
- - For **Public IPv4 address pool**, select **Amazon's pool of IPv4 addresses**.
-
-- (Optional) Add a tag:
- - **Key**: ``Name``, **Value**: ``VyOS-EIP``.
-
-- Choose **Allocate**.
-
-.. figure:: /_static/images/cloud-aws-eip-01.png
-
-2. Attach Elastic IP to Public ENI
-""""""""""
-
-- Go to **EC2 > Elastic IPs**.
-
-- Select the **Elastic IP** you just allocated.
-
-- Choose **Actions > Associate Elastic IP address**.
-
-- **Configure Association**:
-
- - **Resource type**: Choose **Network Interface**.
-
- - **Network Interface**: Select the **VyOS-Public-ENI** created earlier.
-
- - **Private IPv4 Address**: Ensure it is correctly selected.
-
-- (Optional) Select **Allow the Elastic IP address to be reassociated** if the EIP is already associated with another resource.
-
-- Choose **Associate**.
-
-.. figure:: /_static/images/cloud-aws-eip-02.png
-
-**Why Use Elastic IP?**
-
-- **Consistency**: The EIP remains static, even if the instance stops or is replaced.
-
-- **Failover**: If an instance fails, you can remap the EIP to a new instance to restore services quickly.
-
-- **DNS Integration**: You can point your domain to the Elastic IP for consistent public access.
-
-For additional details, refer to the AWS documentation:
-
-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-eips.html
-
-
-Launch VyOS Instance
-========
-
-Follow the detailed instructions below to launch a VyOS instance in your AWS environment with two ENIs (Public and Private).
-
-- Open the **Amazon EC2 Console** at https://console.aws.amazon.com/ec2/.
-
-- In the EC2 dashboard, choose **Launch Instance**.
-
-- **Configure Instance Details**:
-
- - **Name and Tags**:
-
- - Under **Name and tags**, enter a descriptive name for your instance, e.g., ``VyOS-Instance``.
-
- .. figure:: /_static/images/cloud-aws-vyos-01.png
-
- - **Application and OS Images (AMI)**:
-
- - Choose **Browse more AMIs**.
-
- - Go to the **AWS Marketplace** tab and search for **VyOS**.
-
- - Choose the VyOS AMI that matches your requirements and click **Select**.
-
- .. figure:: /_static/images/cloud-aws-vyos-02.png
-
- .. figure:: /_static/images/cloud-aws-vyos-03.png
-
- - **Instance Type**:
- - Select the instance type that fits your workload. For example:
-
- - ``c5n.large`` (or larger recommended for VyOS).
-
- .. figure:: /_static/images/cloud-aws-vyos-04.png
-
- - **Key pair (login)**:
-
- - For **Key pair name**, select the key pair you created earlier (``vyos-keypair``).
-
- - If you do not have a key pair, create a new one and download the private key file.
-
- .. figure:: /_static/images/cloud-aws-vyos-05.png
-
- - **Network Settings**:
-
- - **VPC**: Select ``VyOS-VPC``.
-
- - **Subnet**: Select the **Public Subnet** (``VyOS-Public-Subnet``).
-
- - **Auto-assign Public IP**: **Disable**.
-
- - **Firewall (security groups)**: Select the **Select existing security group**.
-
- - **Common security groups**: Live empty (Do not select any security groups).
-
- .. figure:: /_static/images/cloud-aws-vyos-09.png
-
- - **Advanced network configuration**
-
- - **Network interface 1** select ``VyOS-Public-ENI``
-
- .. figure:: /_static/images/cloud-aws-vyos-07.png
-
- - Click to the **Add network interface** button
-
- - **Network interface 2** select ``VyOS-Private-ENI``
-
- .. figure:: /_static/images/cloud-aws-vyos-08.png
-
- - In **Subnet** deselect subnet
-
- .. figure:: /_static/images/cloud-aws-vyos-10.png
-
-- Review the instance configuration in the **Summary** panel and choose **Launch Instance**.
-
-- Wait until the instance status changes to **Running**.
-
-.. figure:: /_static/images/cloud-aws-vyos-11.png
-
-
-Connect to the VyOS instance
------------
-
- You can only connect to the VyOS instance via **SSH** protocol. Use the default username **vyos**, **Elastic IP** and **SSH Key Pair** to connect to the VyOS instance via SSH:
-
- .. code-block:: none
-
- ssh -i vyos-keypair.pem vyos@35.152.131.62
-
-
-
-
-Deployment of VyOS Instance and Required Resources via CloudFormation Template
-========
-
-These CloudFormation templates automate the deployment of a VyOS instance on AWS, configuring essential components such as:
-
-- VPC
-- Public and private subnets
-- Internet Gateway
-- Route Tables
-- Elastic IPs
-- Security Groups
-
-You can download or clone these templates from the GitHub repository and use them in your environment:
-
-https://github.com/vyos/vyos-automation/tree/main/CloudFormation
-
-
-
-Deployment of VyOS Instance and Required Resources via Terraform
-========
-
-These Terraform projects automate the deployment of a VyOS instance on AWS, configuring essential components such as:
-
-- VPC
-- Public and private subnets
-- Internet Gateway
-- Route Tables
-- Elastic IPs
-- Security Groups
-
-You can download or clone these templates from the GitHub repository and use them in your environment:
-
-https://github.com/vyos/vyos-automation/tree/main/Terraform/AWS/
-
-
-Amazon CloudWatch Agent Usage
------------------------------
-
-To use Amazon CloudWatch Agent, configure it within the Amazon SSM Parameter Store. If you don't have a configuration yet, do :ref:`configuration_creation`.
-
-1. Create an :abbr:`IAM (Identity and Access Management)` role for the :abbr:`EC2 (Elastic Compute Cloud)` instance to access CloudWatch service, and name it CloudWatchAgentServerRole. The role should contain two default policies: CloudWatchAgentServerPolicy and AmazonSSMManagedInstanceCore.
-
-2. Attach the created role to your VyOS :abbr:`EC2 (Elastic Compute Cloud)` instance.
-
-3. Ensure that amazon-cloudwatch-agent package is installed.
-
- .. code-block:: none
-
- $ sudo apt list --installed | grep amazon-cloudwatch-agent
-
- .. note:: The amazon-cloudwatch-agent package is normally included in VyOS 1.3.3+ and 1.4+
-
-3. Retrieve an existing CloudWatch Agent configuration from the :abbr:`SSM (Systems Manager)` Parameter Store.
-
- .. code-block:: none
-
- $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:<your-configuration-name>
-
- This step also enables systemd service and runs it.
-
- .. note:: The VyOS platform-specific scripts feature is under development. Thus, this step should be repeated manually after changing system image (:doc:`/installation/update`)
-
-.. _configuration_creation:
-
-CloudWatch SSM Configuration creation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Creating the Amazon Cloudwatch Agent Configuration in Amazon :abbr:`SSM (Systems Manager)` Parameter Store.
-
-1. Create an :abbr:`IAM (Identity and Access Management)` role for your :abbr:`EC2 (Elastic Compute Cloud)` instance to access the CloudWatch service. Name it CloudWatchAgentAdminRole. The role should contain at two default policies: CloudWatchAgentAdminPolicy and AmazonSSMManagedInstanceCore.
-
- .. note:: CloudWatchAgentServerRole is too permissive and should be used for single configuration creation and deployment. That's why after completion of step #3 highly recommended to replace instance CloudWatchAgentAdminRole role with CloudWatchAgentServerRole.
-
-2. Run Cloudwatch configuration wizard.
-
- .. code-block:: none
-
- $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
-
-3. When prompted, answer "yes" to the question "Do you want to store the config in the SSM parameter store?".
-
-References
-----------
-- https://console.aws.amazon.com/
-- https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html
-- https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance-fleet.html