List of supported clouds > Amazon EC2
This document describes details specific to using your existing Amazon EC2 cloud with Juju.
See more: Amazon EC2
When using the Amazon EC2 cloud with Juju, it is important to keep in mind that it is a (1) machine cloud and (2) not some other cloud.
See more: Cloud differences in Juju
As the differences related to (1) are already documented generically in our Tutorial, How-to guides, and Reference docs, here we record just those that follow from (2).
Juju points of variation | Notes for the Amazon EC2 cloud |
---|---|
setup (chronological order): | |
CLOUD | |
requirements: | TBA |
definition: | Juju automatically defines a cloud of this type. |
- name: | aws or user-defined |
- type: | ec2 |
- authentication types: | [access-key, secret-key] |
- regions: | [TO BE ADDED] |
- cloud-specific model configuration keys: | vpc-id (string) Sets a specific AWS VPC ID. Optional. When not specified, Juju requires a default VPC or EC2-Classic features to be available for the account/region. If your AWS account was created before 04-12-2013: Your account does not have a default VPC. As a result, Juju may select a much larger instance type than what is required. To remedy this, create a default VPC. |
CREDENTIAL | |
definition: | auth-type : access-key , which requires you to provide your access key and your secret key. See more: Amazon | AWS security credentials If you want to use a YAML file: If you want to use environment variables: |
CONTROLLER | |
notes on bootstrap: | You can authenticate the controller with the cloud using instance profiles: Use the cloud CLI to create an instance profile, then pass the instance profile to the controller during bootstrap via the instance-role constraint: juju bootstrap --bootstrap-constraints="instance-role=<my instance profile>" . See more: instance-role below or Discourse | Using AWS instance profiles with Juju. |
other (alphabetical order:) | |
CONSTRAINT | |
conflicting: | [instance-type] vs. [cores, cpu-power, mem] |
supported? | |
- allocate-public-ip |
|
- arch |
|
- container |
|
- cores |
|
- cpu-power |
|
- image-id |
(Starting with Juju 3.3) Type: String. Valid values: An AMI. |
- instance-role |
Value: auto or an instance profile name. |
- instance-type |
Valid values: See cloud provider. Default value: m3.medium . |
- mem |
|
- root-disk |
|
- root-disk-source |
|
- spaces |
|
- tags |
|
- virt-type |
|
- zones |
|
PLACEMENT DIRECTIVE | |
<machine> |
|
subnet=... |
|
system-id=... |
|
zone=... |
If the query looks like a CIDR, then this will match subnets with the same CIDR. If it follows the syntax of a “subnet-XXXX”, this will match the Subnet ID. Everything else is just matched as a Name. |
RESOURCE (cloud) Consistent naming, tagging, and the ability to add user-controlled tags to created instances. |