├── .gitignore
├── .gitmodules
├── CONTRIBUTING.md
├── LICENSE
├── LICENSE-SAMPLECODE
├── LICENSE-SUMMARY
├── README.md
├── README.pt.md
├── metadata.yml
└── workshop
├── config.toml
├── content
├── _index.en.md
├── _index.pt.md
├── authors.en.md
├── authors.pt.md
├── design-patterns
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── decoupling.pt.md
│ ├── design-for-failure.pt.md
│ ├── distributed-cache.pt.md
│ ├── exponential-backoff.pt.md
│ └── stateless.pt.md
├── intro
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── concepts
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── availability.en.md
│ │ ├── availability.pt.md
│ │ ├── chaos-engineering.en.md
│ │ ├── chaos-engineering.pt.md
│ │ ├── failover.en.md
│ │ ├── failover.pt.md
│ │ ├── migration.en.md
│ │ ├── migration.pt.md
│ │ ├── resiliency.en.md
│ │ └── resiliency.pt.md
│ ├── disaster-recovery
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── architecture-pillars.en.md
│ │ └── architecture-pillars.pt.md
│ └── infra-aws
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── regions-az.en.md
│ │ └── regions-az.pt.md
├── labs
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── advanced
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── api-gateway
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudshell.en.md
│ │ │ ├── cloudshell.pt.md
│ │ │ └── code
│ │ │ │ ├── apigw-api-cfn-template.yaml
│ │ │ │ └── apigw-lab.drawio
│ │ ├── aurora-global-database
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── code
│ │ │ │ ├── aurora-gdb-primary-cfn-template.yml
│ │ │ │ └── aurora-gdb-second-cfn-template.yml
│ │ │ ├── connect
│ │ │ │ ├── _index.en.md
│ │ │ │ └── _index.pt.md
│ │ │ ├── failover.en.md
│ │ │ └── monitor.en.md
│ │ ├── elb-health-check
│ │ │ ├── _index.pt.md
│ │ │ └── console.pt.md
│ │ └── kubernetes-dr-kubefed
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloud9.en.md
│ │ │ └── cloud9.pt.md
│ ├── basics
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── cloudfront
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudshell.en.md
│ │ │ ├── cloudshell.pt.md
│ │ │ └── code
│ │ │ │ └── cloudfront-origin-failover.drawio
│ │ ├── dynamo-global-tables
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudshell.en.md
│ │ │ ├── cloudshell.pt.md
│ │ │ ├── console.en.md
│ │ │ └── console.pt.md
│ │ ├── ecr-replication
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloud9.en.md
│ │ │ └── cloud9.pt.md
│ │ ├── elasticache-global-datastore
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloud9.en.md
│ │ │ └── cloud9.pt.md
│ │ ├── lambda
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudshell.en.md
│ │ │ ├── cloudshell.pt.md
│ │ │ ├── console.en.md
│ │ │ └── console.pt.md
│ │ ├── route53
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudshell.en.md
│ │ │ ├── cloudshell.pt.md
│ │ │ └── code
│ │ │ │ ├── route53-private-hosted-zone.json
│ │ │ │ ├── route53-vpc-cfn-template.yaml
│ │ │ │ └── route53.drawio
│ │ └── secrets-manager
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── console.en.md
│ │ │ └── console.pt.md
│ └── intermediate
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── auto-backup-plan
│ │ ├── _index.pt.md
│ │ └── console.pt.md
│ │ ├── bidire-rep-s3
│ │ ├── _index.en.md
│ │ └── _index.pt.md
│ │ └── fsx-windows-file-server
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── console.en.md
│ │ ├── console.pt.md
│ │ └── images
│ │ ├── architecture.png
│ │ ├── step1.png
│ │ ├── step4.png
│ │ ├── step4_1.png
│ │ ├── step4_2.png
│ │ ├── step4_3.png
│ │ ├── step5_1.png
│ │ ├── step5_12.png
│ │ ├── step5_13.png
│ │ ├── step5_2.png
│ │ ├── step5_22.png
│ │ ├── step5_31.png
│ │ ├── step5_32.png
│ │ ├── step5_41.png
│ │ └── step5_42.png
├── more-resources.en.md
├── more-resources.pt.md
├── prereqs
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── aws_event
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── portal.en.md
│ │ └── portal.pt.md
│ ├── self_paced
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── account.en.md
│ │ └── account.pt.md
│ └── workspace
│ │ ├── ec2instance.en.md
│ │ ├── ec2instance.pt.md
│ │ ├── iamrole.en.md
│ │ ├── iamrole.pt.md
│ │ ├── prereqs.en.md
│ │ ├── prereqs.pt.md
│ │ ├── update_workspace.en.md
│ │ ├── update_workspace.pt.md
│ │ ├── us-east-1.en.md
│ │ ├── us-east-1.pt.md
│ │ ├── us-west-1.en.md
│ │ ├── us-west-1.pt.md
│ │ ├── workspace.en.md
│ │ ├── workspace.pt.md
│ │ ├── workspaceiam.en.md
│ │ └── workspaceiam.pt.md
├── refarchs
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── active-active.pt.md
│ ├── bkp-from-prem-to-aws.pt.md
│ └── three-tier-web
│ │ ├── _index.pt.md
│ │ ├── three-tier-active.pt.md
│ │ ├── three-tier-bkp.pt.md
│ │ ├── three-tier-warm.pt.md
│ │ └── three-tier-web-pilot.pt.md
├── service-map
│ ├── _index.en.md
│ └── _index.pt.md
├── services
│ ├── _index.en.md
│ ├── _index.pt.md
│ ├── analytics
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── elasticsearch
│ │ │ ├── _index.en.md
│ │ │ └── _index.pt.md
│ │ └── kinesis
│ │ │ ├── _index.en.md
│ │ │ └── _index.pt.md
│ ├── app_integration
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ └── sqs
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── active-active.en.md
│ │ │ ├── active-active.pt.md
│ │ │ ├── backup-restore.en.md
│ │ │ ├── backup-restore.pt.md
│ │ │ ├── pilot-light.en.md
│ │ │ ├── pilot-light.pt.md
│ │ │ ├── warm-standby.en.md
│ │ │ └── warm-standby.pt.md
│ ├── compute
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── ec2
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudendure-ec2-DR.en.md
│ │ │ ├── cloudendure-ec2-DR.pt.md
│ │ │ ├── ec2-copy-AMI.en.md
│ │ │ └── ec2-copy-AMI.pt.md
│ │ └── lambda
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── manual.en.md
│ │ │ ├── manual.pt.md
│ │ │ ├── pipeline.en.md
│ │ │ └── pipeline.pt.md
│ ├── containers
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── ecr
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── ecr.en.md
│ │ │ └── ecr.pt.md
│ │ ├── ecs
│ │ │ ├── _index.en.md
│ │ │ └── _index.pt.md
│ │ └── eks
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── eks-cluster-multi-region.en.md
│ │ │ └── eks-cluster-multi-region.pt.md
│ ├── databases
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── aurora
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── aurora-cross-region-replication.en.md
│ │ │ ├── aurora-cross-region-replication.pt.md
│ │ │ ├── aurora-snapshot-copy.en.md
│ │ │ ├── aurora-snapshot-copy.pt.md
│ │ │ ├── global-database.en.md
│ │ │ └── global-database.pt.md
│ │ ├── dynamodb
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── dynamo-global-table.en.md
│ │ │ └── dynamo-global-table.pt.md
│ │ ├── elasticache
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── elasticache-backup.en.md
│ │ │ ├── elasticache-backup.pt.md
│ │ │ ├── global-datastore.en.md
│ │ │ └── global-datastore.pt.md
│ │ └── rds
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── rds-backup.en.md
│ │ │ ├── rds-backup.pt.md
│ │ │ ├── rds-cross-region.en.md
│ │ │ └── rds-cross-region.pt.md
│ ├── management
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── cloudformation
│ │ │ ├── _index.en.md
│ │ │ └── _index.pt.md
│ │ └── cloudwatch
│ │ │ ├── _index.en.md
│ │ │ └── _index.pt.md
│ ├── networking
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── apigw
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── active-active.en.md
│ │ │ ├── active-active.pt.md
│ │ │ ├── backup-restore.en.md
│ │ │ ├── backup-restore.pt.md
│ │ │ ├── pilot-light.en.md
│ │ │ ├── pilot-light.pt.md
│ │ │ ├── warm-standby.en.md
│ │ │ └── warm-standby.pt.md
│ │ ├── cloudfront
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── cloudfront-failover-lambda.en.md
│ │ │ ├── cloudfront-failover-lambda.pt.md
│ │ │ ├── cloudfront-origin-group.en.md
│ │ │ └── cloudfront-origin-group.pt.md
│ │ ├── route53
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── route53-health-check.en.md
│ │ │ ├── route53-health-check.pt.md
│ │ │ ├── route53-how-route-works.en.md
│ │ │ ├── route53-how-route-works.pt.md
│ │ │ └── routing-policies
│ │ │ │ ├── _index.en.md
│ │ │ │ ├── _index.pt.md
│ │ │ │ ├── routing-failover.en.md
│ │ │ │ ├── routing-failover.pt.md
│ │ │ │ ├── routing-multiple-answer.en.md
│ │ │ │ ├── routing-multiple-answer.pt.md
│ │ │ │ ├── routing-simple.en.md
│ │ │ │ ├── routing-simple.pt.md
│ │ │ │ ├── routing-weighted.en.md
│ │ │ │ └── routing-weighted.pt.md
│ │ └── vpc
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── vpc-peering.en.md
│ │ │ └── vpc-peering.pt.md
│ ├── security
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ └── iam
│ │ │ ├── _index.en.md
│ │ │ ├── _index.pt.md
│ │ │ ├── sts.en.md
│ │ │ └── sts.pt.md
│ └── storage
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── aws-backup
│ │ ├── _index.en.md
│ │ └── _index.pt.md
│ │ └── s3
│ │ ├── _index.en.md
│ │ ├── _index.pt.md
│ │ ├── s3-crr.en.md
│ │ └── s3-crr.pt.md
├── survey.en.md
├── survey.pt.md
└── taxonomy.md
├── layouts
├── _default
│ ├── _markup
│ │ └── render-link.html
│ ├── list.html
│ └── taxonomyAll.html
├── partials
│ ├── custom-header.html
│ ├── favicon.html
│ ├── header.html
│ ├── logo.html
│ ├── menu-footer.html
│ ├── ribbon.html
│ └── tags.html
└── shortcodes
│ ├── iframe.html
│ ├── img.html
│ ├── output.html
│ ├── servicebyfeature.html
│ ├── siteurl.html
│ ├── tab.html
│ └── tabs.html
├── requirements.txt
└── static
├── css
├── atom-one-dark-reasonable.css
├── auto-complete.css
├── featherlight.min.css
├── fontawesome-all.min.css
├── hugo-theme.css
├── hybrid.css
├── images
│ ├── ui-icons_444444_256x240.png
│ ├── ui-icons_555555_256x240.png
│ └── ui-icons_777777_256x240.png
├── jquery-ui.min.css
├── nucleus.css
├── perfect-scrollbar.min.css
├── tags.css
├── theme-aws.css
└── theme.css
├── images
├── Global-DataStore.png
├── alb-health-check.png
├── apigw-lab-architecture.png
├── apigw-policy.png
├── aurora-1-connect-session.png
├── aurora-1-ee-dashboard.png
├── aurora-1-ee-login.png
├── aurora-1-ee-open-console.png
├── aurora-1-ee-outputs.png
├── aurora-1-getstarted.png
├── aurora-1-hostbase.png
├── aurora-1-start-session.png
├── aurora-1-terminal-sudo.png
├── aurora-1.create-default.png
├── aurora-1.create.png
├── aurora-1.start-session.png
├── aurora-2-create-stack-confirm.png
├── aurora-2-create-stack-params.png
├── aurora-2-login.png
├── aurora-2-region-select.png
├── aurora-2-stack-outputs.png
├── aurora-2-stack-status.png
├── aurora-cf-delete.png
├── aurora-cfn-create-stack-confirm.png
├── aurora-cfn-stack-outputs.png
├── aurora-cfn-stack-status.png
├── aurora-cloudformation-launch-stack.png
├── aurora-cw-dash-actions.png
├── aurora-cw-dash-add-number.png
├── aurora-cw-dash-create.png
├── aurora-cw-dash-listing.png
├── aurora-cw-dash-multi-widget.png
├── aurora-cw-dash-single-widget.png
├── aurora-cw-dash-source.png
├── aurora-cw-widget-setup.png
├── aurora-generic-architecture.png
├── aurora-rds-cluster-action-add.png
├── aurora-rds-cluster-action-modify.png
├── aurora-rds-cluster-action-remglobal.png
├── aurora-rds-cluster-add-region-1.png
├── aurora-rds-cluster-add-region-2.png
├── aurora-rds-cluster-add-region-3.png
├── aurora-rds-cluster-add-region-4.png
├── aurora-rds-cluster-add-region-5.png
├── aurora-rds-cluster-add-region.png
├── aurora-rds-cluster-confirm-remglobal.png
├── aurora-rds-cluster-disable-backtrack.png
├── aurora-rds-cluster-endpoints-promoted.png
├── aurora-rds-cluster-modify-confirm.png
├── aurora-rds-cluster-primary-metrics.png
├── aurora-rds-cluster-secondary-endpoints.png
├── aurora-rds-del-confirm.png
├── aurora-rds-delete.png
├── aurora-ssm-cmd-sysbench.png
├── aurora-subnet-delete.png
├── aurora-vpc-nacl-rules.png
├── aurora-vpc-subassoc-edit.png
├── auto-backup-plan.jpeg
├── aws-region.png
├── aws-region2.png
├── aws-sol-multi-region-application.png
├── c9after.png
├── c9attachrole.png
├── c9attachrole2.png
├── c9before.png
├── c9disableiam.png
├── c9instancerole.png
├── c9instancerole2.png
├── chapter.en.png
├── clippy.svg
├── cloudfront-failover.png
├── cloudfront-origin-failover.png
├── cloudfront-origingroups-with-lambda-edge.png
├── cloudshell-split-columns.png
├── console-cloudshell.png
├── console-cloudshell2.png
├── copy-paste.png
├── createrole.png
├── dr-multi-region.png
├── dynamodb-create-item-1.png
├── dynamodb-create-item-2.png
├── dynamodb-create-replica-oregon.png
├── dynamodb-create-table.png
├── dynamodb-global-tables-list.png
├── dynamodb-item-replicated.png
├── ec2-ami-copy.png
├── ec2-cloudendure-dr.png
├── ec2-instances-ami.png
├── ecr-crr-scenario-1.png
├── eks-cluster-multi-region.jpg
├── event-engine-aws-console.png
├── event-engine-dashboard.png
├── event-engine-initial-screen.png
├── example_pem.png
├── how-route-53-routes-traffic.png
├── iam-1-create-user.png
├── iam-2-attach-policy.png
├── iam-3-create-user.png
├── iam-4-save-url.png
├── kubefed-arch.png
├── lambda-create-function-form.png
├── lambda-create-function.png
├── lambda-export.png
├── lambda-success.png
├── lambda-test-button.png
├── lambda-upload.png
├── route-53-healthcheck.png
├── route53-health-checks.png
├── route53-lab-architecture.png
├── route53-policy.png
├── route53-weighted.png
├── rto-rpo.png
├── s3-bi-crr.png
├── secretmanager-accessing.png
├── secretmanager-architecture.png
├── secretmanager-create.png
├── secretmanager-deletereplica.png
├── secretmanager-looking.png
├── secretmanager-replicating.png
├── secretmanager-replication-result.png
├── stateless.png
└── vpc-peering-diagram.png
└── js
├── html5shiv-printshiv.min.js
├── jquery-3.6.0.min.js
├── jquery-ui-1.12.1.min.js
└── kinesis.js
/.gitignore:
--------------------------------------------------------------------------------
1 | workshop/public
2 | .DS_Store
3 | .vscode
4 | .hugo_build.lock
5 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "workshop/themes/hugo-theme-learn"]
2 | path = workshop/themes/hugo-theme-learn
3 | url = https://github.com/matcornic/hugo-theme-learn
4 |
--------------------------------------------------------------------------------
/LICENSE-SAMPLECODE:
--------------------------------------------------------------------------------
1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this
4 | software and associated documentation files (the "Software"), to deal in the Software
5 | without restriction, including without limitation the rights to use, copy, modify,
6 | merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
7 | permit persons to whom the Software is furnished to do so.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
10 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
11 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
12 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
13 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
14 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15 |
--------------------------------------------------------------------------------
/LICENSE-SUMMARY:
--------------------------------------------------------------------------------
1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 |
3 | The documentation is made available under the Creative Commons Attribution-ShareAlike 4.0 International License. See the LICENSE file.
4 |
5 | The sample code within this documentation is made available under the MIT-0 license. See the LICENSE-SAMPLECODE file.
6 |
--------------------------------------------------------------------------------
/metadata.yml:
--------------------------------------------------------------------------------
1 | #name - DNS-friendly name for the workshop. This will be used when generating the hosting URL (ie. https://my-first-workshop.workshops.aws/)
2 | name: disaster-recovery
3 | #title - The title of your workshop
4 | title: Disaster Recovery on AWS
5 | #description - A short description that will be displayed in search results
6 | description: In this workshop, we will explore some of the techniques to support Disaster Recovery strategies based on multi-region approach.
7 | #categories - Refer to official AWS categories covered by the workshop content here
8 | categories:
9 | - Containers
10 | - Databases
11 | - Networking
12 | - Serverless
13 | - Security
14 | - Storage
15 | - Disaster Recovery
16 | - Well Architected
17 | #services - Refer to the official AWS service names covered by the workshop content here
18 | services:
19 | - API Gateway
20 | - Aurora
21 | - CloudFront
22 | - DynamoDB
23 | - EC2
24 | - ECR
25 | - EKS
26 | - Lambda
27 | - S3
28 | - Secrets Manager
29 | #level - Approximate skill level needed for this workshop
30 | level: 300
31 | #duration - Estimated duration in minutes
32 | duration: 480
33 | #cost - Cost in USD. If the content is offered without cost, enter 0
34 | cost: 0
35 | #author - Amazon alias of the primary author of the content
36 | author: piedadel
37 | #audience - Names of the personas associated with this workshop
38 | audience:
39 | - Solutions Architect
40 | - Developer
41 | - SRE
--------------------------------------------------------------------------------
/workshop/content/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Disaster Recovery on AWS"
3 | chapter: true
4 | weight: 1
5 | ---
6 |
7 | The focus of this content is the reliability patterns and how to apply them to your solutions using AWS services. This material is based on the [Reliability Pillar](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html?ref=reliability-refarch) of the [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/?ref=reliability-refarch).
8 | It provides a set of mechanisms to help customers to apply best practices in the design, delivery, and maintenance of Amazon Web Services (AWS) environments. By adopting the architectural approaches in this content you will build solutions that have resilient components and proven recovery processes.
9 |
10 | This content is intended for those in technology roles, such as Chief Technology Officers (CTOs), solutions architects, developers, and operations team members. After reading this, you will understand AWS best practices and strategies to use when designing cloud architectures for reliability.
11 |
12 |
13 | {{% notice note %}}
14 | Start the [workshop here...]({{% relref "prereqs" %}})
15 | {{% /notice %}}
16 |
17 | {{% notice info %}}
18 | If you want to understand better the concepts that will be used [start here...]({{% relref intro %}})
19 | {{% /notice %}}
20 |
--------------------------------------------------------------------------------
/workshop/content/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Recuperação de Desastres na AWS"
3 | weight: 1
4 | chapter: true
5 | ---
6 |
7 | O foco desse material é apresentar padrões de arquiteturas resilientes e como aplicá-los nas suas soluções utilizando os serviços da AWS.
8 | Esse material é baseado no [Reliability Pillar](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html?ref=reliability-refarch) parte integrante do [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/?ref=reliability-refarch).
9 | Você verá um conjunto de mecanismos que ajudam no uso das melhores práticas para o desenvolvimento e operação de aplicações no ambiente Amazon Web Services (AWS). Adotando as abordagens arquiteturais deste conteúdo você construirá soluções mais resilientes com procesos de recuperação comprovados.
10 |
11 | Esse conteúdo é voltado para profissionais de tecnologia, tais como: CTOs, arquitetos de soluções, desenvolvedores e membros de times de operações.
12 | Após a leitura, você terá um melhor entendimento sobre práticas e estratégias de arquitetura de aplicações para aumentar a confiabilidade das soluções.
13 |
14 | {{% notice note %}}
15 | Você pode iniciar o [workshop aqui...]({{% relref prereqs %}})
16 | {{% /notice %}}
17 |
18 | {{% notice info %}}
19 | Se quiser entender melhor os conceitos que serão apresentados [comece aqui...]({{% relref intro %}})
20 | {{% /notice %}}
21 |
22 |
--------------------------------------------------------------------------------
/workshop/content/authors.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Authors
3 | disableToc: true
4 | ---
5 |
6 | ### Thank you to all contributors for sharing knowledge through Open Source!
7 |
8 |
14 |
15 | Coordinator:
16 | - Leonardo Piedade, Solutions Architect (piedadel@amazon.com)
17 |
18 | Contributors:
19 | - Danilo Silveira, Solutions Architect
20 | - Eduarda Ferreira, Program Manager
21 | - Gerson Itiro, Solutions Architect
22 | - Hermes Pimentel, Solutions Architect
23 | - Ivan Vargas, Solutions Architect
24 | - Jonas Martinez, Solutions Architect
25 | - Jorge Rua, Solutions Architect Manager
26 | - Lucas Soriano Alves Duarte, Solutions Architect
27 | - Luiz Yanai, Solutions Architect
28 | - Natanael Tavares, Solutions Architect
29 | - Robert da Costa, Solutions Architect
30 | - Tiago Reichert, Solutions Architect
31 |
32 | Reviewers:
33 | - Enrico Bergamo, Serverless Specialist
34 | - Maria Ane Dias, Solutions Architect
35 | - Pedro Gadelha, Solutions Architect
36 | - Samuel Sousa, Storage Specialist
37 | - Sergio Zaccarelli, Solutiions Architect
38 | - Thiago Morais, Solutions Architect Manager
39 |
40 | ---
41 |
42 | *This content was created by extracting and adapting snippets from multiple materials available through AWS channels. Sources are properly credited and cited at all points where third-party material was used. If you find any material not credited, please contact us: aws-sa-disaster-recovery@amazon.com*
43 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Design Patterns"
3 | weight: 80
4 | chapter: true
5 | pre: "6. "
6 | draft: true
7 | ---
8 |
9 | {{% children %}}
10 |
11 |
12 |
13 |
14 | ---
15 | **References:**
16 | - [AWS re:Invent 2018: Close Loops & Opening Minds: How to Take Control of Systems, Big & Small ARC337](https://www.youtube.com/watch?v=O8xLxNje30M)
17 |
18 |
19 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Padrões de Desenvolvimento"
3 | date: 2020-11-19T21:42:33-03:00
4 | weight: 80
5 | chapter: true
6 | pre: "6. "
7 | draft: true
8 | ---
9 |
10 | {{% children %}}
11 |
12 |
13 |
14 |
15 | ---
16 | **Referências:**
17 | - [AWS re:Invent 2018: Close Loops & Opening Minds: How to Take Control of Systems, Big & Small ARC337](https://www.youtube.com/watch?v=O8xLxNje30M)
18 |
19 |
20 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/decoupling.pt.md:
--------------------------------------------------------------------------------
1 |
2 | +++
3 | title = "Desacoplamento"
4 | menutitle = "Desacoplamento"
5 | date = 2020-11-19T21:42:08-03:00
6 | weight = 2
7 | chapter = false
8 | pre = "2. "
9 | type = ["Documentation"]
10 | +++
11 |
12 | Work in progress...
13 |
14 |
15 |
16 | ---
17 | **Referências:**
18 | - [AWS re:Invent 2019: [REPEAT 1] Moving to event-driven architectures (SVS308-R1)](
19 | https://www.youtube.com/watch?v=h46IquqjF3E)
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/design-for-failure.pt.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Design for Failure"
3 | menutitle = "Design for Failure"
4 | weight = 2
5 | chapter = false
6 | pre = "2. "
7 | type = ["Documentation"]
8 | +++
9 |
10 | {{< youtube BJVzwaTiOdk>}}
11 |
12 | ---
13 | **Referências:**
14 | - [AWS re:Invent 2019: Designing for failure: Architecting resilient systems on AWS (ARC335-R1)
15 | )](https://www.youtube.com/watch?v=BJVzwaTiOdk)
16 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/distributed-cache.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cache Distribuído"
3 | menutitle: "Cache Distribuído"
4 | weight: 1
5 | chapter: false
6 | pre: "1. "
7 | type: ["Documentation"]
8 | ---
9 |
10 |
11 |
12 | Work in progress..
13 |
14 | 
15 |
16 |
17 | ---
18 | **Referências:**
19 | - [Amazon ElastiCache]({{< ref "elasticache" >}})
20 | - [Stateless Web Tier](https://docs.aws.amazon.com/pt_br/whitepapers/latest/best-practices-wordpress/stateless-web-tier.html)
21 | - [Serverless Today: Stateless Architectures for Stateless Applications](https://www.youtube.com/watch?v=4vwXY0SGnDo)
22 |
--------------------------------------------------------------------------------
/workshop/content/design-patterns/stateless.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Stateless"
3 | menutitle: "Stateless"
4 | weight: 4
5 | chapter: false
6 | pre: "4. "
7 | type: "Documentation"
8 | ---
9 |
10 |
11 |
12 | Crie serviços sem estado sempre que possível: serviços não devem exigir estado ou devem descarregar o estado de modo que não haja dependência entre solicitações de clientes diferentes em relação aos dados armazenados localmente no disco ou na memória. Isso permite que os servidores sejam substituídos quando necessário sem causar impacto na disponibilidade. O Amazon ElastiCache ou o Amazon DynamoDB são bons destinos para o estado descarregado.
13 |
14 | 
15 |
16 |
17 | *\*Trecho retirado de [AWS Well-Architected Framework - Reliability](https://docs.aws.amazon.com/pt_br/wellarchitected/latest/reliability-pillar/design-interactions-in-a-distributed-system-to-mitigate-or-withstand-failures.html)*
18 |
19 | ---
20 | **Referências:**
21 | - [Amazon ElastiCache]({{< ref "elasticache" >}})
22 | - [Stateless Web Tier](https://docs.aws.amazon.com/pt_br/whitepapers/latest/best-practices-wordpress/stateless-web-tier.html)
23 | - [Serverless Today: Stateless Architectures for Stateless Applications](https://www.youtube.com/watch?v=4vwXY0SGnDo)
24 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Concepts"
3 | weight: 20
4 | chapter: true
5 | pre: "2. "
6 | ---
7 |
8 | For a more comprehensive understanding, this section presents some concepts that will be used in this workshop.
9 |
10 | {{% children%}}
11 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Conceitos"
3 | weight: 20
4 | chapter: true
5 | pre: "2. "
6 | aliases:
7 | - /pt/concepts/
8 | url: "/pt/intro/conceitos/"
9 | ---
10 |
11 | Para que seja possível um entendimento mais abrangente, essa seção apresenta alguns conceitos que serão utilizados nesse workshop.
12 |
13 |
14 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/chaos-engineering.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Chaos Engineering"
3 | menutitle: "Chaos Engineering"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | type: documentation
8 | ---
9 |
10 | Chaos Engineering is the discipline of experimenting with a system with the aim of increasing confidence in its ability to withstand problems in your environment.
11 |
12 | Testing in non-productive environments should be performed regularly and should be part of the CI/CD cycle. In production, teams must perform the tests in such a way as not to cause the service to be unavailable.
13 |
14 | Test results should be measured and then compared with availability objectives to understand whether the application running in a particular environment is able to achieve the defined objectives.
15 |
16 | {{< youtube ztiPjey2rfY >}}
17 |
18 | ---
19 | ### AWS Fault Injection Simulator
20 | AWS FIS is a service dedicated to simulating failures in the AWS environment so that testing can be carried out in a controlled manner. AWS FIS simplifies the process of controlling the experimentation of applications in a crash environment. For more information, see: [AWS Fault Injection Simulator](https://aws.amazon.com/fis/)
21 |
22 | ---
23 | **References:**
24 |
25 | - [Chaos Engineering Principles](https://principlesofchaos.org/)
26 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/chaos-engineering.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Engenharia do Caos"
3 | menutitle: "Engenharia do Caos"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | type: documentation
8 | ---
9 |
10 | Engenharia do Caos é a disciplina de experimentação de uma sistema com o objetivo de aumentar a confiança em sua capacidade de suportar problemas em seu ambiente.
11 |
12 | Testes em ambientes não produtivos, devem ser realizados regularmente, e devem ser parte do ciclo de CI/CD. Em produção, os teams devem realizar os testes de maneira a não provocar a indisponibilidade do serviço.
13 |
14 | Os resultados dos testes devem ser medidos e depois comparados com os objetivos de disponibilidade, para entender se a aplicação executando em um determinando ambiente é capaz de atingir os objetivos definidos.
15 |
16 | {{< youtube ztiPjey2rfY >}}
17 |
18 | ---
19 | ### AWS Fault Injection Simulator
20 | O AWS FIS é um serviço dedicado a simular falhas no ambiente AWS, para que seja possível realizar testes de forma controlada. O AWS FIS simplifica o processo de controle de experimentação das aplicações em uma ambiente de falha. Para mais informações, consulte: [AWS Fault Injection Simulator](https://aws.amazon.com/fis/)
21 |
22 | ---
23 | **Referências:**
24 | - [Princípios de Chaos Engineering](https://principlesofchaos.org/pt)
25 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/failover.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Failover"
3 | menutitle: "Failover"
4 | weight: 3
5 | chapter: false
6 | pre: ""
7 | type: "Documentation"
8 | ---
9 |
10 | **Failover** is the process of recovering the system to overcome a crash. For this process to occur, it is necessary to implement mechanisms at various levels of a solution, such as physical structure, communication links, cooling, hardware, database, application, etc. The purpose of this process is for the system to continue working even with failures in some components.
11 |
12 | **Failback** is the process of restoring a system after failover. The goal is to return the system to its pre-failure state.
13 |
14 | ---
15 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/failover.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Failover"
3 | menutitle: "Failover"
4 | weight: 3
5 | chapter: false
6 | pre: ""
7 | type: "Documentation"
8 | ---
9 |
10 | **Failover** é o processo de recuperação do sistema para superar uma falha. Para que esse processo ocorra é necessário a implementação de mecanismos em vários níveis de uma solução, tais como: estrutura física, links de comunicação, refrigeração, hardware, banco de dados, aplicação, etc. O objetivo desse processo é que o sistema continue funcionando mesmo com as falhas em algum componente.
11 |
12 |
13 | **Failback** é o processo de restauração de um sistema após o failover. O objetivo é retornar o sistema ao seu estado anterior a falha.
14 |
15 | ---
16 |
17 |
18 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/migration.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cross-Region Migration"
3 | menutitle: "Cross-Region Migration"
4 | chapter: false
5 | weight: 4
6 | ---
7 |
8 | To increase the level of resilience of your solution, you can work with more than one AWS region, supporting both an active-active model and a disaster recovery model (*Disaster Recovery*). In the process of sharing resources across regions, it's important to follow the guides for each AWS service. In the whitepaper, [Migrating AWS Resources to a New AWS Region](https://d1.awsstatic.com/whitepapers/aws-migrate-resources-to-new-region.pdf), the step-by-step migration of resources across regions to different types of services is described.
9 |
10 | ---
11 | **References:**
12 |
13 | - [AWS - Migrating Resources to a New Region](https://d1.awsstatic.com/whitepapers/aws-migrate-resources-to-new-region.pdf)
14 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/migration.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Migração entre regiões"
3 | menutitle: "Migração entre regiões"
4 | chapter: false
5 | weight: 4
6 | ---
7 |
8 | Para aumentar o nível de resiliência de sua solução é possível trabalhar com mais de uma região AWS, suportando tanto um modelo ativo-ativo quanto um modelo de recuperação de desastres (*Disaster Recovery*). No processo de compartilhar os recursos entre regiões é importante seguir os guias para cada serviço AWS. No whitepaper [Migrating AWS Resources to a New AWS Region](https://d1.awsstatic.com/whitepapers/aws-migrate-resources-to-new-region.pdf), é descrito o passo a passo de migração de recursos entre regiões para diferentes tipos de serviços.
9 |
10 |
11 | ---
12 | **Referências:**
13 | - [AWS - Migrando recursos para uma nova região](https://d1.awsstatic.com/whitepapers/aws-migrate-resources-to-new-region.pdf)
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/resiliency.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Resiliency"
3 | menutitle: "Resiliency"
4 | weight: 5
5 | chapter: false
6 | pre: ""
7 | type: Documentation
8 | ---
9 |
10 | The reliability of a cloud system depends on several factors, the main thing is resilience.
11 |
12 | **Resilience** is the ability of an application to recover from infrastructure or service outages, dynamically acquire computational resources to meet demand, and mitigate disruptions, such as incorrect configurations or temporary network issues.
13 |
14 | ---
15 | **References:**
16 |
17 | - [AWS Well-Architected Framework - Resiliency, and the components of Reliability](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/resiliency-and-the-components-of-reliability.html)
18 |
--------------------------------------------------------------------------------
/workshop/content/intro/concepts/resiliency.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Resiliência"
3 | menutitle: "Resiliência"
4 | weight: 5
5 | chapter: false
6 | pre: ""
7 | type: Documentation
8 | ---
9 |
10 | A confiabilidade de um sistema em nuvem depende de vários fatores, o principal é a resiliência.
11 |
12 | **Resiliência** é a capacidade de uma aplicação se recuperar de interrupções de infraestrutura ou serviço, adquirir dinamicamente recursos computacionais para atender à demanda e mitigar interrupções, como configurações incorretas ou problemas temporários de rede.
13 |
14 | ---
15 | **Referências:**
16 | - [AWS Well-Architected Framework - Resiliência e os componentes de Confiabilidade](https://docs.aws.amazon.com/pt_br/wellarchitected/latest/reliability-pillar/resiliency-and-the-components-of-reliability.html)
17 |
18 |
19 |
--------------------------------------------------------------------------------
/workshop/content/intro/infra-aws/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Global Infrastructure"
3 | menuTitle: "Global Infrastructure"
4 | weight: 30
5 | chapter: false
6 | pre: "3. "
7 | ---
8 |
9 | For the work of planning disaster recovery strategies, it's important to know the global AWS infrastructure. It is necessary to use at least 2 regions to avoid impacts of disrupting services at the region level. View the AWS infrastructure map and choose the regions that will be used by your applications.
10 | Go to [AWS Global Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/).
11 |
12 | {{% notice tip%}}
13 | The regions are geographically distributed and this reflects the time of communication between them. If your application is latency-sensitive, you should balance the proximity of regions with the possibility of a regional event.
14 | {{% /notice%}}
15 |
16 | Some services are not available in all regions. When choosing a region, confirm that the service you want to use is available. See the table for [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).
17 |
18 | ---
19 | **References:**
20 |
21 | - [AWS Global Cloud Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/)
22 |
--------------------------------------------------------------------------------
/workshop/content/intro/infra-aws/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Infraestrutura Global da AWS"
3 | menuTitle: "Infraestrutura Global"
4 | weight: 30
5 | chapter: false
6 | pre: "3. "
7 | ---
8 |
9 | Para o trabalho de planejamento de estratégias de recuperação de desastres é importante conhecer a infraestrutura global da AWS. É necessário o uso de ao menos 2 regiões para evitar impactos de disrupção de serviços em nível de região. Veja o mapa da infraestrutura AWS e escolha as regiões que serão usadas por suas aplicações.
10 | Acesse [AWS Global Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/).
11 |
12 |
13 | {{% notice tip %}}
14 |
15 | As regiões são geograficamente distribuídas e isso reflete no tempo de comunicação entre elas. Se sua aplicação é sensível a latência, você deve equilibrar a proximidade das regiões com a possibilidade de ocorrência de um evento regional.
16 | {{% /notice %}}
17 |
18 |
19 | Existem serviços que não estão disponíveis em todas as regiões, ao escolher uma região, confirme se o serviço que deseja utilizar está disponível. Veja a tabela de [Serviços Regionais da AWS](https://aws.amazon.com/pt/about-aws/global-infrastructure/regional-product-services/).
20 |
21 | ---
22 | **Referências:**
23 | - [AWS Global Cloud Infrastructure](hhttps://aws.amazon.com/about-aws/global-infrastructure/)
--------------------------------------------------------------------------------
/workshop/content/intro/infra-aws/regions-az.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Regions and Zones"
3 | menutitle: "Regions and Zones"
4 | weight: 1
5 | chapter: false
6 | pre: ""
7 | ---
8 |
9 |
10 | Each region is designed to be isolated from other regions. This provides the highest possible fault tolerance and stability.
11 |
12 | 
13 |
14 | Availability zones are several datacenters isolated in each region.
15 |
16 | {{% notice note%}}
17 | AWS operates datacenters state-of-the-art and highly available. While rare, failures may occur that affect the availability of instances and services that are in the same location. If you host all of your instances in a single location affected by a failure, none of them will be available. That's why it's important to consider using multiple availability zones for production applications and consider using multiple regions for critical applications.
18 |
19 | {{% /notice%}}
20 |
21 | See the [Regions List](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes) available on AWS.
22 |
23 | ---
24 | **References:**
25 |
26 | - [Regions and Zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions)
27 |
--------------------------------------------------------------------------------
/workshop/content/intro/infra-aws/regions-az.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Regiões e Zonas da AWS"
3 | menutitle: "Regiões e Zonas"
4 | weight: 1
5 | chapter: false
6 | pre: ""
7 | ---
8 |
9 |
10 | Cada região é projetada para ser isolada das outras regiões. Isso proporciona a maior tolerância a falhas e estabilidade possível.
11 |
12 | 
13 |
14 | Já as zonas de disponibilidade são vários *datacenters* isolados em cada região.
15 |
16 | {{% notice note %}}
17 | A AWS opera *datacenters* de última geração e altamente disponíveis. Embora sejam raras, podem ocorrer falhas que afetam a disponibilidade das instâncias e serviços que estão no mesmo local. Se você hospedar todas as suas instâncias em um único local afetado por uma falha, nenhuma delas ficará disponível. Por isso é importante considerar o uso de múltiplas zonas de disponibilidade para aplicações em produção, e considerar o uso de múltiplas regiões para aplicações críticas.
18 |
19 | {{% /notice %}}
20 |
21 | Veja a [Lista de Regiões](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes) disponíveis na AWS.
22 |
23 | ---
24 | **Referências:**
25 | - [Regiões e Zonas](https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions)
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/workshop/content/labs/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Labs"
3 | weight: 30
4 | chapter: true
5 | pre: "3. "
6 | ---
7 |
8 | {{% children depth=2 %}}
--------------------------------------------------------------------------------
/workshop/content/labs/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Exercícios Práticos"
3 | weight: 30
4 | chapter: true
5 | pre: "3. "
6 | ---
7 |
8 | {{% children depth=2 %}}
--------------------------------------------------------------------------------
/workshop/content/labs/advanced/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Advanced Level"
3 | menutitle: "Advanced"
4 | weight: 3
5 | chapter: true
6 | pre: ""
7 | ---
8 |
9 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/labs/advanced/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Nível Avançado"
3 | menutitle: "Avançado"
4 | date: 2020-11-19T21:42:47-03:00
5 | weight: 3
6 | chapter: true
7 | pre: ""
8 | ---
9 |
10 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/labs/advanced/api-gateway/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon API Gateway + Route 53"
3 | menutitle: "Amazon API Gateway + Route 53"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Active-Passive]
8 | type: Lab
9 | awsServices:
10 | - Amazon API Gateway
11 | ---
12 |
13 | ### Objetivo
14 |
15 | Esse exercício irá mostrar os passos para você configurar rapidamente suas apis em mais de uma região da AWS e permitir que se comportem de forma ativo-passivo recebendo requisições de forma transparente dos seus clientes.
16 |
17 | **Conhecimentos necessários:**
18 | - Uso básico do AWS CLI
19 | - Conceitos básicos sobre balanceadores de carga
20 |
21 |
22 | **Ao final desse exercício, você será capaz de:**
23 |
24 | - Configurar uma api em duas ou mais regiões
25 | - Configurar um mecanismo de DNS para fazer o roteamento dinâmico para suas apis de forma transparente para seus clientes
26 |
27 |
28 | **Tempo de Execução Estimado:** 40 minutos
29 |
30 | **Custo Aproximado**: 3 USD
31 |
32 | 
33 |
34 | ### Execução
35 |
36 | {{< tabs name="labs_types" >}}
37 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
38 | {{< /tabs >}}
39 |
40 | ### Conclusão
41 |
42 | Com esse exercício, foi possivel entender como configurar uma api privada no Amazon API Gateway, fazer o deploy da API em mais de uma região e criar uma política de roteamento para seus registros de DNS associados aos endpoints de sua API.
43 |
44 | **Referências:**
45 | - [Alternativa para Custom Domain Name](https://georgemao.medium.com/enabling-private-apis-with-custom-domain-names-aws-api-gateway-df1b62b0ba7c)
46 |
--------------------------------------------------------------------------------
/workshop/content/labs/advanced/elb-health-check/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ELB - Health Checks "
3 | menutitle: "ELB - Health Checks"
4 | chapter: false
5 | weight: 2
6 | tags:
7 | - Active-Active
8 | type: Lab
9 | draft: true
10 | ---
11 |
12 | ### Objetivo
13 |
14 | Esse exercício irá mostrar os passos para o uso de *Health Checks* usando o Amazon Application Load Balancer (ALB).
15 |
16 | **Ao final desse exercício, você será capaz de:**
17 | - Implementar um processo de degradação para transformar dependências fortes em dependências fracas
18 | - Monitorar sua aplicação para detectar falhas
19 | - Rotear o tráfego apenas para instâncias funcionais
20 | - Configurar os comportamentos de *fail-open* e *fail-closed* em resposta as falhas detectadas
21 | - Usar serviços AWS para reduzir o tempo médito de recuperaçcão (MTTR)
22 |
23 | ### Visão Geral da Solução
24 | 
25 |
26 |
27 | ### Execução
28 | {{< tabs name="labs_types" >}}
29 | {{< tab name="AWS Console" include="console" />}}
30 | {{< /tabs >}}
31 |
32 | ---
33 |
34 | #### Autor
35 |
36 | * Seth Eliot, Principal Reliability Solutions Architect, AWS Well-Architected
37 |
38 |
39 | **Referências:**
40 | - [AWS Well-Architected Labs: Implementing Health Checks and Managing Dependencies to Improve Reliability](https://wellarchitectedlabs.com/reliability/300_labs/300_health_checks_and_dependencies/)
41 | - [Amazon Builders' Library - Como implementar verificações de integridade](https://aws.amazon.com/pt/builders-library/implementing-health-checks/)
42 |
43 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Beginner Level"
3 | menutitle: "Beginner"
4 | chapter: true
5 | weight: 1
6 | pre: ""
7 | ---
8 |
9 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/labs/basics/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Nível Básico"
3 | menutitle: "Básico"
4 | chapter: true
5 | weight: 1
6 | pre: ""
7 | ---
8 |
9 | {{% children %}}
10 |
11 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/cloudfront/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudFront - Grupo de Origem"
3 | menutitle: "CloudFront - Grupo de Origem"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Warm Standby]
8 | type: Lab
9 | awsServices:
10 | - Amazon CloudFront
11 | draft: true
12 | ---
13 |
14 | ### Objetivo
15 |
16 | Esse exercício irá mostrar os passos para o uso do mecanismo Grupo de Origem do Amazon CloudFront, utilizando buckets do Amazon S3 como origem. Caso queira mais informações [clique aqui]({{< ref "/services/networking/cloudfront" >}} "Amazon CloudFront").
17 |
18 | 
19 |
20 | **Ao final desse exercício, você será capaz de:**
21 | - Criar distribuições do CloudFront resilientes com duas origens, uma primária e uma secundária para failover.
22 |
23 | **Tempo de Execução Estimado:** 30 minutos
24 |
25 | **Custo Aproximado**: 1 USD
26 |
27 | ### Execução
28 | {{< tabs name="labs_types" >}}
29 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
30 | {{< /tabs >}}
31 |
32 | ### Conclusão
33 |
34 | Com esse exercício foi possível verificar como as distribuições do Amazon CloudFront podem ser resilientes usando duas ou mais origens com o recurso de Grupo de Origem em uma estratégia do tipo *Active-Passive*.
35 |
36 | **Fonte:** [Amazon CloudFront - Guia do desenvolvedor](https://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating)
37 |
38 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/dynamo-global-tables/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon DynamoDB - Global Tables"
3 | menutitle: "DynamoDB - Global Tables"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Active-Active]
8 | type: Lab
9 | awsServices:
10 | - Amazon DynamoDB
11 | ---
12 |
13 | ### Objective
14 |
15 | This exercise will show you the steps for using the Global Tables engine for Amazon DynamoDB tables. If you want more information [click here]({{< ref "/services/databases/dynamodb/dynamo-global-table" >}} "Amazon DynamoDB").
16 |
17 | **By the end of this exercise, you will be able to:**
18 |
19 | * Replicate Amazon DynamoDB tables in other AWS Regions
20 |
21 |
22 | **Estimated Duration:** 15 minutes
23 |
24 | **Approximate Cost**: 1 USD
25 |
26 | ### Execution
27 | {{< tabs name="labs_types" >}}
28 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
29 | {{< /tabs >}}
30 |
31 | ### Conclusion
32 |
33 | With this exercise, it was possible to verify how replicated Amazon DynamoDB tables can be used in a strategy of the type. *Active-Active*, both for reading and for data persist.
34 |
35 | **Source:** [Amazon DynamoDB - Developer Guide](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables.tutorial.html)
36 |
37 |
38 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/dynamo-global-tables/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon DynamoDB - Tabelas Globais"
3 | menutitle: "DynamoDB - Tabelas Globais"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Active-Active]
8 | type: Lab
9 | awsServices:
10 | - Amazon DynamoDB
11 | draft: true
12 | ---
13 |
14 | ### Objetivo
15 |
16 | Esse exercício irá mostrar os passos para o uso do mecanismo Global Tables para tabelas do Amazon DynamoDB. Caso queira mais informações [clique aqui]({{< ref "/services/databases/dynamodb/dynamo-global-table" >}} "Amazon DynamoDB").
17 |
18 | **Ao final desse exercício, você será capaz de:**
19 | - Criar tabelas replicadas do Amazon DynamoDB em outra regiões da AWS
20 |
21 | **Tempo de Execução Estimado:** 20 minutos
22 |
23 | **Custo Aproximado**: 1 USD
24 |
25 | ### Execução
26 | {{< tabs name="labs_types" >}}
27 | {{< tab name="AWS Console" include="console" />}}
28 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
29 | {{< /tabs >}}
30 |
31 | ### Conclusão
32 |
33 | Com esse exercício foi possível verificar como tabelas replicadas do Amazon DynamoDB podem ser utilizadas em uma estratégia do tipo *Active-Active*, tanto para leitura quando para persistir dados.
34 |
35 | **Fonte:** [Amazon DynamoDB - Guia do Desenvolvedor](https://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/V2globaltables.tutorial.html)
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/ecr-replication/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ECR - Image Registry Replication"
3 | menutitle: "ECR - Image Registry Replication"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Active-Active]
8 | type: Lab
9 | awsServices:
10 | - Amazon ECR
11 | ---
12 |
13 | ### Objective
14 |
15 | This exercise will show you the steps to enable record replication in the Amazon Elastic Container Registry. In a multi-region scenario, stored container images must be available in a secondary region before the application can be configured during the disaster.
16 |
17 | **By the end of this exercise, you will be able to:**
18 |
19 | * Set Up Replication to Another Region of an Amazon ECR Image Record
20 | * List images and verify that replication is working according to the applied configuration.
21 |
22 | **Estimated Duration:** 15 minutes
23 |
24 | **Approximate Cost**: 1 USD
25 |
26 | ### Execution
27 | {{< tabs name="labs_types" >}}
28 | {{< tab name="AWS Cloud9" include="cloud9" />}}
29 | {{< /tabs >}}
30 |
31 | ### Conclusion
32 |
33 | With this exercise, it was possible to understand how to set up an Amazon Elastic Container Registry image repository, push an image to the repository, configure replication with a second region, update the image, and verify that image replication was successfully performed for the second region .
34 |
35 | **Source:** [Cross region replication in Amazon ECR has landed](https://aws.amazon.com/pt/blogs/containers/cross-region-replication-in-amazon-ecr-has-landed/)
36 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/ecr-replication/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ECR - Replicação do Registro de Imagens"
3 | menutitle: "ECR - Replicação do Registro de Imagens"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Active-Active]
8 | type: Lab
9 | awsServices:
10 | - Amazon ECR
11 | draft: true
12 | ---
13 |
14 | ### Objetivo
15 |
16 | Esse exercício irá mostrar os passos para habilitar a replicação de registro no Amazon Elastic Container Registry. Em um cenário de multi região, as imagens de container armazenadas precisam estar disponíveis em uma região secundária para que a apliacação possa ser configurada durante o desastre.
17 |
18 | **Ao final desse exercício, você será capaz de:**
19 |
20 | - Configurar a replicação para outra região de um registro de imagens do Amazon ECR
21 | - Listar imagens e verificar que a replicação está funcionando de acordo com a configuração aplicada.
22 |
23 | **Tempo de Execução Estimado:** 20 minutos
24 |
25 | **Custo Aproximado**: 1 USD
26 |
27 | ### Execução
28 | {{< tabs name="labs_types" >}}
29 | {{< tab name="AWS Cloud9" include="cloud9" />}}
30 | {{< /tabs >}}
31 |
32 | ### Conclusão
33 |
34 | Com esse exercício, foi possivel entender como configurar um repositório de imagens do Amazon Elastic Container Registry, fazer o push de uma imagem para o repositório, configurar a replicação com uma segunda região, atualizar a imagem e verificar que a replicação da imagem foi realizada com sucesso para a segunda região.
35 |
36 | **Fonte:** [[Conteúdo em Inglês] Cross region replication in Amazon ECR has landed](https://aws.amazon.com/pt/blogs/containers/cross-region-replication-in-amazon-ecr-has-landed/)
37 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/elasticache-global-datastore/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ElastiCache - Global Datastore"
3 | menutitle: "ElastiCache - Global Datastore"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Warm-Standby]
8 | type: Lab
9 | awsServices:
10 | - Amazon ElastiCache
11 | draft: true
12 | ---
13 |
14 | ### Objetivo
15 |
16 | Esse exercício irá mostrar os passos para o uso do mecanismo Global Tables para tabelas do Amazon DynamoDB. Caso queira mais informações [clique aqui]({{< ref "/services/databases/dynamodb/dynamo-global-table" >}} "Amazon DynamoDB").
17 |
18 | **Ao final desse exercício, você será capaz de:**
19 | - Criar tabelas replicadas do Amazon DynamoDB em outra regiões da AWS
20 |
21 | **Tempo de Execução Estimado:** 20 minutos
22 |
23 | **Custo Aproximado**: 1 USD
24 |
25 | ### Execução
26 | {{< tabs name="labs_types" >}}
27 | {{< tab name="AWS Cloud9" include="cloud9" />}}
28 | {{< /tabs >}}
29 |
30 | ### Conclusão
31 |
32 | Com esse exercício foi possível verificar como tabelas replicadas do Amazon DynamoDB podem ser utilizadas em uma estratégia do tipo *Active-Active*, tanto para leitura quando para persistir dados.
33 |
34 | **Fonte:** [Amazon DynamoDB - Guia do Desenvolvedor](https://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/V2globaltables.tutorial.html)
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/lambda/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Lambda - Exporting functions"
3 | menutitle: "Lambda - Exporting functions"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Backup-Restore, Pilot Light]
8 | type: Lab
9 | awsServices:
10 | - AWS Lambda
11 | ---
12 |
13 | ### Objective
14 |
15 | This exercise will show you the steps for exporting and importing Lambda functions between regions manually. If you want more information [click here]({{< ref "/services/compute/lambda" >}} "AWS Lambda").
16 |
17 | **Required knowledge:**
18 |
19 | * Basic Use of the AWS CLI
20 | * Javascript language basics
21 |
22 | **By the end of this exercise, you will be able to:**
23 |
24 | * Export and Import Lambda Cross-Region Functions
25 |
26 | **Estimated Duration:** 30 minutes
27 |
28 | **Approximate Cost**: 1 USD
29 |
30 | ### Execution
31 | {{< tabs name="labs_types" >}}
32 | {{< tab name="AWS Console" include="console" />}}
33 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
34 | {{< /tabs >}}
35 |
36 | ### Conclusion
37 |
38 | With this exercise, it was possible to verify how replication of Lambda functions between AWS regions can be used in DR strategies of type. *Backup & Restore* and *Pilot Light*. For strategies for *Warm Standby* and *Active-Active*, refer to the practical exercise for deploying lambda functions via CI/CD Pipeline.
39 |
40 | **Source:** [AWS Lambda - Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html)
41 |
42 |
43 |
--------------------------------------------------------------------------------
/workshop/content/labs/basics/lambda/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Lambda - Exportação das funções para outras regiões"
3 | menutitle: "Lambda - Exportação das funções"
4 | chapter: false
5 | weight: 1
6 | pre: ""
7 | tags: [Backup-Restore, Pilot Light]
8 | type: Lab
9 | awsServices:
10 | - AWS Lambda
11 | ---
12 |
13 | ### Objetivo
14 |
15 | Esse exercício irá mostrar os passos para exportar e importar funções Lambda entre regiões manualmente. Caso queira mais informações [clique aqui]({{< ref "/services/compute/lambda" >}} "AWS Lambda").
16 |
17 | **Conhecimentos necessários:**
18 | - Uso básico do AWS CLI
19 | - Conceitos básicos da linguagem Javascript
20 |
21 |
22 | **Ao final desse exercício, você será capaz de:**
23 | - Exportar e importar funções Lambda entre regiões
24 |
25 | **Tempo de Execução Estimado:** 30 minutos
26 |
27 | **Custo Aproximado**: 1 USD
28 |
29 |
30 | ### Execução
31 | {{< tabs name="labs_types" >}}
32 | {{< tab name="AWS Console" include="console" />}}
33 | {{< tab name="AWS CloudShell" include="cloudshell" />}}
34 | {{< /tabs >}}
35 |
36 | ### Conclusão
37 |
38 | Com este exercício foi possível verificar como a replicação de funções Lambda entre regiões AWS pode ser utilizada nas estratégias de DR do tipo *Backup & Restore* e *Pilot Light*. Para as estratégias de *Warm Standby* e *Active-Active*, consulte o exercício prático de deployment de funções lambda via Pipeline de CI/CD.
39 |
40 | **Fonte:** [AWS Lambda - Guia do Desenvolvedor](https://docs.aws.amazon.com/pt_br/lambda/latest/dg/gettingstarted-awscli.html)
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Intermediate Level"
3 | menutitle: "Intermediate"
4 | weight: 2
5 | chapter: true
6 | pre: ""
7 | ---
8 |
9 | {{% children %}}
10 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Nível Intermediário"
3 | menutitle: "Intermediário"
4 | weight: 2
5 | chapter: true
6 | pre: ""
7 | ---
8 |
9 | {{% children %}}
10 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/auto-backup-plan/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Backup - Plano de Backup Automático"
3 | menutitle: "Plano de Backup Automático"
4 | date: 2020-04-24T11:16:08-04:00
5 | chapter: false
6 | weight: 2
7 | tags:
8 | - Backup & Restore
9 | type: Lab
10 | awsServices:
11 | - Amazon EBS
12 |
13 | draft: true
14 | ---
15 |
16 | ### Objetivo
17 |
18 | Esse exercício irá mostrar os passos para a criação de um plano de backup para as máquinas Amazon EC2.
19 |
20 | **Ao final desse exercício, você será capaz de:**
21 | - Criar uma estratégia de backup
22 | - Testar a restauração a partir dos backups
23 | - Automatizar o processo de backup e restauração
24 |
25 | ### Visão Geral da Solução
26 | 
27 |
28 | ### Execução
29 | {{< tabs name="labs_types" >}}
30 | {{< tab name="AWS Console" include="console" />}}
31 | {{< /tabs >}}
32 |
33 |
34 |
35 | ### Conclusão
36 |
37 | Com esse exercício foi possível verificar como tabelas replicadas do Amazon DynamoDB podem ser utilizadas em uma estratégia do tipo *Active-Active*, tanto para leitura quando para persistir dados.
38 |
39 | #### Autor
40 |
41 | * Seth Eliot, Principal Reliability Solutions Architect, AWS Well-Architected
42 |
43 | **Fonte:** [AWS Well-Architected Labs: Testing Backup and Restore of Data](https://wellarchitectedlabs.com/reliability/200_labs/200_testing_backup_and_restore_of_data/)
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/bidire-rep-s3/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon S3 - Bi-Directional Cross-Region Replication (CRR)"
3 | menutitle: "S3 - Bi-Directional Replication"
4 | chapter: false
5 | tags:
6 | - Active-Active
7 | type: Lab
8 | awsServices:
9 | - Amazon S3
10 | ---
11 |
12 | ### Objective
13 |
14 | This exercise will show you the steps for using object replication through Amazon S3 bucket AWS Regions (*Cross region replication*). If you want more information about this mechanism [click here]({{< ref "/services/storage/s3/s3-crr" >}} "Amazon S3").
15 |
16 | ### Introduction
17 |
18 | This lab will guide you to increase the resilience of applications that rely on objects in Amazon S3. The functionality of [Amazon S3 replication (CRR)](https://docs.aws.amazon.com/pt_br/AmazonS3/latest/dev/replication.html), allows asynchronous copying to another AWS Region.
19 |
20 | 
21 |
22 | ### Execution
23 | {{< button href="https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/"icon="fas fa-vial" >}} Start lab here{{< /button >}}
24 |
25 | **This lab is part of AWS Well-Architected Labs.*
26 |
27 | ---
28 |
29 | #### Author
30 |
31 | - Seth Eliot, Principal Reliability Solutions Architect, AWS Well-Architected
32 |
33 | **Source:** [Amazon S3 - Implementing Bi-directional Cross-Region Replication (CRR)](https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/)
34 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/bidire-rep-s3/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon S3 - Replicação Bidirecional entre Regiões (CRR) "
3 | menutitle: "S3 - Replicação Bidirecional"
4 | chapter: false
5 | tags:
6 | - Active-Active
7 | type: Lab
8 | awsServices:
9 | - Amazon S3
10 | ---
11 |
12 | ### Objetivo
13 |
14 | Esse exercício irá mostrar os passos para o uso da replicação de objetos através de regiões AWS em bucket do Amazon S3 (*Cross region replication*). Caso queira mais informações sobre esse recurso [clique aqui]({{< ref "/services/storage/s3/s3-crr" >}} "Amazon S3").
15 |
16 |
17 | ### Introdução
18 |
19 | Esse laboratório irá guiá-lo para aumentar a resiliência das aplicações que dependem de objetos no Amazon S3. A funcionalidade de [replicação do Amazon S3 (CRR)](https://docs.aws.amazon.com/pt_br/AmazonS3/latest/dev/replication.html), permite a cópia assícrona para outra região da AWS.
20 |
21 | 
22 |
23 | ### Execução
24 |
25 | {{< button href="https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/"icon="fas fa-vial" >}} Inicie aqui{{< /button >}}
26 |
27 | **Esse exercício é parte do AWS Well-Architected Labs.*
28 |
29 | ---
30 |
31 | #### Autor
32 |
33 | * Seth Eliot, Principal Reliability Solutions Architect, AWS Well-Architected
34 |
35 |
36 | **Fonte:** [Amazon S3 - Implementing BI-Directional Cross-Region Replication (CRR)](https://wellarchitectedlabs.com/reliability/200_labs/200_bidirectional_replication_for_s3/)
37 |
38 |
39 |
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/architecture.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step1.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_1.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_2.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step4_3.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_1.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_12.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_13.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_2.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_22.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_31.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_32.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_41.png
--------------------------------------------------------------------------------
/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws-samples/disaster-recovery-workshop/5f0bc4310aea05fc9cf6f643ff2fdf4c03674866/workshop/content/labs/intermediate/fsx-windows-file-server/images/step5_42.png
--------------------------------------------------------------------------------
/workshop/content/prereqs/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Workshop Setup"
3 | weight: 20
4 | chapter: true
5 | pre: "2. "
6 | ---
7 |
8 | To start the workshop, follow one of the following depending on whether you are...
9 |
10 | * ...[running the workshop on your own (in your own account)]({{% relref self_paced %}}), or
11 | * ...[attending an AWS hosted event (using AWS provided hashes)]({{% relref aws_event %}})
12 |
13 | Once you have completed with either setup, continue with [**Create a Workspace**]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Workshop Setup"
3 | weight: 20
4 | chapter: true
5 | pre: "2. "
6 | ---
7 |
8 | Para iniciar o workshop, siga um dos procedimentos abaixo...
9 |
10 | * ...[executando o workshop na sua própria conta AWS)]({{% relref self_paced %}}), ou
11 | * ...[assistindo a um evento da AWS (usando *hashes* disponibilizados pela AWS)]({{% relref aws_event%}})
12 |
13 | Depois da sua conta configurada, continue em [**Criar um *Workspace***]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/aws_event/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "...at an AWS event"
3 | chapter: true
4 | weight: 12
5 | ---
6 |
7 | ### Running the workshop at an AWS Event
8 |
9 | {{% notice warning %}}
10 | Only complete this section if you are at an AWS hosted event (such as re:Invent, Roadshoows, Immersion Day, or any other event hosted by an AWS employee). If you
11 | are running the workshop on your own, go to: [Start the workshop on your own]({{% relref self_paced %}}).
12 | {{% /notice %}}
13 |
14 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/aws_event/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "...no evento AWS"
3 | chapter: true
4 | weight: 12
5 | ---
6 |
7 | ### Executando o workshop em um evento AWS
8 |
9 | {{% notice warning %}}
10 | Somente execute essa seção se você estiver em um evento organizado pela AWS, como re:Invent, Roadshows, Immersion Day, ou qualquer outro evento organizado por um funcionário AWS. Se você estiver executando o workshop na sua própria conta AWS, acesse: [Iniciar o workshop na sua conta]({{% relref self_paced %}}).
11 | {{% /notice %}}
12 |
13 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/aws_event/portal.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Workshop Portal"
3 | chapter: false
4 | weight: 20
5 | ---
6 |
7 | ### Login to AWS Workshop Portal
8 |
9 | This workshop creates an AWS acccount and a Cloud9 environment. You will need the **Participant Hash** provided upon entry, and your email address to track your unique session.
10 |
11 | Connect to the portal by clicking the button or browsing to [https://dashboard.eventengine.run/](https://dashboard.eventengine.run/). The following screen shows up.
12 |
13 | 
14 |
15 | Enter the provided hash in the text box. The button on the bottom right corner changes to **Accept Terms & Login**. Click on that button to continue.
16 |
17 | 
18 |
19 | Click on **AWS Console** on dashboard.
20 |
21 | 
22 |
23 | Take the defaults and click on **Open AWS Console**. This will open AWS Console in a new browser tab.
24 |
25 | Once you have completed the step above, you can head straight to [**Create a Workspace**]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/aws_event/portal.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Workshop Portal"
3 | chapter: false
4 | weight: 20
5 | ---
6 |
7 | ### Login em AWS Workshop Portal
8 |
9 | Esse workshop cria uma conta AWS e um ambiente Cloud9. Você precisará do ***Participant Hash*** para acessar uma conta única.
10 |
11 | Acesse o portal [https://dashboard.eventengine.run/](https://dashboard.eventengine.run/). Irá ser exibida a tela abaixo:
12 |
13 | 
14 |
15 | Entre com o seu hash na caixa de texto. O botão no canto inferior direito irá mudar para **Accept Terms & Login**. Clique no botão para continuar.
16 |
17 | 
18 |
19 | Clique em **AWS Console** no Team Dashboard.
20 |
21 | 
22 |
23 | Clique em **Open AWS Console**. Irá abrir o console AWS em uma nova aba do seu navegador.
24 |
25 | Uma vez completada a etapa acima, você pode ir diretamente para [**Criar um Workspace**]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/self_paced/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "...on your own"
3 | chapter: true
4 | weight: 11
5 | ---
6 |
7 | ### Running the workshop on your own
8 |
9 |
10 | {{% notice warning %}}
11 | Only complete this section if you are running the workshop on your own. If you are at an AWS hosted event (such as re:Invent, Roadshows, Immersion Day, etc), go to [Start the workshop at an AWS event]({{% relref aws_event %}}).
12 | {{% /notice %}}
13 |
14 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/self_paced/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "...em conta própria"
3 | chapter: true
4 | weight: 11
5 | ---
6 |
7 | ### Executando o workshop na sua conta AWS
8 |
9 |
10 | {{% notice warning %}}
11 | Somente execute essa seção se você for utilizar sua própria conta AWS. Se você estiver em um evento da AWS, como re:Invent, Roadshows, Immersion Day, etc.), acesse: [Iniciar o workshop em um evento AWS]({{% relref aws_event %}}).
12 | {{% /notice %}}
13 |
14 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/self_paced/account.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Create an AWS account"
3 | chapter: false
4 | weight: 1
5 | ---
6 |
7 | {{% notice warning %}}
8 | Your account must have the ability to create new IAM roles and scope other IAM permissions.
9 | {{% /notice %}}
10 |
11 | 1. If you don't already have an AWS account with Administrator access: [create
12 | one now by clicking here](https://aws.amazon.com/getting-started/)
13 | * If using an existing account, ensure that it is one you can use for testing. It must _not_ be used for production or other purposes.
14 |
15 | 1. Ensure you are following the remaining workshop steps
16 | as an IAM user with administrator access to the AWS account.
17 |
18 | 1. [Go to the IAM Management console](https://console.aws.amazon.com/iam/home?#/users$new)
19 |
20 | 1. On the left hand navigation, select **Users**, then click on the **Add User** button.
21 |
22 | 1. Enter the user details:
23 | 
24 |
25 | 1. Attach the AdministratorAccess IAM Policy, and click **Next: Tags**
26 | 
27 |
28 | 1. We will skip adding tags for the workshop. Click **Next: Review**
29 |
30 | 1. Click to create the new user:
31 | 
32 |
33 | 1. Take note of the login URL and save it for future use:
34 | 
35 |
36 | 1. Click on this URL to go to the AWS Management Console login page, use the username and password for the `workshop` user you just created.
37 |
38 | Once you have completed the step above, you can head straight to [**Create a Workspace**]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/self_paced/account.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Criar uma conta AWS"
3 | chapter: false
4 | weight: 1
5 | ---
6 |
7 | {{% notice warning %}}
8 | Você deve ter um usuário com permissões para criar IAM roles em sua conta AWS.
9 | {{% /notice %}}
10 |
11 | Caso ainda não tenha uma conta AWS com acesso Administrador, [crie uma conta aqui.](https://aws.amazon.com/getting-started/)
12 |
13 | Siga os passos abaixo usando um usuário IAM com acesso de Administrador na conta AWS:
14 |
15 | 1. Acesse a console do [IAM](https://console.aws.amazon.com/iam/home?#/users$new)
16 |
17 | 2. No lado esquerdo da tela, selecione **Users (Usuários)**, então clique em **Add User (Adicionar Usuário)**.
18 |
19 | 3. Crie um usuário, conforme a imagem abaixo:
20 | 
21 |
22 | 1. Attach the AdministratorAccess IAM Policy, and click **Next: Tags**
23 | 
24 |
25 | 1. We will skip adding tags for the workshop. Click **Next: Review**
26 |
27 | 1. Click to create the new user:
28 | 
29 |
30 | 1. Take note of the login URL and save it for future use:
31 | 
32 |
33 | 1. Click on this URL to go to the AWS Management Console login page, use the username and password for the `workshop` user you just created.
34 |
35 | Once you have completed the step above, you can head straight to [**Create a Workspace**]({{% relref workspace %}})
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/ec2instance.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Attach the IAM role to your Workspace"
3 | chapter: false
4 | weight: 17
5 | draft: true
6 | ---
7 |
8 | 1. Follow [this deep link to find your Cloud9 EC2 instance](https://console.aws.amazon.com/ec2/v2/home?#Instances:tag:Name=aws-cloud9-workshop;sort=desc:launchTime)
9 | 2. Select the instance, then choose **Actions / Security / Modify IAM Role**
10 | 
11 | 1. Choose **workshop-admin** from the **IAM Role** drop down, and select **Save**
12 | 
13 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/ec2instance.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Associar o IAM Role ao Workspace"
3 | chapter: false
4 | weight: 17
5 | draft: true
6 | ---
7 |
8 | 1. Follow [this deep link to find your Cloud9 EC2 instance](https://console.aws.amazon.com/ec2/v2/home?#Instances:tag:Name=aws-cloud9-workshop;sort=desc:launchTime)
9 | 2. Select the instance, then choose **Actions / Security / Modify IAM Role**
10 | 
11 | 1. Choose **workshop-admin** from the **IAM Role** drop down, and select **Save**
12 | 
13 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/iamrole.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Create an IAM role for your Workspace"
3 | chapter: false
4 | weight: 16
5 | draft: true
6 | ---
7 |
8 |
9 | 1. Follow [this deep link to create an IAM role with Administrator access.](https://console.aws.amazon.com/iam/home#/roles$new?step=review&commonUseCase=EC2%2BEC2&selectedUseCase=EC2&policies=arn:aws:iam::aws:policy%2FAdministratorAccess)
10 | 1. Confirm that **AWS service** and **EC2** are selected, then click **Next** to view permissions.
11 | 1. Confirm that **AdministratorAccess** is checked, then click **Next: Tags** to assign tags.
12 | 1. Take the defaults, and click **Next: Review** to review.
13 | 2. Enter **workshop-admin** for the Name, and click **Create role**.
14 | 
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/iamrole.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Criar um IAM Role para o Workspace"
3 | chapter: false
4 | weight: 16
5 | draft: true
6 | ---
7 |
8 |
9 | 1. Follow [this deep link to create an IAM role with Administrator access.](https://console.aws.amazon.com/iam/home#/roles$new?step=review&commonUseCase=EC2%2BEC2&selectedUseCase=EC2&policies=arn:aws:iam::aws:policy%2FAdministratorAccess)
10 | 1. Confirm that **AWS service** and **EC2** are selected, then click **Next** to view permissions.
11 | 1. Confirm that **AdministratorAccess** is checked, then click **Next: Tags** to assign tags.
12 | 1. Take the defaults, and click **Next: Review** to review.
13 | 2. Enter **workshop-admin** for the Name, and click **Create role**.
14 | 
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/prereqs.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Prerequisites"
3 | chapter: false
4 | weight: 13
5 | draft: true
6 | ---
7 |
8 | The following prerequisites are required for this workshop:
9 |
10 | - A computer with an internet connection running Microsoft Windows, Mac OS X, or Linux.
11 | - An internet browser such as Chrome, Firefox, Safari, Opera, or Edge.
12 | - Familiarity with common Linux commands and the concepts of CI/CD.
13 |
14 | This workshop includes multiple code samples that you can copy and paste using the button shown below.
15 |
16 | 
17 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/prereqs.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Pré-requisitos"
3 | chapter: false
4 | weight: 13
5 | draft: true
6 | ---
7 |
8 | Os pré-requisitos a seguir são necessários para esse workshop:
9 |
10 | - Computador com acesso a internetA computer with an internet connection running Microsoft Windows, Mac OS X, or Linux.
11 | - An internet browser such as Chrome, Firefox, Safari, Opera, or Edge.
12 | - Familiarity with common Linux commands and the concepts of CI/CD.
13 |
14 | This workshop includes multiple code samples that you can copy and paste using the button shown below.
15 |
16 | 
17 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/update_workspace.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Update your Workspace"
3 | chapter: false
4 | weight: 15
5 | draft: true
6 | ---
7 |
8 | #### Install dependencies
9 |
10 | - Run the following commands in the Cloud9 terminal to update [nvm](https://github.com/nvm-sh/nvm) (Node Version Manager) and install [jq](https://stedolan.github.io/jq/) (a command-line JSON processor)
11 | ```
12 | nvm install stable
13 | sudo yum -y install jq
14 | ```
15 |
16 | {{% notice note %}}
17 | jq is a lightweight and flexible command-line JSON processor
18 | {{% /notice %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/update_workspace.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Atualizar seu Workspace"
3 | chapter: false
4 | weight: 15
5 | draft: true
6 | ---
7 |
8 | #### Instalar as dependências
9 |
10 | - Execute os comandos abaixo no terminal do Cloud9 para atualizar [nvm](https://github.com/nvm-sh/nvm) (Node Version Manager) e instale o [jq](https://stedolan.github.io/jq/) (um processador de JSON na linha de comando)
11 |
12 | ```
13 | nvm install stable
14 | sudo yum -y install jq
15 | ```
16 |
17 | {{% notice note %}}
18 | jq is a lightweight and flexible command-line JSON processor
19 | {{% /notice %}}
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/us-east-1.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "N. Virginia"
3 | chapter: false
4 | disableToc: true
5 | hidden: true
6 | ---
7 |
8 | Create a Cloud9 Environment: [https://us-east-1.console.aws.amazon.com/cloud9/home?region=us-east-1](https://us-east-1.console.aws.amazon.com/cloud9/home?region=us-east-1)
9 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/us-east-1.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "N. Virginia"
3 | chapter: false
4 | disableToc: true
5 | hidden: true
6 | ---
7 |
8 | Crie um ambiente Cloud9: [https://console.aws.amazon.com/cloud9/home?region=us-east-1](https://console.aws.amazon.com/cloud9/home?region=us-east-1)
9 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/us-west-1.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "N. California"
3 | chapter: false
4 | disableToc: true
5 | hidden: true
6 | ---
7 |
8 | Create a Cloud9 Environment: [https://console.aws.amazon.com/cloud9/home?region=us-west-1](https://console.aws.amazon.com/cloud9/home?region=us-west-1)
9 |
--------------------------------------------------------------------------------
/workshop/content/prereqs/workspace/us-west-1.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "N. California"
3 | chapter: false
4 | disableToc: true
5 | hidden: true
6 | ---
7 |
8 | Crie um ambiente Cloud9: [https://console.aws.amazon.com/cloud9/home?region=us-west-1](https://console.aws.amazon.com/cloud9/home?region=us-west-1)
9 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Reference Architectures"
3 | weight: 90
4 | chapter: true
5 | pre: "7. "
6 | draft: true
7 | ---
8 |
9 | Lorem Ipsum.
--------------------------------------------------------------------------------
/workshop/content/refarchs/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Arquiteturas de Referência"
3 | weight: 90
4 | chapter: true
5 | pre: "7. "
6 | draft: true
7 | ---
8 |
9 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/refarchs/active-active.pt.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Arquitetura Ativo-Ativo Multi-Region"
3 | menutitle = "Ativo-Ativo Multi-Region"
4 | date = 2020-11-19T21:42:33-03:00
5 | weight = 2
6 | chapter = false
7 | pre = "2. "
8 | +++
9 |
10 | {{< youtube RMrfzR4zyM4>}}
11 |
12 |
13 |
14 | {{< youtube 2e29I3dA8o4>}}
15 |
16 |
17 | ---
18 | **Referências:**
19 | - [AWS re:Invent 2017: How to Design a Multi-Region Active-Active Architecture (ARC319)](https://www.youtube.com/watch?v=RMrfzR4zyM4)
20 | - [AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
21 | ](https://www.youtube.com/watch?v=2e29I3dA8o4)
22 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/bkp-from-prem-to-aws.pt.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Backup dos dados para AWS"
3 | date = 2020-11-19T21:42:33-03:00
4 | weight = 3
5 | chapter = false
6 | pre = "3. "
7 | +++
8 |
9 | {{< youtube 7gNXfo5HZN8>}}
10 |
11 | ---
12 | **Referências:**
13 | - [AWS re:Invent 2019: Backup-and-restore and disaster-recovery solutions with AWS (STG208)](https://www.youtube.com/watch?v=7gNXfo5HZN8)
14 |
15 |
16 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/three-tier-web/_index.pt.md:
--------------------------------------------------------------------------------
1 |
2 | +++
3 | title = "Three-Tier Web Application"
4 | weight = 1
5 | chapter = true
6 | pre = "1. "
7 | +++
8 |
9 |
10 | A solução de arquitetura de aplicações multirregional ajuda a demonstrar uma aplicação tolerante a falhas com facilidade de failover para uma região de backup. Essa solução implanta uma solução que tira proveito da Replicação entre regiões do Amazon Simple Storage Service (Amazon S3) e das Tabelas globais do Amazon DynamoDB para replicar dados de aplicativos de forma assíncrona entre as Regiões primárias e secundárias da AWS. Um aplicativo web de compartilhamento de fotos também é implantado em cada região para servir como uma demonstração visual das camadas de back-end da solução e para verificar se o failover regional está funcionando.
11 |
12 |
13 | 
14 |
15 |
16 | {{< button href="https://docs.aws.amazon.com/solutions/latest/multi-region-application-architecture/welcome.html" >}}Visualizar Guia de Implementação{{< /button >}}
17 |
18 |
19 |
20 |
21 | {{< button href="https://github.com/awslabs/multi-region-application-architecture"icon="fab fa-github" >}}GitHub Repo{{< /button >}}
22 |
23 |
24 | ---
25 | **Referências:**
26 | - [AWS Solutions - Arquitetura de aplicativos em várias regiões](https://aws.amazon.com/pt/solutions/implementations/multi-region-application-architecture/)
27 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/three-tier-web/three-tier-active.pt.md:
--------------------------------------------------------------------------------
1 |
2 | +++
3 | title = "Active - Active"
4 | weight = 4
5 | chapter = false
6 | pre = ""
7 | +++
8 |
9 |
10 | A solução de arquitetura de aplicações multirregional ajuda a demonstrar uma aplicação tolerante a falhas com facilidade de failover para uma região de backup. Essa solução implanta uma solução que tira proveito da Replicação entre regiões do Amazon Simple Storage Service (Amazon S3) e das Tabelas globais do Amazon DynamoDB para replicar dados de aplicativos de forma assíncrona entre as Regiões primárias e secundárias da AWS. Um aplicativo web de compartilhamento de fotos também é implantado em cada região para servir como uma demonstração visual das camadas de back-end da solução e para verificar se o failover regional está funcionando.
11 |
12 |
13 | 
14 |
15 |
16 | {{< button href="https://docs.aws.amazon.com/solutions/latest/multi-region-application-architecture/welcome.html" >}}Visualizar Guia de Implementação{{< /button >}}
17 |
18 |
19 |
20 |
21 | {{< button href="https://github.com/awslabs/multi-region-application-architecture"icon="fab fa-github" >}}GitHub Repo{{< /button >}}
22 |
23 |
24 | ---
25 | **Referências:**
26 | - [AWS Solutions - Arquitetura de aplicativos em várias regiões](https://aws.amazon.com/pt/solutions/implementations/multi-region-application-architecture/)
27 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/three-tier-web/three-tier-bkp.pt.md:
--------------------------------------------------------------------------------
1 |
2 | +++
3 | title = "Backup & Restore"
4 | date = 2020-11-19T21:42:33-03:00
5 | weight = 1
6 | chapter = false
7 | pre = ""
8 | +++
9 |
10 |
11 | A solução de arquitetura de aplicações multirregional ajuda a demonstrar uma aplicação tolerante a falhas com facilidade de failover para uma região de backup. Essa solução implanta uma solução que tira proveito da Replicação entre regiões do Amazon Simple Storage Service (Amazon S3) e das Tabelas globais do Amazon DynamoDB para replicar dados de aplicativos de forma assíncrona entre as Regiões primárias e secundárias da AWS. Um aplicativo web de compartilhamento de fotos também é implantado em cada região para servir como uma demonstração visual das camadas de back-end da solução e para verificar se o failover regional está funcionando.
12 |
13 |
14 | 
15 |
16 |
17 | {{< button href="https://docs.aws.amazon.com/solutions/latest/multi-region-application-architecture/welcome.html" >}}Visualizar Guia de Implementação{{< /button >}}
18 |
19 |
20 |
21 |
22 | {{< button href="https://github.com/awslabs/multi-region-application-architecture"icon="fab fa-github" >}}GitHub Repo{{< /button >}}
23 |
24 |
25 | ---
26 | **Referências:**
27 | - [AWS Solutions - Arquitetura de aplicativos em várias regiões](https://aws.amazon.com/pt/solutions/implementations/multi-region-application-architecture/)
28 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/three-tier-web/three-tier-warm.pt.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Warm-Standby"
3 | date = 2020-11-19T21:42:33-03:00
4 | weight = 1
5 | chapter = false
6 | pre = ""
7 | +++
8 |
9 |
10 | A solução de arquitetura de aplicações multirregional ajuda a demonstrar uma aplicação tolerante a falhas com facilidade de failover para uma região de backup. Essa solução implanta uma solução que tira proveito da Replicação entre regiões do Amazon Simple Storage Service (Amazon S3) e das Tabelas globais do Amazon DynamoDB para replicar dados de aplicativos de forma assíncrona entre as Regiões primárias e secundárias da AWS. Um aplicativo web de compartilhamento de fotos também é implantado em cada região para servir como uma demonstração visual das camadas de back-end da solução e para verificar se o failover regional está funcionando.
11 |
12 |
13 | 
14 |
15 |
16 | {{< button href="https://docs.aws.amazon.com/solutions/latest/multi-region-application-architecture/welcome.html" >}}Visualizar Guia de Implementação{{< /button >}}
17 |
18 |
19 |
20 |
21 | {{< button href="https://github.com/awslabs/multi-region-application-architecture"icon="fab fa-github" >}}GitHub Repo{{< /button >}}
22 |
23 |
24 | ---
25 | **Referências:**
26 | - [AWS Solutions - Arquitetura de aplicativos em várias regiões](https://aws.amazon.com/pt/solutions/implementations/multi-region-application-architecture/)
27 |
--------------------------------------------------------------------------------
/workshop/content/refarchs/three-tier-web/three-tier-web-pilot.pt.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = "Pilot Light"
3 | weight = 2
4 | chapter = false
5 | pre = ""
6 | +++
7 |
8 |
9 | A solução de arquitetura de aplicações multirregional ajuda a demonstrar uma aplicação tolerante a falhas com facilidade de failover para uma região de backup. Essa solução implanta uma solução que tira proveito da Replicação entre regiões do Amazon Simple Storage Service (Amazon S3) e das Tabelas globais do Amazon DynamoDB para replicar dados de aplicativos de forma assíncrona entre as Regiões primárias e secundárias da AWS. Um aplicativo web de compartilhamento de fotos também é implantado em cada região para servir como uma demonstração visual das camadas de back-end da solução e para verificar se o failover regional está funcionando.
10 |
11 |
12 | 
13 |
14 |
15 | {{< button href="https://docs.aws.amazon.com/solutions/latest/multi-region-application-architecture/welcome.html" >}}Visualizar Guia de Implementação{{< /button >}}
16 |
17 |
18 |
19 |
20 | {{< button href="https://github.com/awslabs/multi-region-application-architecture"icon="fab fa-github" >}}GitHub Repo{{< /button >}}
21 |
22 |
23 | ---
24 | **Referências:**
25 | - [AWS Solutions - Arquitetura de aplicativos em várias regiões](https://aws.amazon.com/pt/solutions/implementations/multi-region-application-architecture/)
26 |
--------------------------------------------------------------------------------
/workshop/content/service-map/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Multi-Region Reliability Matrix"
3 | menutitle: "Reliability Matrix"
4 | date: 2020-11-19T21:42:08-03:00
5 | weight: 70
6 | chapter: true
7 | pre: "5. "
8 | ---
9 |
10 |
11 |
12 | {{< servicebyfeature phase=0 >}}
--------------------------------------------------------------------------------
/workshop/content/service-map/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Matriz de Contingência Multi-Region"
3 | menutitle: "Matriz de Contingência"
4 | date: 2020-11-19T21:42:08-03:00
5 | weight: 70
6 | chapter: true
7 | pre: "5. "
8 | ---
9 |
10 |
11 |
12 | {{< servicebyfeature phase=0 >}}
--------------------------------------------------------------------------------
/workshop/content/services/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Services"
3 | weight: 40
4 | chapter: true
5 | pre: "4. "
6 | ---
7 |
8 |
9 | {{% children depth=2 %}}
10 |
11 | ---
12 |
--------------------------------------------------------------------------------
/workshop/content/services/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Serviços AWS"
3 | weight: 40
4 | chapter: true
5 | pre: "4. "
6 | aliases:
7 | - /pt/services/
8 | url: "/pt/servicos/"
9 | ---
10 |
11 |
12 | {{% children depth=2 %}}
13 |
14 | ---
15 |
--------------------------------------------------------------------------------
/workshop/content/services/analytics/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Analytics"
3 | weight: 1
4 | chapter: true
5 | pre: ""
6 | draft: true
7 | ---
8 |
9 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/analytics/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Análise de dados"
3 | weight: 1
4 | chapter: true
5 | pre: ""
6 | draft: true
7 | ---
8 |
9 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/analytics/elasticsearch/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Elasticsearch"
3 | menutitle: "Amazon Elasticsearch"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - Amazon ElasticSearch
9 | draft: true
10 | ---
11 |
12 | Amazon Elasticsearch Service (Amazon ES) is a managed service that makes it easy to deploy, operate, and scale Elasticsearch clusters on the AWS cloud. Elasticsearch is a well-known search and analysis engine for use cases, such as log analysis, real-time application monitoring, and click stream analysis. With Amazon ES, you get direct access to the Elasticsearch APIs; existing code and applications work seamlessly with the service.
13 |
14 | ***
15 |
16 | **References:**
17 |
18 | * [Amazon Elasticsearch](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/what-is-amazon-elasticsearch-service.html)
19 |
--------------------------------------------------------------------------------
/workshop/content/services/analytics/elasticsearch/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Elasticsearch"
3 | menutitle: "Amazon Elasticsearch"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - Amazon ElasticSearch
9 | draft: true
10 | ---
11 |
12 | O Amazon Elasticsearch Service (Amazon ES) é um serviço gerenciado que facilita a implantação, a operação e o dimensionamento de clusters do Elasticsearch na nuvem AWS. O Elasticsearch é um conhecido mecanismo de pesquisa e análise para casos de uso, como análise de log, monitoramento de aplicativos em tempo real e análise de streams de cliques. Com o Amazon ES, você obtém acesso direto ao Elasticsearch APIs; o código e os aplicativos existentes funcionam perfeitamente com o serviço.
13 |
14 | ---
15 | **Referências:**
16 | - [Amazon Elasticsearch](https://docs.aws.amazon.com/pt_br/elasticsearch-service/latest/developerguide/what-is-amazon-elasticsearch-service.html)
--------------------------------------------------------------------------------
/workshop/content/services/analytics/kinesis/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Kinesis Data Streams"
3 | menutitle: "Amazon Kinesis - KDS"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices: "Amazon Kinesis"
8 | draft: true
9 | ---
10 |
11 | You can use Amazon Kinesis Data Streams to collect and process large [streams](https://aws.amazon.com/streaming-data/) of real-time data records. You can create data processing applications, known as Kinesis Data Streams applications. A typical Kinesis Data Streams application reads data from a data stream as data records. These applications can use the Kinesis Client Library and run on Amazon EC2 instances. You can send processed records to dashboards, use them to generate alerts, dynamically change pricing and advertising strategies, or send data to a variety of other AWS services
12 |
13 | ***
14 |
15 | **References**
16 |
17 | * [Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)
18 |
--------------------------------------------------------------------------------
/workshop/content/services/analytics/kinesis/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Kinesis Data Streams"
3 | menutitle: "Amazon Kinesis - KDS"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices: "Amazon Kinesis"
8 | draft: true
9 | ---
10 |
11 | Você pode usar o Amazon Kinesis Data Streams para coletar e processar grandes [streamings](https://aws.amazon.com/pt/streaming-data/) de registros de dados em tempo real. Você pode criar aplicativos de processamento de dados, conhecidos como aplicativos do Kinesis Data Streams. Um aplicativo típico do Kinesis Data Streams lê dados de um stream de dados como registros de dados. Esses aplicativos podem usar a Kinesis Client Library e serem executados em instâncias do Amazon EC2. Você pode enviar os registros processados para painéis, usá-los para gerar alertas, alterar dinamicamente as estratégias de definição de preços e publicidade ou enviar dados para uma variedade de outros serviços da AWS
12 |
13 | ---
14 | **Referências**
15 | - [Amazon Kinesis Data Streams](https://docs.aws.amazon.com/pt_br/streams/latest/dev/introduction.html)
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Application Integration"
3 | weight: 2
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Integração de aplicativos"
3 | weight: 7
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon SQS"
3 | menutitle: "Amazon SQS"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | type: Documentation
8 | awsServices: "Amazon SQS"
9 | ---
10 |
11 | Amazon Simple Queue Service (Amazon SQS) offers a secure, durable, and available hosted queue that lets you integrate and decouple distributed software systems and components. Amazon SQS offers common constructs such as dead-letter queues and cost allocation tags. It provides a generic web services API that you can access using any programming language that the AWS SDK supports.
12 |
13 |
14 | ---
15 | {{% children %}}
16 |
17 |
18 | **References:**
19 | - [Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html)
20 | - [Amazon Builders' Library - Avoiding insurmountable queue backlogs](https://aws.amazon.com/builders-library/avoiding-insurmountable-queue-backlogs/)
21 | - [AWS re:Invent 2019: Scalable serverless event-driven applications using Amazon SQS & Lambda (API304)](https://www.youtube.com/watch?v=2rikdPIFc_Q)
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon SQS"
3 | menutitle: "Amazon SQS"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | type: Documentation
8 | awsServices: "Amazon SQS"
9 | ---
10 |
11 | O Amazon Simple Queue Service (Amazon SQS) oferece uma fila hospedada segura, durável e disponível que permite integrar e desassociar sistemas de software e componentes distribuídos. O Amazon SQS oferece mecanismos comuns, como *dead letter queues (DLQ)* e tags de alocação de custos. Ele fornece uma API de web services genérica e pode ser acessado por qualquer linguagem de programação compatível com o SDK da AWS.
12 |
13 |
14 | ---
15 | **Referências:**
16 | - [Amazon SQS](https://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html)
17 | - [Amazon Builders' Library - Como evitar backlogs de fila intransponíveis](https://aws.amazon.com/pt/builders-library/avoiding-insurmountable-queue-backlogs/)
18 | - [AWS re:Invent 2019: Scalable serverless event-driven applications using Amazon SQS & Lambda (API304)](https://www.youtube.com/watch?v=2rikdPIFc_Q)
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/active-active.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Active-Active"
3 | menuTitle : "Active-Active"
4 | weight : 5
5 | tags:
6 | - Active-Active
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | In an active-active multi-region workload scenario, that is, different regions receive customer traffic by dividing the full load of the solution, the most common approach is to divide customers by location for access to the nearest region. Within this scenario, features that have multi-region replication can be based on this functionality. Features such as message queues have no auto-replication feature of messages to another region and you need to adopt the best policy according to the scenario.
12 | Regarding queue support infrastructure, using infrastructure such as code and a multi-region delivery pipeline allows you to provision resources and changes easily. Regarding messages trafficked, account should be taken of the possibility of loss of messages and whether the backend system is prepared to process repeated messages (idempotence).
13 | If no message can be lost, you must ensure the persistence of the message on a mechanism that has global replication or one must automate this replication using a Fan-out pattern.
14 |
15 | ---
16 |
17 | **References:**
18 |
19 | - [Amazon SNS Cross Region Delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
20 |
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/active-active.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Active-Active"
3 | menuTitle : "Active-Active"
4 | weight : 5
5 | tags:
6 | - Active-Active
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | Em um cenário de workload multi região ativo-ativo, isto é, diferentes regiões recebem tráfego de clientes dividindo a carga total da solução, a abordagem mais comum é dividir os clientes conforme a localidade para acesso a região mais próxima. Dentro deste cenário, recursos que possuem replicação multi-região podem se basear nesta funcionalidade. Recursos como filas de mensagens não possuem feature de replicação automática das mensagens para outra região e é preciso adotar a melhor política de acordo com o cenário.
12 | Em relação a infraestrura de suporte das filas, utilizando infraestrutura como código e um pipeline de entrega multi região permite que você provisione os recursos e alterações facilmente. Em relação as mensagens trafegadas, deve-se levar em conta a possibilidade de perda de mensagens e se o sistema de backend está preparado para processar mensagens repetidas (idempotência).
13 | Se nenhuma mensagem puder ser perdida, deve-se garantir a persistência da mensagem em algum mecanismo que tenha replicação global ou deve-se automatizar esta replicação utilizando um padrão Fan-out.
14 |
15 | ---
16 | **Referências:**
17 | - [Amazon SNS Cross Region delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
18 |
19 |
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/backup-restore.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Backup & Restore"
3 | menuTitle : "Backup & Restore"
4 | weight : 5
5 | tags:
6 | - Backup & Restore
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | In general, considering the concept of message queues where we have message producers and consumers, in the ideal world, the depth of a queue should always tend to zero messages since consumers immediately consume all the messages generated by producers. However, there are other reasons that may lead to the accumulation of messages such as:
12 |
13 | * Need message flow control to avoid processing overhead on the backend
14 | * Using queues for temporary storage for scheduled batch processing
15 | * DLQ queue that hold messages that could not be processed for consumer error or poison pill scenario
16 |
17 | Considering these cases, it is important to think of alternatives to store these messages in a scenario of service unavailability in a region.
18 | One approach to allow message sharing with other regions easily is to use [SQS Extended Client](https://github.com/awslabs/amazon-sqs-java-extended-client-lib). With it, you can send all messages to S3 using a simple setup. This feature is quite useful for handling messages that are larger than [maximum supported by Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html).
19 |
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/backup-restore.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Backup & Restore"
3 | menuTitle : "Backup & Restore"
4 | weight : 5
5 | tags:
6 | - Backup & Restore
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | De forma geral, tratando-se do conceito de filas de mensagens onde temos produtores de mensagens e consumidores, no mundo ideal, a profundidade de uma fila deve sempre tender a zero mensagens dado que os consumidores consomem imediatamente todas as mensagens geradas pelos produtores. Contudo, existem outras razões que podem levar ao acúmulo de mensagens como:
12 | * Necessidade de controle de fluxo de mensagens para evitar sobrecarga de processamento no backend
13 | * Uso de filas para armazenamento temporário para processamento batch agendado
14 | * Fila DLQ que armanezam mensagens que não puderam ser processadas por erro no consumidor ou cenário de poison pill
15 |
16 | Pensando nestes casos, é importante pensar em alternativas para fazer o armazenamento destas mensagens em um cenário de indisponibilidade do serviço em uma região.
17 | Uma abordagem para permitir o compartilhamento das mensagens com outras regiões de forma fácil é utilizando o [Extended Client do SQS](https://github.com/awslabs/amazon-sqs-java-extended-client-lib). Com ele, é possível enviar todas as mensagens para o S3 utilizando uma configuração simples. Este recurso é bastante útil para lidar com mensagens de tamanho superior ao [máximo suportado pelo Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html).
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/pilot-light.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Pilot Light"
3 | menuTitle : "Pilot Light"
4 | weight : 5
5 | tags:
6 | - Pilot Light
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 |
12 | Serverless features such as SQS queues can easily support a Pilot Light architecture through the use of a multi-region infrastructure delivery pipeline using, for example, the Serverless Application Model (SAM) framework. Every new feature or change to existing resource passes through an integration and delivery pipeline for validation and deployment in more than one region. Once it is necessary to activate the new region, simply key the requisitions to the new region by making use of existing resources that do not offer cost when no longer demand.
13 |
14 | ---
15 |
16 | **References:**
17 |
18 | - [Amazon SNS Cross Region Delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
19 | - [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam/)
20 |
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/pilot-light.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Pilot Light"
3 | menuTitle : "Pilot Light"
4 | weight : 5
5 | tags:
6 | - Pilot Light
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | Recursos serverless como as filas do SQS podem suportar facilmente uma arquitetura Pilot Light através do uso de um pipeline de entrega de infraestrutura multi região usando, por exemplo, o framework SAM (Serverless Application Model). Todo novo recurso ou alteração em recurso existente passa por um pipeline de integração e entrega para validação e deploy em mais de uma região. Uma vez que seja necessária a ativação da região nova, basta chavear as requisições para a nova região fazendo uso dos recursos já existentes e que não oferecem custo quando não já demanda.
12 |
13 | ---
14 | **Referências:**
15 | - [Amazon SNS Cross Region delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
16 | - [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam/)
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/warm-standby.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Warm Standby"
3 | menuTitle : "Warm Standby"
4 | weight : 5
5 | tags:
6 | - Warm Standby
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | A Warm Standby strategy for features such as Amazon SQS queues is similar to the [Pilot Light]({{< ref "/services/app_integration/sqs/pilot-light" >}} "Pilot Light") scenario.
12 |
13 | Serverless resources are charged as you use, so while there is no traffic in the DR region, there are no costs for existing resources.
14 |
15 | ---
16 | **References:**
17 |
18 | - [Amazon SNS Cross Region Delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
19 |
--------------------------------------------------------------------------------
/workshop/content/services/app_integration/sqs/warm-standby.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon SQS - Warm Standby"
3 | menuTitle : "Warm Standby"
4 | weight : 5
5 | tags:
6 | - Warm Standby
7 | awsServices:
8 | - Amazon SQS
9 | ---
10 |
11 | Uma estratégia Warm Standby para recursos como filas do Amazon SQS é semelhante ao cenário [Pilot Light]({{< ref "/services/app_integration/sqs/pilot-light" >}} "Pilot Light").
12 |
13 | Recursos serverless são cobrados conforme o uso, então, enquanto não há tráfego na região de DR, não há custos pelos recursos existentes.
14 |
15 | ---
16 | **Referências:**
17 | - [Amazon SNS Cross Region delivery to SQS Queues](https://docs.aws.amazon.com/sns/latest/dg/sns-cross-region-delivery.html)
--------------------------------------------------------------------------------
/workshop/content/services/compute/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Compute"
3 | weight: 4
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/compute/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Computação"
3 | weight: 4
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/containers/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Containers"
3 | weight: 5
4 | chapter: true
5 | pre: ""
6 | awsServices:
7 | - Amazon EKS
8 | - Amazon ECR
9 | type: documentation
10 | ---
11 |
12 | Containers provide a standard way to package code, configurations, and dependencies for your application into a single object. They share an operating system installed on the server and run as isolated processes. This allows you to make fast, reliable, and consistent deployments regardless of the environment. The AWS platform provides infrastructure capabilities optimized for running containers, plus a set of orchestration services that make it easy to create and run containerized applications in production.
13 |
14 | AWS Supports Containers [OCI compliant](https://opencontainers.org/), including containers from [docker](https://aws.amazon.com/docker/).
15 |
16 | ***
17 |
18 | ### Containers on AWS
19 |
20 | On *whitepaper [Running Containerized Microservices on AWS](https://d1.awsstatic.com/whitepapers/DevOps/running-containerized-microservices-on-aws.pdf)* The architectural best practices for adopting containers on AWS are discussed, and how traditional software design standards evolve in the context of containers. Martin Fowler's principles of microservices are mapped to [The Twelve-Factor App](https://12factor.net/) pattern, in addition to real-life considerations. After reading this content, you will have a starting point for building microservices using software design best practices and standards.
21 |
22 | It is recommended to read *whitepaper* above, as it brings the basics and best practices of architecture for adopting containers on AWS that are essential to a resilient, contingency architecture across multiple regions.
23 |
--------------------------------------------------------------------------------
/workshop/content/services/containers/ecr/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ECR"
3 | weight: 1
4 | chapter: true
5 | pre: ""
6 | awsServices:
7 | - Amazon EKS
8 | - Amazon ECR
9 | type: documentation
10 | ---
11 |
12 | Containers provide a standard way to package code, configurations, and dependencies for your application into a single object. They share an operating system installed on the server and run as isolated processes. This allows you to make fast, reliable, and consistent deployments regardless of the environment. The AWS platform provides infrastructure capabilities optimized for running containers, plus a set of orchestration services that make it easy to create and run containerized applications in production.
13 |
14 | AWS Supports Containers [OCI compliant](https://opencontainers.org/), including containers from [docker](https://aws.amazon.com/docker/).
15 |
16 | ***
17 |
18 | On *whitepaper [Running Containerized Microservices on AWS](https://d1.awsstatic.com/whitepapers/DevOps/running-containerized-microservices-on-aws.pdf)* The architectural best practices for adopting containers on AWS are discussed, and how traditional software design standards evolve in the context of containers. Martin Fowler's principles of microservices are mapped to [The Twelve-Factor App](https://12factor.net/) pattern, in addition to real-life considerations. After reading this content, you will have a starting point for building microservices using software design best practices and standards.
19 |
20 | It is recommended to read *whitepaper* above, as it brings the basics and best practices of architecture for adopting containers on AWS that are essential to a resilient, contingency architecture across multiple regions.
21 |
--------------------------------------------------------------------------------
/workshop/content/services/containers/ecs/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ECS"
3 | menutitle: "Amazon ECS"
4 | weight: 2
5 | chapter: true
6 | pre: ""
7 | draft: true
8 | ---
--------------------------------------------------------------------------------
/workshop/content/services/containers/ecs/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon ECS"
3 | menutitle: "Amazon ECS"
4 | weight: 2
5 | chapter: true
6 | pre: ""
7 | draft: true
8 | ---
--------------------------------------------------------------------------------
/workshop/content/services/containers/eks/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon EKS"
3 | menutitle: "Amazon EKS"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon EKS
9 | ---
10 |
11 |
12 | Amazon EKS is a managed service that makes it easy to run Kubernetes on, without the need to install, operate, and maintain your own control plane or Kubernetes nodes. Kubernetes is an open source system for automating the deployment, scalability, and management of containerized applications.
13 |
14 | ---
15 | **References**
16 | - [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)
17 |
--------------------------------------------------------------------------------
/workshop/content/services/containers/eks/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon EKS"
3 | menutitle: "Amazon EKS"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon EKS
9 | ---
10 |
11 |
12 | O Amazon EKS é um serviço gerenciado que facilita a execução do Kubernetes na , sem a necessidade de instalar, operar e manter seu próprio plano de controle ou nós do Kubernetes. O Kubernetes é um sistema de código aberto para automatizar a implantação, a escalabilidade e o gerenciamento de aplicativos em contêineres.
13 |
14 | ---
15 | **Referências**
16 | - [Amazon EKS](https://docs.aws.amazon.com/pt_br/eks/latest/userguide/what-is-eks.html)
17 |
18 |
--------------------------------------------------------------------------------
/workshop/content/services/containers/eks/eks-cluster-multi-region.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon EKS - Cluster Multi-Region"
3 | menutitle: "Cluster Multi-Region"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon EKS
9 | tags:
10 | - Active-Active
11 | ---
12 |
13 | Amazon EKS is a managed service that makes it easy to run Kubernetes on, without the need to install, operate, and maintain your own control plane or Kubernetes nodes. Kubernetes is an open source system for automating the deployment, scalability, and management of containerized applications.
14 |
15 | ---
16 |
17 | ## Multi-Region Cluster
18 |
19 | This [blog post](https://aws.amazon.com/blogs/containers/operating-a-multi-regional-stateless-application-using-amazon-eks/) demonstrates how you can maintain an Amazon EKS multi-region cluster and can serve as a basis if you need an active-failover or active-active scenario:
20 |
21 | 
22 |
--------------------------------------------------------------------------------
/workshop/content/services/containers/eks/eks-cluster-multi-region.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon EKS - Cluster Multi-Region"
3 | menutitle: "Cluster Multi-Region"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon EKS
9 | tags:
10 | - Active-Active
11 | ---
12 |
13 |
14 | O Amazon EKS é um serviço gerenciado que facilita a execução do Kubernetes na, sem a necessidade de instalar, operar e manter seu próprio plano de controle ou nós do Kubernetes. O Kubernetes é um sistema de código aberto para automatizar a implantação, a escalabilidade e o gerenciamento de aplicativos em contêineres.
15 |
16 | ---
17 | ## Cluster Multi-Region
18 |
19 | Este [blog post](https://aws.amazon.com/blogs/containers/operating-a-multi-regional-stateless-application-using-amazon-eks/) demonstra como você pode manter um cluster de Amazon EKS multi-region e pode servir como base caso você necessite de um cenário active-failover ou active-active:
20 |
21 | 
--------------------------------------------------------------------------------
/workshop/content/services/databases/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Databases"
3 | weight: 6
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/databases/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Banco de dados"
3 | weight: 3
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/databases/aurora/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Aurora"
3 | menutitle: "Amazon Aurora"
4 | weight: 1
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon Aurora
9 | ---
10 |
11 | Amazon Aurora is a relational database compatible with MySQL and PostgreSQL built for the cloud that combines the performance and availability of traditional enterprise databases with the simplicity and economics of open source databases.
12 |
13 | Amazon Aurora is up to five times faster than standard MySQL databases and three times faster than standard PostgreSQL databases. The service offers the security, availability, and reliability of commercial databases for one tenth of the cost. Amazon Aurora is managed by Amazon Relational Database Service (RDS), which automates time-consuming administrative tasks such as hardware provisioning, database configuration, patching, and backups.
14 |
15 | Amazon Aurora offers a distributed, fault tolerant, auto-recovery storage system that automatically scales up to 128 TB per DB instance. Amazon Aurora delivers high levels of performance and availability, with up to 15 low-latency read replicas, point-in-time recovery, continuous backup to Amazon S3, and replication across three Availability Zones (AZs).
16 |
17 | {{< youtube FzxqIdIZ9wc >}}
18 |
19 | ---
20 |
21 | **References:**
22 |
23 | - [Amazon Aurora - Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview)
24 |
--------------------------------------------------------------------------------
/workshop/content/services/databases/aurora/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Aurora"
3 | menutitle: "Amazon Aurora"
4 | weight: 1
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon Aurora
9 | ---
10 |
11 |
12 |
13 | O Amazon Aurora é um banco de dados relacional compatível com MySQL e PostgreSQL criado para a nuvem e que combina a performance e a disponibilidade de bancos de dados empresariais tradicionais com a simplicidade e a economia de bancos de dados de código aberto.
14 |
15 | O Amazon Aurora é até cinco vezes mais rápido que bancos de dados MySQL padrão e três vezes mais rápido que bancos de dados PostgreSQL padrão. O serviço oferece a segurança, a disponibilidade e a confiabilidade de bancos de dados comerciais por um décimo do custo. O Amazon Aurora é gerenciado pelo Amazon Relational Database Service (RDS), que automatiza tarefas administrativas demoradas como provisionamento de hardware, configuração do banco de dados, aplicação de patches e backups.
16 |
17 | O Amazon Aurora oferece um sistema de armazenamento distribuído, tolerante a falhas e com recuperação automática que escala automaticamente para até 128 TB por instância de banco de dados. O Amazon Aurora oferece altos níveis de performance e disponibilidade, com até 15 réplicas de leitura de baixa latência, recuperação point-in-time, backup contínuo para o Amazon S3 e replicação entre três zonas de disponibilidade (AZs).
18 |
19 | {{< youtube FzxqIdIZ9wc >}}
20 |
21 |
22 |
23 | ---
24 | **Referências:**
25 | - [Amazon Aurora - Banco de dados Globais](https://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview)
--------------------------------------------------------------------------------
/workshop/content/services/databases/aurora/aurora-cross-region-replication.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Aurora MySQL - Cross-Region Replication"
3 | menutitle: "MySQL - Cross-Region Replication"
4 | chapter: false
5 | pre: ""
6 | awsServices:
7 | - Amazon Aurora
8 | tags:
9 | - Pilot Light
10 | ---
11 |
12 | You can create an Amazon Aurora MySQL DB cluster as a Read Replica in a different AWS Region than the source DB cluster. Following this approach can improve your disaster recoverability, allow you to scale read operations in an AWS Region closer to your users, and make it easier to move from one AWS Region to another.
13 |
14 | ---
15 |
16 | **References:**
17 | - [Aurora - How to Replicate Amazon Aurora MySQL Database Clusters Cross-AWS Regions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.html)
18 |
--------------------------------------------------------------------------------
/workshop/content/services/databases/aurora/aurora-cross-region-replication.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Aurora MySQL - Replicação entre Regiões"
3 | menutitle: "MySQL - Replicação entre Regiões"
4 | chapter: false
5 | pre: ""
6 | awsServices:
7 | - Amazon Aurora
8 | tags:
9 | - Pilot Light
10 | ---
11 |
12 | Você pode criar um cluster de banco de dados do Amazon Aurora MySQL como uma réplica de leitura em uma região da AWS diferente da do cluster de banco de dados de origem. Seguir essa abordagem pode melhorar sua capacidade de recuperação de desastres, permitir que você escale as operações de leitura em uma região da AWS mais próxima a seus usuários e facilitar a migração de uma região da AWS para outra.
13 |
14 | ---
15 | **Referências:**
16 | - [Aurora - Como replicar clusters de banco de dados do Amazon Aurora MySQL entre regiões da AWS](https://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.html)
--------------------------------------------------------------------------------
/workshop/content/services/databases/elasticache/global-datastore.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ElastiCache - Global Datastore"
3 | menuTitle: "Global Datastore"
4 | tags:
5 | - Warm Standby
6 | awsServices:
7 | - Amazon ElastiCache
8 | ---
9 |
10 |
11 | Global Datastore for Redis functionality enables you to work with fully managed cross-region replication quickly, reliably and securely. Each Global Datastore is a collection of one or more cluster that replicate data with each other. To use cross-region replication, you must have at least 2 clusters (**Primary** and **Secondary**, or **Active** and **Passive**, respectively) configured. The primary cluster is read/write, while the cluster **secondary** it's just read and must be in **another region**.
12 |
13 | For the Disaster Recovery strategy, if the primary cluster shows signs of degradation, a secondary cluster can be promoted to a primary cluster. The diagram below illustrates its operation:
14 |
15 | 
16 |
17 | {{< youtube xx6X5s9uLBs >}}
18 |
19 | **RTO:** 1 minute
20 |
21 | **RPO:** Generally less than 1 second
22 |
23 | ***
24 |
25 | **References:**
26 |
27 | * [Global Datastore - Official Documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html)
28 | * [Building a Global Solution with Amazon ElastiCache for Redis Global Datastore](https://www.youtube.com/watch?v=xx6X5s9uLBs)
29 |
--------------------------------------------------------------------------------
/workshop/content/services/databases/elasticache/global-datastore.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "ElastiCache - Global Datastore"
3 | menuTitle: "Global Datastore"
4 | tags:
5 | - Warm Standby
6 | awsServices:
7 | - Amazon ElastiCache
8 | ---
9 |
10 |
11 | A funcionalidade Global Datastore para Redis possibilita que você trabalhe com a replicação entre regiões totalmente gerenciada e de forma rápida, confiável e segura. Cada Global Datastore é uma coleção de um ou mais cluster que replicam dados entre si. Para utilizar a replicação cross-region, é necessário ter pelo menos 2 clusters (**Primary** e **Secondary**, ou **Active** e **Passive**, respectivamente) configurados. O cluster primário é read/write, enquanto que o cluster **secundário** é apenas read e deve estar, obrigatoriamente, em **outra região**.
12 |
13 | Para a estratégia de Disaster Recovery, caso o cluster primário apresente sinais de degradação, um cluster secundário pode ser promovido a cluster primário. O diagrama abaixo ilustra seu funcionamento:
14 |
15 | 
16 |
17 | {{< youtube xx6X5s9uLBs >}}
18 |
19 | **RTO:** 1 minuto
20 |
21 | **RPO:** Geralmente menor que 1 segundo
22 |
23 | ---
24 | **Referências:**
25 | - [Global Datastore - Documentação oficial](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html)
26 | - [Building a Global Solution with Amazon elastiCache for Redis Global Datastore](https://www.youtube.com/watch?v=xx6X5s9uLBs)
--------------------------------------------------------------------------------
/workshop/content/services/databases/rds/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon RDS"
3 | menutitle: "Amazon RDS"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices: "Amazon RDS"
8 | ---
9 |
10 | Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the AWS Cloud. It provides cost-effective, scalable capacity for an industry-standard relational database and manages common database administration tasks.
11 |
12 | **DB Instances**
13 |
14 | The basic building block for Amazon RDS is the database instance. A DB instance is an isolated database environment on the AWS Cloud. The DB instance can contain several user-created databases. You can access the DB instance using the same tools and applications used with a standalone DB instance. Create and modify a DB instance using the AWS Command Line Interface, the Amazon RDS API, or the AWS Management Console.
15 |
16 | Each DB instance runs a database engine. Amazon RDS currently supports MySQL, MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server database engines. Each database engine has its own supported features, and each version of a database engine can include specific features. In addition, each database engine has a set of parameters in a database parameter group that control the behavior of the databases it manages.
17 |
18 | For more information see the [official documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).
19 |
20 | ---
21 | **References:**
22 | - [Relational databases: Performance,scale, and availability](https://d1.awsstatic.com/events/reinvent/2019/Relational_databases_Performance,_scale,_and_availability_FSI309.pdf)
23 |
--------------------------------------------------------------------------------
/workshop/content/services/management/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Management and Governance"
3 | weight: 7
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/management/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Gerenciamento e Governança"
3 | weight: 6
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/management/cloudformation/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS CloudFormation"
3 | menutitle: "AWS CloudFormation"
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | AWS CloudFormation is a service that helps you model and configure your Amazon Web Services resources to spend less time managing these resources and more time focusing on your applications running AWS. You create a template that describes all the AWS resources you want (such as Amazon EC2 roles and Amazon RDS tables) and AWS CloudFormation takes care of provisioning and configuring these resources for you. You don't need to individually create and configure AWS resources and find out what depends on what; AWS CloudFormation handles all of this.
9 |
10 | ***
11 |
12 | **References:**
13 |
14 | * [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
15 | * [Automating safe, hands-off deployments](https://aws.amazon.com/builders-library/automating-safe-hands-off-deployments/)
16 | * [Accelerating with Continuous Delivery](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/)
17 | * [Ensuring the Security of Rollback During Deployments](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments/)
18 |
--------------------------------------------------------------------------------
/workshop/content/services/management/cloudformation/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS CloudFormation"
3 | menutitle: "AWS CloudFormation"
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | O AWS CloudFormation é um serviço que ajuda você a modelar e configurar seus recursos da Amazon Web Services para despender menos tempo gerenciando esses recursos e mais tempo se concentrando em seus aplicativos executados AWS. Você cria um modelo que descreve todos os recursos da AWS que você deseja (como funções do Amazon EC2 e tabelas do Amazon RDS) e o AWS CloudFormation cuida do provisionamento e da configuração desses recursos para você. Não é necessário criar e configurar individualmente os recursos da AWS e descobrir o que depende do que; o AWS CloudFormation lida com tudo isso.
9 |
10 |
11 |
12 | ---
13 | **Referências:**
14 | - [AWS CloudFormation](https://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/Welcome.html)
15 | - [Automating safe, hands-off deployments](https://aws.amazon.com/pt/builders-library/automating-safe-hands-off-deployments/)
16 | - [Acelerando com a entrega contíniua](https://aws.amazon.com/pt/builders-library/going-faster-with-continuous-delivery/)
17 | - [Garantindo a segurança da reversão durante as implantações](https://aws.amazon.com/pt/builders-library/ensuring-rollback-safety-during-deployments/)
--------------------------------------------------------------------------------
/workshop/content/services/management/cloudwatch/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudWatch"
3 | menutitle: "Amazon CloudWatch"
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real time. You can use CloudWatch to collect and monitor metrics, which are the variables you can measure to evaluate your resources and applications.
9 |
10 | You can create alarms that observe metrics and send notifications or automatically make changes to the features you're monitoring when a limit is breached. For example, you can monitor CPU usage and disk reads and writes of your Amazon EC2 instances, and then use that data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop underutilized instances to save money.
11 |
12 | With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.
13 |
14 | ---
15 | **References:**
16 | - [AWS CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
17 | - [AWS Re:Invent 2019: \[REPEAT 1\] Amazon's approach to failing successfully (DOP208-R1)](https://www.youtube.com/watch?v=yQiRli2ZPxU)
18 | - [Amazon Builders'Library - How to Instrument Distributed Systems for Operational Visibility](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/)
19 |
--------------------------------------------------------------------------------
/workshop/content/services/management/cloudwatch/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudWatch"
3 | menutitle: "Amazon CloudWatch"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | ---
8 |
9 | O Amazon CloudWatch monitora seus recursos da Amazon Web Services (AWS) e os aplicativos que você executa na AWS em tempo real. Você pode usar o CloudWatch para coletar e monitorar métricas, que são as variáveis que é possível medir para avaliar seus recursos e aplicativos.
10 |
11 | É possível criar alarmes que observem métricas e enviem notificações ou façam alterações automaticamente nos recursos que você está monitorando quando um limite é violado. Por exemplo, você pode monitorar o uso de CPU e leituras e gravações de disco de suas instâncias do Amazon EC2 e, em seguida, usar esses dados para determinar se você deve iniciar instâncias adicionais para lidar com o aumento de carga. Você também pode usar esses dados para interromper instâncias subutilizados para economizar dinheiro.
12 |
13 | Com o CloudWatch, você obtém visibilidade no âmbito do sistema da utilização de recursos, do desempenho dos aplicativos e da integridade operacional.
14 |
15 | ---
16 | **Referências:**
17 | - [AWS CloudWatch](https://docs.aws.amazon.com/pt_br/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
18 | - [AWS re:Invent 2019: [REPEAT 1] Amazon’s approach to failing successfully (DOP208-R1)](https://www.youtube.com/watch?v=yQiRli2ZPxU)
19 | - [Amazon Builders'Library - Como instrumentar sistemas distribuídos para obter visibilidade operacional](https://aws.amazon.com/pt/builders-library/instrumenting-distributed-systems-for-operational-visibility/)
--------------------------------------------------------------------------------
/workshop/content/services/networking/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Networking and Content Delivery"
3 | weight: 9
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
9 |
10 |
11 | ---
12 |
13 | {{< youtube 3K9AzSrCmiQ>}}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Redes e Entrega de Conteúdo"
3 | weight: 8
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
9 |
10 |
11 | ---
12 |
13 | {{< youtube 3K9AzSrCmiQ>}}
14 |
15 |
16 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon API Gateway"
3 | menutitle: "Amazon API Gateway"
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | Amazon API Gateway is an AWS service for creating, publishing, maintaining, monitoring, and protecting REST and WebSocket APIs at any scale. API developers can create APIs that access AWS services or other web services, as well as data stored in the AWS Cloud. As an API Gateway developer, you can create APIs for use in your own client applications. Or you can make your APIs available to third-party application developers.
9 |
10 | ---
11 | **References**
12 | - [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)
13 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon API Gateway"
3 | menutitle: "Amazon API Gateway"
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | O Amazon API Gateway é um serviço da AWS para criação, publicação, manutenção, monitoramento e proteção de APIs REST e WebSocket em qualquer escala. Os desenvolvedores de APIs podem criar APIs que acessem serviços da AWS ou outros serviços da Web, bem como dados armazenados na Nuvem AWS. Como um desenvolvedor de APIs do API Gateway, é possível criar APIs para uso em suas próprias aplicações cliente. Ou você pode disponibilizar suas APIs para desenvolvedores de aplicativos de terceiros.
9 |
10 |
11 | ---
12 | **Referências**
13 | - [Amazon API Gateway](https://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/welcome.html)
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/active-active.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Active-Active"
3 | menuTitle : "Active-Active"
4 | tags:
5 | - Active-Active
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | In the case of external apis accessible over the internet, a possible configuration that supports an active-active scenario for your apis in different regions may be as shown below.
11 |
12 | Supported by Route 53 routing policies, you can direct traffic from your apis to more than one infrastructure in different regions, and through weight-routing policies, the service allows you to balance requests according to the infrastructure capacity of each region.
13 |
14 | 
15 |
16 | ---
17 | **References:**
18 | - [Building a serverless multi region with Amazon API Gateway and AWS Lambda](https://aws.amazon.com/blogs/compute/building-a-multi-region-serverless-application-with-amazon-api-gateway-and-aws-lambda/)
19 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/active-active.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Active-Active"
3 | menuTitle : "Active-Active"
4 | tags:
5 | - Active-Active
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | Em se tratando de apis externas acessíveis pela internet, uma configuração possível que suporta um cenário ativo-ativo para suas apis em diferentes regiões pode ser conforme a figura abaixo.
11 |
12 | Suportado pelas políticas de roteamento do Route53, é possível direcionar o tráfego de suas apis para mais de uma infraestrutura em diferentes regiões, e através das políticas de roteamento por peso, o serviço permite balancear as requisições conforme a capacidade da infraestrutura de cada região.
13 |
14 | 
15 |
16 |
17 |
18 | ---
19 | **Referências:**
20 | - [Building a multi region serverless with Amazon API Gateway and AWS Lambda](https://aws.amazon.com/blogs/compute/building-a-multi-region-serverless-application-with-amazon-api-gateway-and-aws-lambda/)
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/backup-restore.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Backup & Restore"
3 | menuTitle : "Backup & Restore"
4 | tags:
5 | - Backup & Restore
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | Amazon API Gateway offers different ways for you to keep backing up your apis and restore the later.
11 |
12 | It supports working with infrastructure as code through the Serverless Application Model (SAM), through AWS CloudFormation itself, or also through standard formats for defining apis such as OpenAPI and Swagger (for REST apis).
13 |
14 | The references include the procedures for exporting APIs according to the type used:
15 |
16 | * REST API
17 | * HTTP API
18 |
19 | For the recreation/replacement of the API, you can use the API definition import engine in the OpenAPI standard.
20 |
21 | For WebSocket apis, the use of infrastructure as code is the best alternative to maintain configurations and replicate them later.
22 |
23 | ***
24 |
25 | **References:**
26 |
27 | * [Export a REST api from API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html)
28 | * [Export an API Gateway HTTP Api](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-export.html)
29 | * [Defining an API Using the Serverless Application Model (SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html)
30 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/backup-restore.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Backup & Restore"
3 | menuTitle : "Backup & Restore"
4 | tags:
5 | - Backup & Restore
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | O Amazon API Gateway oferece diferentes formas para que você mantenha o backup de suas apis e faça o posterior restore.
11 |
12 | Ele oferece suporte para se trabalhar com infraestrutura como código através do SAM (Serverless Application Model), através do próprio AWS CloudFormation ou também através de formatos padrão de definição de apis como OpenAPI e Swagger (para apis REST).
13 |
14 | Nas referências encontram-se os procedimentos de exportação de APIs conforme o tipo utilizado:
15 |
16 | * API REST
17 | * API HTTP
18 |
19 | Para a recriação/substituição da API é possível utilizar o mecanismo de importação de definições de apis no padrão OpenAPI.
20 |
21 | Para apis WebSocket, o uso de infraestrutura como código é a melhor alternativa para manter as configurações e replicá-las posteriormente.
22 |
23 |
24 |
25 | ---
26 | **Referências:**
27 | - [Exportando uma api REST do API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-export-api.html)
28 | - [Exportando uma api HTTP do API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-export.html)
29 | - [Definindo uma API usando o Serverless Application Model (SAM)](https://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/sam-resource-api.html)
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/pilot-light.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Pilot Light"
3 | menuTitle : "Pilot Light"
4 | tags:
5 | - Pilot Light
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | To keep your Amazon API Gateway API settings replicated to another region to allow you to quickly move up a new environment, we have the following high-level steps that can be followed:
11 |
12 | 1. Export the Amazon API Gateway API to a Swagger file or equivalent using the functionality available from the service itself.
13 |
14 | 2. Copy the definition file to the destination region using standard tools such as CP, FTP, rsynch, etc.
15 |
16 | 3. Import the file to create a new API in the API Gateway in the destination region. Because it is a serverless solution, the simple fact of creating the API does not incur costs if there is no traffic in the API.
17 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/pilot-light.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Pilot Light"
3 | menuTitle : "Pilot Light"
4 | tags:
5 | - Pilot Light
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | Para manter as configurações de suas apis do Amazon API Gateway replicadas para uma outra região de modo a permitir rapidamente subir um novo ambiente temos os seguintes passos em alto nível que podem ser seguidos:
11 |
12 | 1. Exportar a API do Amazon API Gateway em um arquivo Swagger ou equivalente usando funcionalidade disponível do próprio serviço.
13 |
14 | 2. Copiar o arquivo de definição para a região destino usando ferramentas padrão como CP, FTP, rsynch, etc.
15 |
16 | 3. Importar o arquivo para criar uma nova API no API Gateway na região de destino. Por se tratar de solução serverless, o simples fato de criar a API não incorre em custos se não houver tráfego na api.
17 |
18 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/warm-standby.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Warm Standby"
3 | menuTitle: "Warm Standby"
4 | tags:
5 | - Warm Standby
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | In the case of external apis accessible over the internet, a possible configuration that supports a warm standby scenario for your apis in different regions is as follows as follows in the figure below.
11 |
12 | Supported by Route 53 routing policies, you can direct traffic from your apis to an infrastructure in a region, and through the health check functionality, the service notices the occurrence of an outage and switches DNS entries to direct traffic to another region where your apis are already defined and deployed.
13 |
14 | 
15 |
16 | ***
17 |
18 | **References:**
19 |
20 | * [Building a serverless multi region with Amazon API Gateway and AWS Lambda](https://aws.amazon.com/blogs/compute/building-a-multi-region-serverless-application-with-amazon-api-gateway-and-aws-lambda/)
21 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/apigw/warm-standby.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Amazon API Gateway - Warm Standby"
3 | menuTitle: "Warm Standby"
4 | tags:
5 | - Warm Standby
6 | awsServices:
7 | - Amazon API Gateway
8 | ---
9 |
10 | Em se tratando de apis externas acessíveis pela internet, uma configuração possível que suporta um cenário warm standby para suas apis em diferentes regiões é a seguinte vista na figura abaixo.
11 |
12 | Suportado pelas políticas de roteamento do Route53, é possível direcionar o tráfego de suas apis para uma infraestrutura em uma região, e através da funcionalidade de health check, o serviço percebe a ocorrência de uma indisponibilidade e faz o chaveamento de entradas de DNS para direcionar o tráfego para outra região onde suas apis já se encontram definidas e implantadas.
13 |
14 | 
15 |
16 |
17 |
18 | ---
19 | **Referências:**
20 | - [Building a multi region serverless with Amazon API Gateway and AWS Lambda](https://aws.amazon.com/blogs/compute/building-a-multi-region-serverless-application-with-amazon-api-gateway-and-aws-lambda/)
--------------------------------------------------------------------------------
/workshop/content/services/networking/cloudfront/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudFront"
3 | menutitle: "Amazon CloudFront"
4 | chapter: true
5 | pre: ""
6 | awsServices: Amazon CloudFront
7 | ---
8 |
9 | Amazon CloudFront is a web service that accelerates the distribution of static and dynamic web content, such as .html, .css, .js, and image files, to users. CloudFront distributes content through a global network of data centers called edge locations. When requesting content you're serving with CloudFront, the user is routed to the edge location with the lowest latency (time delay) so that the content is delivered with the best possible performance.
10 |
11 | * If the content is already at the edge location with the lowest latency, CloudFront will deliver it immediately.
12 |
13 | * If the content is not at this edge location, CloudFront retrieves it from a defined origin, such as an Amazon S3 bucket, a MediaPackage channel, or an HTTP server (for example, a web server), that you identified as the source for the definitive version of the content.
14 |
15 | ---
16 | **References**
17 | - [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)
18 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/cloudfront/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudFront"
3 | menutitle: "Amazon CloudFront"
4 | chapter: true
5 | pre: ""
6 | awsServices: Amazon CloudFront
7 | ---
8 |
9 | O Amazon CloudFront é um serviço web que acelera a distribuição do conteúdo estático e dinâmico da web, como arquivos .html, .css, .js e arquivos de imagem, para os usuários. O CloudFront distribui o conteúdo por meio de uma rede global de datacenters denominados pontos de presença. Ao solicitar um conteúdo que você está veiculando com o CloudFront, o usuário é roteado para o ponto de presença com a menor latência (atraso de tempo) para que o conteúdo seja fornecido com a melhor performance possível.
10 |
11 | - Se o conteúdo já estiver no ponto de presença com a menor latência, o CloudFront o entregará imediatamente.
12 |
13 | - Se o conteúdo não estiver nesse ponto de presença, o CloudFront o recuperará de uma origem definida, como um bucket do Amazon S3, um canal do MediaPackage ou um servidor HTTP (por exemplo, um servidor web), que você identificou como a fonte para a versão definitiva do conteúdo.
14 |
15 |
16 |
17 | ---
18 | **Referências**
19 | - [Amazon CloudFront](https://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)
20 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/cloudfront/cloudfront-failover-lambda.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudFront - Failover using Lambda@Edge"
3 | menutitle: "Failover using Lambda@Edge"
4 | chapter: false
5 | pre: ""
6 | awsServices:
7 | - Amazon CloudFront
8 | tags:
9 | - Active-Active
10 | ---
11 |
12 | You can use Lambda @Edge functions with CloudFront distributions that you have configured with origin groups. To use a Lambda function, specify it in an origin request trigger or source response from an origin group when creating the cache behavior. When using a Lambda @Edge function with a source group, it can be triggered twice for a single viewer request. For example, consider this scenario:
13 |
14 | 1. You create a Lambda @Edge function with a source request trigger.
15 |
16 | 2. The Lambda function is triggered when CloudFront sends a request to the primary origin (in a cache failure).
17 |
18 | 3. The primary source responds with an HTTP status code configured for failover.
19 |
20 | 4. The Lambda function is triggered again when CloudFront sends the same request to the secondary origin.
21 |
22 | 
23 |
24 | ---
25 | **References**
26 | - [Use origin failover with Lambda@Edge functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.lambda)
27 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/cloudfront/cloudfront-failover-lambda.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon CloudFront - Failover com Lambda@Edge"
3 | menutitle: "Failover com Lambda@Edge"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon CloudFront
9 | tags:
10 | - Active-Active
11 | ---
12 |
13 | Você pode usar as funções do Lambda@Edge com distribuições do CloudFront que tiver configurado com grupos de origem. Para usar uma função do Lambda, especifique-a em um trigger de solicitação origem ou resposta de origem de um grupo de origem ao criar o comportamento de cache. Ao usar uma função do Lambda@Edge com um grupo de origem, ela poderá ser acionada duas vezes para uma única solicitação de visualizador. Por exemplo, considere este cenário:
14 |
15 | 1. Você cria uma função do Lambda@Edge com um trigger de solicitação de origem.
16 |
17 | 2. A função do Lambda é acionada quando o CloudFront envia uma solicitação para a origem primária (em um falha de cache).
18 |
19 | 3. A origem primária responde com um código de status de HTTP configurado para failover.
20 |
21 | 4. A função do Lambda é acionada novamente quando o CloudFront envia a mesma solicitação à origem secundária.
22 |
23 | 
24 |
25 | ---
26 | **Referências**
27 | - [Uso do failover de origem com funções do Lambda@Edge](https://docs.aws.amazon.com/pt_br/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.lambda)
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53"
3 | menutitle: "Amazon Route 53"
4 | chapter: true
5 | pre: ""
6 | awsServices:
7 | - "Amazon Route 53"
8 | type: Documentation
9 | ---
10 |
11 | Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. You can use Route 53 to perform three main functions in any combination: domain registration, DNS routing, and health check. If you choose to use Route 53 for all three functions, perform the steps in this order:
12 |
13 | **1. Register domain names**
14 |
15 | Your site needs a name, such as example.com. Route 53 allows you to register a name for your website or web application, known as a domain name.
16 |
17 | **2. Route Internet traffic to your domain resources**
18 |
19 | When a user opens a web browser and informs their domain name (example.com) or subdomain name (acme.example.com) in the address bar, Route 53 helps connect the browser to the website or web application.
20 |
21 | **3. Check the health of your resources (*Health Checks*)**
22 |
23 | Route 53 sends automatic requests over the Internet to a resource, such as a web server, to verify that it is accessible, available, and functional. You can also choose to receive notifications when a feature becomes unavailable and choose to divert Internet traffic from unhealthy resources.
24 |
25 | ---
26 | **References**
27 |
28 | - [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html)
29 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53"
3 | menutitle: "Amazon Route 53"
4 | chapter: true
5 | pre: ""
6 | awsServices:
7 | - "Amazon Route 53"
8 | type: Documentation
9 | ---
10 |
11 |
12 | O Amazon Route 53 é um serviço web do Domain Name System (DNS) altamente disponível e dimensionável. Você pode usar o Route 53 para executar três funções principais em qualquer combinação: registro de domínios, roteamento de DNS e verificação de integridade. Se você optar por usar o Route 53 para todas as três funções, execute as etapas nesta ordem:
13 |
14 | **1. Registrar nomes de domínio**
15 |
16 | Seu site precisa de um nome, como exemplo.com. O Route 53 permite que você registre um nome para seu site ou aplicativo web, conhecido como um nome de domínio.
17 |
18 |
19 | **2. Rotear tráfego de Internet para os recursos do seu domínio**
20 |
21 | Quando um usuário abre um navegador da web e informa seu nome de domínio (example.com) ou nome de subdomínio (acme.example.com) na barra de endereços, o Route 53 ajuda a conectar o navegador com o site ou aplicativo web.
22 |
23 | **3. Verificar a integridade de seus recursos (*Health Checks*)**
24 |
25 | O Route 53 envia solicitações automáticas através da Internet a um recurso, como um servidor web, para verificar se está acessível, disponível e funcional. Você também pode optar por receber notificações quando um recurso se tornar indisponível e optar por desviar o tráfego da Internet dos recursos não íntegros.
26 |
27 |
28 | ---
29 | **Referências**
30 | - [Amazon Route53](https://docs.aws.amazon.com/pt_br/Route53/latest/DeveloperGuide/Welcome.html)
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/route53-health-check.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Health Checks"
3 | menutitle: "Health Checks"
4 | weight: 3
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | type: documentation
10 | ---
11 |
12 | Create a *health check*, if you want Amazon Route 53 to check the health status of an address that will be used to respond to DNS queries using this record. This check works as a filter, so only addresses that passed the assessment will be returned, which are healthy.
13 |
14 | 
15 |
16 | {{% notice warning%}}
17 | If you create a *health check* to the DNS record itself and then associate that DNS record with it *health check*, the results of *health check* will be unpredictable.
18 | {{% /notice%}}
19 |
20 | {{< youtube vGywoYc_sA8>}}
21 |
22 | ---
23 | **References**
24 | - [How Amazon Route 53 determines whether a health check is healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
25 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/route53-health-check.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Health Checks"
3 | menutitle: "Health Checks"
4 | weight: 3
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | type: documentation
10 | ---
11 |
12 | Crie um *health check*, se quiser que o Amazon Route 53 verifique o estado de saúde de um endereço que será usado para responder as consultas de DNS utilizando este registo. Essa verificação funciona como um filtro, portanto serão retornados apenas endereços que passaram na avaliação, que estão como saudáveis.
13 |
14 | 
15 |
16 | {{% notice warning %}}
17 | Se você criar um *health check* para o próprio registro de DNS e, em seguida, associar esse registro de DNS ao mesmo *health check*, os resultados do *health check* serão imprevisíveis.
18 | {{% /notice %}}
19 |
20 | {{< youtube vGywoYc_sA8>}}
21 |
22 | ---
23 | **Referências**
24 | - [Amazon Route53 - Health Checks (Verificação de Integridade)](https://docs.aws.amazon.com/pt_br/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/routing-policies/routing-failover.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Failover Routing Policy"
3 | menutitle: "Failover"
4 | weight: 3
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | tags:
10 | - Pilot Light
11 | type: Documentation
12 | ---
13 |
14 |
15 | Failover routing allows you to route traffic to a resource when the resource is healthy or to a different resource when the first resource is unhealthy. Primary and secondary records can route traffic to any point from an Amazon S3 bucket that is configured as a site to a complex log tree. For more information, see [Active/Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-types.html#dns-failover-types-active-passive).
16 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/routing-policies/routing-failover.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Política de Roteamento Failover"
3 | menutitle: "Failover"
4 | weight: 3
5 | chapter: true
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | tags:
10 | - Pilot Light
11 | type: Documentation
12 | ---
13 |
14 | O roteamento de failover permite rotear o tráfego para um recurso quando o recurso estiver íntegro ou para um recurso diferente quando o primeiro recurso não estiver íntegro. Os registros primários e secundários podem rotear o tráfego para qualquer ponto a partir de um bucket do Amazon S3 que é configurado como um site para uma árvore complexa de registros. Para obter mais informações, consulte [Failover ativo/passivo](https://docs.aws.amazon.com/pt_br/Route53/latest/DeveloperGuide/dns-failover-types.html#dns-failover-types-active-passive).
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/routing-policies/routing-simple.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Simple Routing Policy"
3 | menutitle: "Simple"
4 | weight: 3
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | tags:
10 | - Active-Active
11 | type: Documentation
12 | ---
13 |
14 |
15 | Simple routing allows you to configure standard DNS records without special Route 53 routing, such as weighted or latency. With simple routing, you typically route traffic to a single resource, for example, to a web server on your site.
16 |
17 | If you choose the simple routing policy in the Route 53 console, you cannot create multiple records with the same name and type, but you can specify multiple values in the same record, such as multiple IP addresses. (If you choose the simple routing policy for an alternative record, you can only specify an AWS resource or a record in the current hosted zone.) If you specify multiple values in a record, Route 53 displays all the values to resolve it recursive in random order and the resolver displays the values for the client (such as a web browser) that submitted the DNS query. The customer then chooses an amount and resends the query.
18 |
19 | ---
20 | **References**
21 | - [Amazon Route53 - Simple Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-simple)
22 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/routing-policies/routing-simple.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Política de Roteamento Simples"
3 | menutitle: "Simples"
4 | weight: 3
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | tags:
10 | - Active-Active
11 | type: Documentation
12 | ---
13 |
14 | O roteamento simples permite configurar registros de DNS padrão sem roteamento especial do Route 53, como ponderados ou de latência. Com o roteamento simples, você normalmente roteia o tráfego para um único recurso, por exemplo, para um servidor web do seu site.
15 |
16 | Se você escolher a política de roteamento simples no console do Route 53, não poderá criar vários registros com o mesmo nome e tipo, mas poderá especificar diversos valores no mesmo registro, como vários endereços IP. (Se escolher a política de encaminhamento simples para um registo alternativo, só pode especificar um recurso AWS ou um registo na zona alojada actual.) Se especificar vários valores num registo, Route 53 apresenta todos os valores para o resolver recursivo por ordem aleatória e o resolver apresenta os valores para o cliente (tal como um browser da Web) que submeteu a consulta DNS. Em seguida, o cliente escolhe um valor e reenvia a consulta.
17 |
18 | ---
19 | **Referências**
20 | - [Amazon Route53 - Roteamento Simples](https://docs.aws.amazon.com/pt_br/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-simple)
--------------------------------------------------------------------------------
/workshop/content/services/networking/route53/routing-policies/routing-weighted.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon Route 53 - Weighted Routing Policy"
3 | menutitle: "Weighted Routing"
4 | weight: 3
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - "Amazon Route 53"
9 | tags:
10 | - Warm Standby
11 | type: Documentation
12 | ---
13 |
14 | Weighted routing allows you to associate multiple resources with a single domain name (example.com) or subdomain (acme.example.com) and choose the amount of traffic routed for each resource. This can be useful for a variety of purposes, including load balancing and testing new versions of software.
15 |
16 | To set up weighted routing, create records that have the same name and type as each of your resources. To each record you assign a relative weight that corresponds to the amount of traffic you want to send to each resource. Amazon Route 53 sends traffic to a resource based on the weight you assign to the record as a proportion of the total weight for all records in the group:
17 |
18 | 
19 |
--------------------------------------------------------------------------------
/workshop/content/services/networking/vpc/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon VPC"
3 | menutitle: "Amazon VPC"
4 | chapter: true
5 | pre: ""
6 | awsServices:
7 | - "Amazon VPC"
8 | type: Documentation
9 | ---
10 |
11 | Amazon Virtual Private Cloud (Amazon VPC) allows you to run AWS resources on a virtual network that you define. This virtual network resembles a traditional network that you would operate in your data center, with the benefits of using AWS scalable infrastructure.
12 |
13 | ### Amazon VPC Concepts
14 |
15 | Amazon VPC is the network layer of Amazon EC2. If you don't have experience with Amazon EC2, see What is Amazon EC2? in the Amazon EC2 User Guide for Linux Instances for a brief overview.
16 |
17 | The following are the main concepts of VPCs:
18 |
19 | * **Virtual Private Cloud (VPC):** a virtual network dedicated to your AWS account.
20 |
21 | * **Subnet:** a range of IP addresses in the VPC.
22 |
23 | * **Route table:** a set of rules, called routes, that are used to determine where network traffic will be directed.
24 |
25 | * **Internet Gateway:** a gateway that you attach to the VPC to enable communication between resources in the VPC and the Internet.
26 |
27 | * **VPC endpoint:** Enables you to privately connect your VPC to supported AWS services and VPC endpoint services developed by PrivateLink without requiring an Internet gateway, NAT device, VPN connection, or AWS Direct Connect connection. Instances in your VPC don't require public IP addresses to communicate with resources in the service. The traffic between your VPC and other services doesn't leave the Amazon network.
28 |
29 | ---
30 | **References**
31 | - [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
32 |
--------------------------------------------------------------------------------
/workshop/content/services/security/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Security, Identity and Compliance"
3 | weight: 9
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/security/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Segurança, Identidade e Conformidade"
3 | weight: 9
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/security/iam/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Identity and Access Management (IAM)"
3 | menutitle: "AWS IAM"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices: "AWS IAM"
8 | ---
9 |
10 | AWS Identity and Access Management (IAM) is a web service that helps you control access to AWS resources securely. You use IAM to control who is authenticated (logged in) and authorized (have permissions) to use the resources.
11 |
12 | When you create an AWS account, you start with a single login identity that has full access to all AWS resources and services in the account. This identity is called AWS from the root user account and is accessed by signing in with the email address and password you used to create the account.
13 |
14 | ---
15 |
16 | {{% children%}}
17 |
18 | ---
19 | **References**
20 |
21 | - [AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
22 |
--------------------------------------------------------------------------------
/workshop/content/services/security/iam/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Identity and Access Management (IAM)"
3 | menutitle: "AWS IAM"
4 | weight: 1
5 | chapter: true
6 | pre: ""
7 | awsServices: "AWS IAM"
8 | ---
9 |
10 | O AWS Identity and Access Management (IAM) é um serviço da web que ajuda você a controlar o acesso aos recursos da AWS de forma segura. Você usa o IAM para controlar quem é autenticado (fez login) e autorizado (tem permissões) a usar os recursos.
11 |
12 | Ao criar uma conta da AWS, você começa com uma única identidade de login que tenha acesso total a todos os recursos e serviços da AWS na conta. Essa identidade é chamada de AWS da conta da usuário raiz e é acessada pelo login com o endereço de e-mail e a senha que você usou para criar a conta.
13 |
14 |
15 | ---
16 |
17 | {{% children %}}
18 |
19 | ---
20 | **Referências**
21 | - [AWS IAM](https://docs.aws.amazon.com/pt_br/IAM/latest/UserGuide/introduction.html)
--------------------------------------------------------------------------------
/workshop/content/services/storage/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Storage"
3 | weight: 10
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/storage/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Armazenamento"
3 | weight: 2
4 | chapter: true
5 | pre: ""
6 | ---
7 |
8 | {{% children %}}
--------------------------------------------------------------------------------
/workshop/content/services/storage/aws-backup/_index.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Backup"
3 | weight: 1
4 | chapter: true
5 | pre: ""
6 | awsServices: "AWS Backup"
7 | ---
8 |
9 | AWS Backup is a fully managed backup service that makes it easy to centralize and automate data backup across all AWS services in the cloud and on-premises. With AWS Backup, you can configure backup policies and monitor the backup activities of your AWS resources in one place. AWS Backup automates and consolidates backup jobs that were previously performed service by service and removes the need to create custom scripts and manual processes. With just a few clicks in the AWS Backup console, you can create backup policies that automate the management of scheduling and retention of backups.
10 |
11 | ---
12 | **References**
13 | - [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
14 |
--------------------------------------------------------------------------------
/workshop/content/services/storage/aws-backup/_index.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "AWS Backup"
3 | weight: 1
4 | chapter: true
5 | pre: ""
6 | awsServices: "AWS Backup"
7 | ---
8 |
9 | O AWS Backup é um serviço de backup totalmente gerenciado que facilita a centralização e a automação do backup de dados entre todos os serviços da AWS na nuvem e no local. Com o AWS Backup, é possível configurar políticas de backup e monitorar as atividades de backup de seus recursos da AWS em um único lugar. O AWS Backup automatiza e consolida tarefas de backup que foram executadas anteriormente serviço por serviço e remove a necessidade de criar scripts personalizados e processos manuais. Com apenas alguns cliques no console do AWS Backup, você pode criar políticas de backup que automatizam o gerenciamento da programação e da retenção dos backups.
10 |
11 | ---
12 | **Referências**
13 | - [AWS Backup](https://docs.aws.amazon.com/pt_br/aws-backup/latest/devguide/whatisbackup.html)
14 |
15 |
--------------------------------------------------------------------------------
/workshop/content/services/storage/s3/s3-crr.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon S3 - Cross-Region Replication"
3 | menutitle: "Cross-Region Replication"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon S3
9 | tags:
10 | - Active-Active
11 | type: documentation
12 | ---
13 |
14 | ## Replication Engine
15 |
16 | THE [replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) enables automatic asynchronous copy of objects to Amazon S3 buckets. Buckets configured for object replication may be owned by the same AWS account or different accounts. You can copy objects between **different AWS regions** or within the same region.
17 |
18 | **Replicate objects in 15 minutes:** You can use S3 Replication Time Control (S3 RTC) to replicate your data in the same AWS Region or in different regions over a predictable period. S3 RTC replicates 99.99% of new objects stored in Amazon S3 in 15 minutes (backed by a service level agreement).
19 |
20 | ---
21 |
22 | **References:**
23 |
24 | - [LAB: S3 - Two-Way Replication]({{< ref "bidire-rep-s3" >}})
25 | - [Meeting Compliance Requirements Using S3 Replication Time Control (S3 RTC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-time-control.html)
26 |
--------------------------------------------------------------------------------
/workshop/content/services/storage/s3/s3-crr.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Amazon S3 - Replicação entre Regiões"
3 | menutitle: "Replicação entre Regiões"
4 | weight: 2
5 | chapter: false
6 | pre: ""
7 | awsServices:
8 | - Amazon S3
9 | tags:
10 | - Active-Active
11 | type: documentation
12 | ---
13 |
14 |
15 | ## Mecanismo de Replicação
16 | A [replicação](https://docs.aws.amazon.com/pt_br/AmazonS3/latest/dev/replication.html) permite a cópia assíncrona automática de objetos em buckets do Amazon S3. Os buckets configurados para replicação de objetos podem ser de propriedade da mesma conta da AWS ou de contas diferentes. Você pode copiar objetos entre **regiões diferentes da AWS** ou dentro da mesma região.
17 |
18 | **Replicar objetos em 15 minutos:** você pode usar o Controle do tempo de replicação do S3 (S3 RTC) para replicar seus dados na mesma região da AWS ou em diferentes regiões em um período previsível. O S3 RTC replica 99,99% dos novos objetos armazenados no Amazon S3 em 15 minutos (respaldado por um acordo de nível de serviço).
19 |
20 | ---
21 | **Referências:**
22 | - [LAB: S3 - Replicação Bidirecional]({{< ref "bidire-rep-s3" >}})
23 | - [Atendimento aos requisitos de conformidade usando o Controle do tempo de replicação do S3 (S3 RTC)](https://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/replication-time-control.html)
24 |
--------------------------------------------------------------------------------
/workshop/content/survey.en.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Feedback
3 | disableToc: true
4 | ---
5 |
6 |
7 | If you wish to provide feedback on this workshop, there is an error, or you want to make a suggestion, please email: [aws-sa-disaster-recovery@amazon.com](mailto:aws-sa-disaster-recovery@amazon.com)
8 |
9 | or open an issue on Github: [New issue](https://github.com/aws-samples/disaster-recovery-workshop/issues/new)
--------------------------------------------------------------------------------
/workshop/content/survey.pt.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Feedback
3 | disableToc: true
4 | ---
5 |
6 |
7 | Se quiser enviar um feedback sobre esse workshop, caso exista um erro, ou queria fazer uma sugestão, envie um e-mail: [aws-sa-disaster-recovery@amazon.com](mailto:aws-sa-disaster-recovery@amazon.com)
8 |
9 | ou abra uma *issue* no Github: [New issue](https://github.com/aws-samples/disaster-recovery-workshop/issues/new)
10 |
11 |
12 |
--------------------------------------------------------------------------------
/workshop/content/taxonomy.md:
--------------------------------------------------------------------------------
1 |
2 | ---
3 | title: Taxonomy
4 | disableToc: true
5 | layout: taxonomyAll
6 | ---
7 |
8 |
--------------------------------------------------------------------------------
/workshop/layouts/_default/_markup/render-link.html:
--------------------------------------------------------------------------------
1 | {{ .Text | safeHTML }}
--------------------------------------------------------------------------------
/workshop/layouts/_default/list.html:
--------------------------------------------------------------------------------
1 | {{ partial "header.html" . }}
2 |
3 | {{ if eq .Kind "section" }}
4 | {{ .Content }}
5 | {{end}}
6 |
7 |
8 | {{ if or (eq .Kind "taxonomy")}}
9 |