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).