hongyuanlei / aws-architecture-workshop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aws-architecture-workshop

目标架构

aws-target

环境准备(VPC & Bastion)

在环境准备中将会创建VPC和Bastion,此部分只需要活动组织者运行一次即可。

aws-vpc-and-bastion

How to run create it?

在开始之前,你需要手动在AWS Web Console上创建名为: aws-architecture-workshop的key,下载后分发给所有学员。

$ git checkout master

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-networking-bastion.yml -vvv

How to connect to your bastion?

$ ssh-add ~/.ssh/aws-architecture-workshop.pem && ssh -A ec2-user@bastion.aws-architecture-workshop.com

EC2 Instance In Public Subnet

在运行cloudformation之前,需要修改inventory/dev/group_vars/all.yml中的trainee_name,否则会出现cloudformation stack重名的问题。

aws-ec2-instance-in-public-subnent

$ git checkout jenkins-instance

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-jenkins.yml -vvv

ASG In Public Subnet

aws-public-subnet

$ git checkout jenkins-auto-scaling-in-public-subnet

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-jenkins.yml -vvv

ALB + ASG In Public Subnet

aws-alb-public-subent

$ git checkout jenkins-alb-auto-scaling-public

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-jenkins.yml -vvv

ALB + ASG In Private Subnet

aws-alb-private-subent

$ git checkout jenkins-alb-auto-scaling-private

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-jenkins.yml -vvv

Route53 + ALB + ASG In Private Subnet

aws-route53-alb-private-subent

$ git checkout jenkins-alb-auto-scaling-route53

$ docker run --rm -it \
    -e AWS_ACCESS_KEY_ID=xxxxx \
    -e AWS_SECRET_ACCESS_KEY=xxxxx \
    -v ~/workspace/aws-training/aws-networking-bastion:/app \
    -w /app zpei/workshop:latest \
        ansible-playbook -i inventory/dev/inventory playbook-jenkins.yml -vvv

About