Cisco IOS Cloud Shell repository is a cutting-edge Infrastructure As Code (IaC) solution that will revolutionize the way you deploy Cisco Virtual Routers on the Cloud.
This custom solution is written in Hashicorp Configuration Language (HCL) and is designed for network developers who want to streamline the process for deploying either the latest Catalyst 8000V or its predecessor, the Cloud Services Router 1000V, As A Service.
With this solution, you can say goodbye to manual configurations and hello to a fully automated and customizable deployment process.
By using Terraform, you can save time, reduce errors, and ensure consistency across your network infrastructure. With its powerful automation capabilities and flexibility, you'll be able to deploy Cisco Virtual Routers like never before.
To deploy this infrastructure you will need:
- AWS account.
- AWS CLI (2.10.4+) installed.
- Terraform CLI (0.14.9+) installed.
- Git (2.37.1+) installed.
- Clone the solution repository to your local device:
git clone https://github.com/etoromol/ios-cloudshell.git
cd ios-cloudshell
- Initialize the working directory with Terraform:
terraform init
- (optional) If you haven't already authenticated your AWS account in AWS CLI, please complete the following steps:
- Create a new Access Key on My security credentials.
- Enter your AWS Access Key ID and Secret Access Key for verification.
aws configure
The configuration process stores your credentials in a file at ~/.aws/credentials on MacOS and Linux, or %UserProfile%.aws\credentials on Windows.
- (optional) Navigate to the Variable Component (variable.tf) and customize the solution's details according to your requirements (description and tag).
variable "project" {
description = "Cisco IOS-XE Software As A Service" <<-
type = map(string)
default = {
tag = "ios-cloudshell" <<-
}
}
- Initiate the deployment process:
terraform apply
It is recommended that you review the deployment plan before with "terraform plan".
- Once your IOS Cloud Shell is ready, access it using the command below.:
ssh -i ios-cloudshell-key.pem \
-o PubkeyAcceptedKeyTypes=+ssh-rsa \
ec2-user@shell-ip
You can obtain the value of shell-ip by running "terraform output"
- If the IOS Cloud Shell is no longer required, it should be destroyed.:
terraform destroy
Terraform will present the deployment and destruction plans before and after initialization. Proceed with the destruction/deployment by typing 'yes'; otherwise, Terraform will not proceed any further.
Copyright (c) 2023 Eduardo Toro.
Licensed under the MIT license.