Git Product home page Git Product logo

aws's Introduction

aws

Launch Stack

These AWS CloudFormation templates create a full application stack for a multitenant-ready Hydra-in-a-Box application, including:

  • a dedicated Amazon Virtual Private Cloud (VPC) for the stack components, with public and private subnets across 3 Availability Zones, and a bastion host providing SSH access for system administrators;
  • a multi-node SolrCloud cluster backed by a multi-node zookeeper ensemble;
  • a PostgreSQL database with a multi-availability zone hot spare;
  • a (single node) Fedora 4 server;
  • and a Rails application stack, with auto-scaling webapp and worker tiers and continuous deployment of the application code.

AWS Stack Diagram

Creating the full stack

  1. Create or import an EC2 key-pair.

  2. Create a public hosted zone; the web application will automatically manage DNS entries in this zone.

  3. Copy the params/stack.json template to a new environment-specific file, populating the parameter values as appropriate for your environment (and, particularly, the key name and hosted zone created above; the other settings, while insecure, may suffice for development purposes). Additional parameters may be available, and are documented in templates/stack.json.

  4. Create the full application stack:

$ aws --region us-east-1 cloudformation create-stack --stack-name hybox --template-body https://s3.amazonaws.com/hybox-deployment-artifacts/cloudformation/current/templates/stack.json --capabilities CAPABILITY_IAM --parameters file://params/my-hybox-environment.json

You can also create (or update) your application from branches of the cloudformation repository:

$ aws --region us-east-1 cloudformation create-stack --stack-name hybox --template-body https://s3.amazonaws.com/hybox-deployment-artifacts/cloudformation/branch/branch-name/templates/stack.json --capabilities CAPABILITY_IAM --parameters file://params/my-hybox-environment.json

You can also deploy branches of the hybox application repository by setting the WebappS3Key parameter for your stack to point at the branch-specific deployment artifact (e.g. lerna/branch/branch-name/lerna.zip)

Travis deployment integration

The AWS CloudFormation stack must be deployed into an S3 bucket for CloudFormation to correctly resolve sub-stack references. The templates/travis.json stack will bootstrap the necessary buckets, IAM user, and access keys to support continuous deployment from both this CloudFormation repository and the Hydra-in-a-Box application repository.

This bootstrapping is already provided for the main repositories, but if you deploy a fork of this stack, you may need to create this stack and configure continuous deployment for your forks.

$ aws --region us-east-1 cloudformation create-stack --stack-name travis --template-body file://templates/travis.json --capabilities CAPABILITY_IAM

You will need the outputs from this stack to create deploy steps for these repositories.

aws's People

Contributors

cbeer avatar eefahy avatar mjgiarlo avatar bbranan avatar jcoyne avatar

Watchers

James Cloos avatar Rory Bramwell avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.