-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 8b3b14f
Showing
332 changed files
with
12,448 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Sample workflow for building and deploying a Hugo site to GitHub Pages | ||
name: Deploy Hugo site to Pages | ||
|
||
on: | ||
# Runs on pushes targeting the default branch | ||
push: | ||
branches: ["main"] | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | ||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | ||
concurrency: | ||
group: "pages" | ||
cancel-in-progress: false | ||
|
||
# Default to bash | ||
defaults: | ||
run: | ||
shell: bash | ||
|
||
jobs: | ||
# Build job | ||
build: | ||
runs-on: ubuntu-latest | ||
env: | ||
HUGO_VERSION: 0.120.4 | ||
steps: | ||
- name: Install Hugo CLI | ||
run: | | ||
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ | ||
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb | ||
- name: Install Dart Sass | ||
run: sudo snap install dart-sass | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
- name: Setup Pages | ||
id: pages | ||
uses: actions/configure-pages@v4 | ||
- name: Install Node.js dependencies | ||
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" | ||
- name: Build with Hugo | ||
env: | ||
# For maximum backward compatibility with Hugo modules | ||
HUGO_ENVIRONMENT: production | ||
HUGO_ENV: production | ||
run: | | ||
hugo \ | ||
--minify | ||
- name: Upload artifact | ||
uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: ./public | ||
|
||
# Deployment job | ||
deploy: | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/public |
Empty file.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--- | ||
title: "{{ replace .Name "-" " " | title }}" | ||
date: {{ .Date }} | ||
draft: true | ||
--- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
relativeURLs = true | ||
# Change the default theme to be use when building the site with Hugo | ||
theme = "hugo-theme-learn" | ||
|
||
# For search functionality | ||
[outputs] | ||
home = [ "HTML", "RSS", "JSON"] | ||
|
||
[params] | ||
# Change default color scheme with a variant one. Can be "red", "blue", "green". | ||
themeVariant = "workshop" | ||
# Git hub repo link | ||
editURL = "" | ||
description = "" | ||
author = "journeyoftheaverageguy@gmail.com" | ||
showVisitedLinks = true | ||
disableBreadcrumb = false | ||
disableNextPrev = false | ||
|
||
[Languages] | ||
[Languages.en] | ||
title = "Create a new AWS account." | ||
weight = 1 | ||
languageName = "English" | ||
|
||
[[Languages.en.menu.shortcuts]] | ||
name = "<i class='fab fa-aws'></i> AWS Study Group - Blog" | ||
identifier = "AWS Study Group" | ||
url = "https://aws.amazon.com/blogs" | ||
weight = 20 | ||
|
||
[[Languages.en.menu.shortcuts]] | ||
name = "<i class='fab fa-facebook'></i> AWS Study Group - FB Group" | ||
identifier = "AWS Study Group FB" | ||
url = "https://www.facebook.com/groups/awsstudygroupfcj" | ||
weight = 20 | ||
|
||
[Languages.vi] | ||
title = "Tạo mới tài khoản AWS" | ||
weight = 2 | ||
languageName = "Tiếng Việt" | ||
|
||
[[Languages.vi.menu.shortcuts]] | ||
name = "<i class='fab fa-aws'></i> AWS Study Group - Blog" | ||
identifier = "AWS Study Group" | ||
url = "http://awsstudygroup.com" | ||
weight = 20 | ||
|
||
[[Languages.vi.menu.shortcuts]] | ||
name = "<i class='fab fa-facebook'></i> AWS Study Group - Nhóm FB" | ||
identifier = "AWS Study Group FB" | ||
url = "https://www.facebook.com/groups/awsstudygroupfcj" | ||
weight = 20 | ||
|
35 changes: 35 additions & 0 deletions
35
content/1-Introduction/1-What-is-Infrastructure-as-Code/_index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title : "What is Infrastructure as Code?" | ||
date : "`r Sys.Date()`" | ||
weight : 1 | ||
chapter : false | ||
pre : " <b> 1.1 </b> " | ||
--- | ||
|
||
Infrastructure as code, or IaC, is the concept that you define, deploy, update, and destroy your infrastructure by writing and executing code. | ||
|
||
So why use IaC? Why learn a new language and tool and encumber yourself with | ||
yet more code to manage? | ||
|
||
The answer is that code is powerful. Moreover, when it comes to application infrastructure maintenance with projects that scale, IaC — and Terraform in particular — can help you save a great deal of time and effort when compared to manual configuration. | ||
|
||
![Terraform vs Manual Configuration efficiency graph](/images/1/1/0001.svg?featherlight=false&width=80pc) | ||
|
||
You can apply a wide range of software engineering techniques, such as the following, to significantly enhance your software delivery process and manage your project backbone easier when your infrastructure is defined as code: | ||
|
||
**Documentation** | ||
|
||
If crucial infrastructure information resides solely in the mind of one system administrator, the operation could face setbacks if that person is absent due to vacation, resignation, or unexpected circumstances. IaC resolves this issue by documenting the infrastructure in source files accessible to all. Consequently, even in the absence of the administrator, everyone remains informed about operational procedures, ensuring smooth continuity. | ||
|
||
**Version control** | ||
|
||
Your infrastructure's entire history is now recorded in the commit log since you can put your IaC source files in version control. This turns into an effective tool for troubleshooting, since whenever an issue arises, the first thing you'll do is look through the commit log to see what modifications were made to your infrastructure. In addition, you may choose to fix the issue by just rolling back to a known-working version of your IaC code. | ||
|
||
**Validation** | ||
|
||
If your infrastructure is described in code, you can do a code review, run a series of automated tests, and run the code through static analysis tools for each and every update. These procedures are known to greatly lower the likelihood of errors. | ||
|
||
**Reuse** | ||
|
||
Your infrastructure can be packaged as reusable modules so that you can build upon proven, documented, and tried-and-true components rather than starting from scratch with each deployment for every product in every environment. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
title : "What is Terraform?" | ||
date : "`r Sys.Date()`" | ||
weight : 2 | ||
chapter : false | ||
pre : " <b> 1.2 </b> " | ||
--- | ||
|
||
[Terraform](https://www.terraform.io/) is an IaC tool that enables you to safely and predictably provision and manage infrastructure in any cloud. | ||
|
||
With Terraform for AWS cloud provider, you can quickly and securely provide AWS resources. You can share, reuse, and version these configuration files since they are written in a human-readable manner. Using the application programming interfaces (APIs) of AWS cloud platform and other services, it generates and administers resources with ease. Terraform gives developers the power to design and implement a reproducible, reliable infrastructure, reducing the risk of human error through manual operations. | ||
|
||
![Terraform](/images/1/2/0001.svg?featherlight=false&width=100pc) | ||
|
||
{{% notice info %}} | ||
Try out [Get Started - AWS](https://developer.hashicorp.com/terraform/tutorials/aws-get-started) and [Write Terraform Configuration](https://developer.hashicorp.com/terraform/tutorials/configuration-language) - Terraform’s tutorials for short hands-on. | ||
{{% /notice %}} | ||
|
||
The following page goes over some basic Terraform concepts that we should know before exploring the general design of AnimeHub. | ||
|
19 changes: 19 additions & 0 deletions
19
content/1-Introduction/3-Notable-Features-of-Terraform/_index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--- | ||
title : "Notable Features of Terraform" | ||
date : "`r Sys.Date()`" | ||
weight : 3 | ||
chapter : false | ||
pre : " <b> 1.3 </b> " | ||
--- | ||
|
||
#### Terraform Modules | ||
|
||
In Terraform, [modules](https://developer.hashicorp.com/terraform/language/modules) are containers for multiple resources that are used together. A module consists of a collection of *.tf* and/or *.tf.json* files kept together in a directory. | ||
|
||
#### Terraform Cloud | ||
|
||
Rather than requiring you to manage Terraform runs locally, [Terraform Cloud](https://developer.hashicorp.com/terraform/cloud-docs) manages them in a reliable and consistent environment. The infrastructure can be developed in a manner related to application development by connecting to version control systems and securely storing state and secret data. The Terraform Cloud UI provides a detailed view into the resources managed by a Terraform project and gives enhanced visibility into each Terraform operation. | ||
|
||
Your team can work collaboratively on every stage of the infrastructure development process with Terraform Cloud. For instance, your team can evaluate and approve the plan before you implement it every time you plan a new modification. In order to avoid concurrent modifications that can corrupt the state file, it also automatically locks the state during operations. | ||
|
||
![Terraform Cloud](/images/1/3/0001.svg?featherlight=false&width=100pc) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
title : "Introduction" | ||
date : "`r Sys.Date()`" | ||
weight : 1 | ||
chapter : false | ||
pre : " <b> 1. </b> " | ||
--- | ||
|
||
Once upon a time, in the vibrant world of anime enthusiasts, there existed a diverse community of fans scattered across the globe, bound together by their shared love for Japanese animation. This community, like any other, sought a sanctuary — a place where they could immerse themselves in the enchanting realms of anime, discuss their favorite shows, and connect with like-minded individuals. | ||
|
||
**AnimeHub**, *a platform that would revolutionize the anime-sharing experience*, is developed to satisfy this growing need. As the developers delved deeper into the project, they recognized the importance of not just building a captivating app, but also ensuring its reliability, scalability, and security. They know that to fulfill the dreams of their community, they need a robust infrastructure and a way to manage it that could support their vision. But none of the people on their team have much AWS experience. You will work with them to develop AnimeHub infrastructure that is reliable as well as scalable. Additionally, you make use of Terraform's powers to help them in more quickly deploying and easily managing AWS resources. | ||
|
||
AnimeHub currently allows lovers of anime to share their favorite Japanese-style cartoons and explore those posted by others. | ||
|
||
![AnimeHub homepage](/images/1/0001.svg?featherlight=false&width=45pc) | ||
|
||
![AnimeHub share page](/images/1/0002.svg?featherlight=false&width=45pc) | ||
|
||
The days of tedious on-premise resource maintenance and manual configuration of the AnimeHub backbone will be over thanks to AWS and Terraform, which allowed AinimeHub developers to concentrate on what really mattered — creating a memorable anime-sharing experience. | ||
|
||
The next three pages provide a quick overview of Infrastructure as Code (IaC), Terraform, and notable features of Terraform (Terraform modules and Terraform Cloud workspaces), which are the main things we use in this workshop. You will mainly focus on creating nessessary Terraform modules manually and apply Terraform Cloud to helps teams use Terraform together. | ||
|
||
If you feel confident with those concepts, proceed to the [High-Level Design](../2-High-Level-Design/) section to explore AnimeHub's AWS architecture, Terraform modules, and Terraform Cloud workspaces in depth before engaging in hands-on work. | ||
|
||
#### Content | ||
|
||
1. [What is Infrastructure as Code?](1-What-is-Infrastructure-as-Code) | ||
2. [What is Terraform?](2-What-is-Terraform) | ||
3. [Notable Features of Terraform](3-Notable-Features-of-Terraform) | ||
<!-- need to remove parenthesis for path in Hugo 0.88.1 for Windows--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
title : "Tạo mới tài khoản AWS" | ||
date : "`r Sys.Date()`" | ||
weight : 1 | ||
chapter : false | ||
pre : " <b> 1. </b> " | ||
--- | ||
|
||
**Nội dung:** | ||
- [Hướng dẫn Tạo tài khoản AWS](#hướng-dẫn-tạo-tài-khoản-aws) | ||
- [Thêm phương thức thanh toán](#thêm-phương-thức-thanh-toán) | ||
- [Xác thực số điện thoại của bạn](#xác-thực-số-điện-thoại-của-bạn) | ||
- [Chọn Support Plan](#chọn-support-plan) | ||
- [Đợi account của bạn được kích hoạt](#đợi-account-của-bạn-được-kích-hoạt) | ||
|
||
## Hướng dẫn Tạo tài khoản AWS | ||
|
||
1. Đi đến trang [Amazon Web Service homepage](https://aws.amazon.com/). | ||
2. Chọn **Create an AWS Account** ở góc trên bên phải. | ||
- ***Ghi Chú:** Nếu bạn không thấy **Create an AWS Account**, chọn **Sign In to the Console** sau đó chọn **Create a new AWS Account**.* | ||
|
||
![Create Account](/images/1/0001.png?featherlight=false&width=90pc) | ||
|
||
3. Nhập thông tin email và **AWS account name**. | ||
|
||
![Create Account](/images/1/0002.png?featherlight=false&width=90pc) | ||
|
||
4. Hoàn thành thông tin. | ||
|
||
![Create Account](/images/1/0003.png?featherlight=false&width=90pc) | ||
|
||
5. Xác nhận mã được gửi từ email. | ||
|
||
![Create Account](/images/1/0004.png?featherlight=false&width=90pc) | ||
![Create Account](/images/1/0005.png?featherlight=false&width=90pc) | ||
![Create Account](/images/1/0006.png?featherlight=false&width=90pc) | ||
|
||
6. Sau khi xác thực email thành công, bạn hoàn thành thông tin tài khoản. | ||
|
||
![Create Account](/images/1/0007.png?featherlight=false&width=90pc) | ||
![Create Account](/images/1/0008.png?featherlight=false&width=90pc) | ||
|
||
7. Thực hiện hoàn thành hồ sơ đăng ký tài khoản. | ||
- Bạn có thể chọn tài khoản **Personal** hoặc **Business**. | ||
|
||
![Create Account](/images/1/0009.png?featherlight=false&width=90pc) | ||
|
||
--- | ||
|
||
## Thêm phương thức thanh toán | ||
|
||
- Nhập thông tin thẻ tín dụng của bạn và chọn **Verify and Add**. | ||
- ***Ghi chú**: Bạn có thể chọn 1 địa chỉ khác cho tài khoản của bạn bằng cách chọn **Use a new address** trước khi **Verify and Add**. | ||
|
||
![Create Account](/images/1/00010.png?featherlight=false&width=90pc) | ||
|
||
--- | ||
|
||
## Xác thực số điện thoại của bạn | ||
|
||
1. Nhập số điện thoại. | ||
2. Nhập mã security check sau đó chọn **Call me now**. | ||
3. AWS sẽ liên hệ và xác thực mở tài khoản. | ||
|
||
![Create Account](/images/1/00011.png?featherlight=false&width=90pc) | ||
|
||
--- | ||
|
||
## Chọn Support Plan | ||
|
||
- Trong trang **Select a support plan**, chọn 1 plan có hiệu lực, để so sánh giữa các plan, bạn hãy xem [Compare AWS Support Plans](https://aws.amazon.com/premiumsupport/plans/). | ||
|
||
--- | ||
|
||
## Đợi account của bạn được kích hoạt | ||
|
||
- Sau khi chọn **Support plan**, account thường được kích hoạt sau vài phút, nhưng quá trình có thể cần tốn đến 24 tiếng. Bạn vẫn có thể đăng nhập vào account AWS lúc này, Trang chủ AWS có thể sẽ hiển thị một nút “Complete Sign Up” trong thời gian này, cho dù bạn đã hoàn thành tất cả các bước ở phần đăng kí. | ||
- Sau khi nhận được email xác nhận account của bạn đã được kích hoạt, bạn có thể truy cập vào tất cả dịch vụ của AWS. | ||
|
Oops, something went wrong.