There are four components to the AWS manage_ec2_instances
role:
-
resources - this provisions AWS Virtual Private Cloud (VPC), the associated Security Group, the EC2 subnet, route table and SSH key-pair. The network and security workshop types use two VPCs to create separate networks. Example for resources can be found in
provisioner/roles/manage_ec2_instances/tasks/resources
. If you only need a single VPC, you most likely do not have to worry about the resources, and can just copy the defaultworkshop_type: rhel
setup. -
instances - this provisions the actual Amazon instances (e.g. Red Hat Enterprise Linux 8, Cisco IOS, Microsoft Windows, etc) onto the VPC recreated in the
resources
part of the provisioner. Examples for eachworkshop_type
can be found inprovisioner/roles/manage_ec2_instances/tasks/instances
-
ami_find - this dynamically figures out the correct AMI (Amazon Machine Image) to use depending on which Amazon region you are in (e.g.
us-east-1
). Examples for eachworkshop_type
can be found inprovisioner/roles/manage_ec2_instances/tasks/ami_find
-
inventory - this loads the newly created instances into Ansible Inventory so subsequent Ansible Plays can be executed. This is so Ansible can now configure the vanilla images by making changes to the newly created instances. For example we install Ansible for each student, configure their
/etc/hosts
, the~/.ssh/config
and much more depending theworkshop_type
. Examples of inventory can be found inprovisioner/roles/manage_ec2_instances/tasks/inventory
Please file issues on Github. Please fill out all required information. Your issue will be closed if you skip required information in the Github issues template.