Няма описание

Roberto Barbosa ccd3ed615d added instance ip/dns outputs преди 8 години
bastion 9ea4dd60e6 Correct secgroup var on module instance преди 8 години
elasticcache 9c5fcbab8e more directories clean up преди 8 години
instance ccd3ed615d added instance ip/dns outputs преди 8 години
net 14a103258d abstracted the module to be used outside from this repo преди 8 години
rds 03b4326bf9 Merge branch 'master' of https://github.com/nuxeo/cloud-aws-stack преди 8 години
s3 ccd3ed615d added instance ip/dns outputs преди 8 години
vpc ccd3ed615d added instance ip/dns outputs преди 8 години
.gitignore 7e325d6e65 first modules for nuxeo stack template преди 8 години
README.md 846a0a7ec0 Completed Instructions on Readme преди 8 години
graph.png 6dc3eef4eb Added Bastion Host преди 8 години
main.tf 4a24b70559 module nuxeo need ami for instance creation преди 8 години
terraform.tfvar 6c53ecdc83 Created a template tfvars to be supplied when using the modules non-interactively преди 8 години
variables.tf 85622a32e2 Removed AWS default region преди 8 години

README.md

cloud-aws-stack

Host default provisioning templates for Nuxeo

What's in this modules?

This is a set of Terraform modules for configuring infrastructure environments with AWS.

The Stack implements the current procedure at https://wiki.nuxeo.com/display/INFRA/Cloud+Provisioning

  • Create Subnets for the Stack
    • One Public with a /24 size.
    • One private Subnet to run Nuxeo
    • At least 2 Private Subnets for Databases
  • Create a NAT Gateway in one of the Public Subnets
  • Create a Route with the Internet Gateway as default route, associate it with the Public Subnet(s)
  • Create a Route with the NAT Gateway as default route, that should be associated to all Private Subnets when they are created
  • Create a Security Group for ELBs that accepts HTTP and HTTPS from anywhere
  • Create a Security Group for Bastion Hosts that accepts SSH from anywhere
  • Create a Bastion Host with bastion host SG associated to ti, install NTP and Userify on it

Requirements

Before we start, you'll first need:

Quick Start

To be able to use this stack create a terraform like:

module "nuxeo-env" {
  source = "github.com/nuxeo/cloud-aws-stack"

  stack_name = "acme"
  vpc_id="vpc-8beb14ec"
  public_subnets = ["10.0.10.0/24"]
  private_subnets = ["10.0.11.0/24"]
  private_db_subnets = ["10.0.100.0/24","10.0.101.0/24"]
  public_key_path="/Users/<user>/.ssh/id_rsa.pub"
}

To test and plan what you're about to do, run:

terraform get   # Get remote modules 
terraform plan

You should get all that is going to be installed.

If you want to see the resource dependency graph, install Graphviz and run:

terraform graph | dot -Tpng > graph.png

Create Resources

To create resources on AWS, run:

terraform apply

Destroy Resources

To delete all resources on AWS, run:

terraform destroy

NOTE: Persisten Data resources will be marked with a lifecycle policy to prevent being deleted.