github.com/dahs81/otto@v0.2.1-0.20160126165905-6400716cf085/website/source/docs/infra/aws.html.md (about) 1 --- 2 layout: "docs" 3 page_title: "Infra Type - AWS" 4 sidebar_current: "docs-infra-aws" 5 description: |- 6 The AWS infrastructure type allows Otto to deploy applications to 7 Amazon Web Services. 8 --- 9 10 # Infrastructure Type: AWS 11 12 The AWS infrastructure type allows Otto to deploy applications to [Amazon 13 Web Services](https://aws.amazon.com/). 14 15 ## Credentials 16 17 Otto needs AWS API credentials in order to be able to manage resources on AWS 18 for you. Otto will ask you for these credentials during its first run it does 19 not not have any. Otto [stores these credentials in an encrypted cache 20 file](/docs/infra/index.html#credentials) for subsequent runs. 21 22 You can avoid being prompted for these credentials by providing them via 23 environment variables instead. Each field lists the environment variable that 24 can be used to set it. 25 26 Here is the list of credentials Otto needs for the AWS infrastructure type: 27 28 * __AWS Access Key__ - the identifier portion of the standard AWS API key pair 29 (Env var: `AWS_ACCESS_KEY_ID`) 30 * __AWS Secret Key__ - the secret portion of the standard AWS API key pair 31 (Env var: `AWS_SECRET_ACCESS_KEY`) 32 * __SSH Public Key Path__ - a path to an SSH public key that Otto will grant 33 access to any instances it creates in this infrastructure (Env var: 34 `AWS_SSH_PUBLIC_KEY_PATH`) 35 36 ## Flavors 37 38 Otto currently supports two infrastructure "flavors", both of which 39 involve AWS, but represent different styles of deployment. 40 41 ### Flavor: "simple" 42 43 This is the default infrastructure that Otto uses. It's 44 meant for demonstration purposes, as it skips over certain security and 45 redundancy considerations in favor of getting users up and running quickly and 46 cheaply. 47 48 It consists of the following resources: 49 50 * A VPC with one public subnet, configured to assign a public IP address and 51 DNS hostname to any instance launched into it. 52 * A key pair using the SSH public key you provide, which will be added to any 53 instances launched into your infrastructure. 54 * By default, it also includes a simple flavor of the ["Consul" 55 foundation](/docs/foundations/consul.html). 56 57 ### Flavor: "vpc-public-private" 58 59 This flavor sets up a more production-like infrastructure in AWS. It involves 60 more resources, which means it is more expensive to run and it takes longer to 61 create, but it yields more robust and performant application deployments. 62 63 It has the following resources: 64 65 * A VPC with one public and one private subnet. 66 * A NAT instance launched into the public subnet, configured to provide egress 67 network connectivity from the private subnet. 68 * A Bastion host launched into the public subnet, so private instances can be 69 accessed via SSH. 70 * By default, it also includes a production cluster from the ["Consul" 71 foundation](/docs/foundations/consul.html).