Skip to content

Commit 8bbad1e

Browse files
committed
initial commit
0 parents  commit 8bbad1e

File tree

423 files changed

+5147
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

423 files changed

+5147
-0
lines changed

.github/workflows/mdbook.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Deploy mdbook
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: mdBook Action
20+
uses: peaceiris/[email protected]
21+
22+
- run: mdbook build
23+
24+
- name: Deploy
25+
uses: peaceiris/actions-gh-pages@v3
26+
if: ${{ github.ref == 'refs/heads/main' }}
27+
with:
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
29+
publish_dir: ./book

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
book

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[package]
2+
name = "aws_intro_book"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[dependencies]

book.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[book]
2+
authors = ["Indosaram"]
3+
language = "en"
4+
multilingual = false
5+
src = "src"
6+
title = "주니어 개발자를 위한 AWS 가이드"

src/SUMMARY.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Summary
2+
3+
- [클라우드의 기초](./ch1.md)
4+
- [서문](./ch0.md)
5+
- [클라우드 서비스의 필요성](./ch1-1.md)
6+
- [AWS의 활용과 중요성](./ch1-2.md)
7+
- [AWS 프리 티어](./ch1-3.md)
8+
- [비용 모니터링](./ch1-4.md)
9+
- [클라우드와 도커](./ch1-5.md)
10+
- [리눅스의 특징과 명령어](./ch1-6.md)
11+
- [요약과 퀴즈](./ch1-7.md)
12+
- [사용자 권한 설정(IAM)의 기초](./ch2.md)
13+
- [IAM(Identity and Access Management)의 개념](./ch2-1.md)
14+
- [AWS IAM의 주요 구성 요소](./ch2-2.md)
15+
- [현업에서의 IAM 사용 예시](./ch2-3.md)
16+
- [AWS IAM 사용 시 주의사항](./ch2-4.md)
17+
- [요약과 퀴즈](./ch2-5.md)
18+
- [AWS 네트워크 핵심](./ch3.md)
19+
- [리전과 가용 영역](./ch3-1.md)
20+
- [VPC(Virtual Private Cloud)의 개념](./ch3-2.md)
21+
- [서브넷(Subnet)의 개념](./ch3-3.md)
22+
- [인터넷 게이트웨이(Internet Gateway)](./ch3-4.md)
23+
- [보안 그룹](./ch3-5.md)
24+
- [ACL(Access Control Lists)의 개념](./ch3-6.md)
25+
- [요약과 퀴즈](./ch3-7.md)
26+
- [API 서버 구축하기](./ch4.md)
27+
- [API의 개념](./ch4-1.md)
28+
- [AWS의 컴퓨팅 서비스](./ch4-2.md)
29+
- [EC2 우분투 서버 만들기](./ch4-3.md)
30+
- [요약과 퀴즈](./ch4-4.md)
31+
- [요약과 퀴즈](./ch4-5.md)
32+
- [요약과 퀴즈](./ch4-6.md)
33+
- [요약과 퀴즈](./ch4-7.md)
34+
- [데이터베이스와 스토리지](./ch5.md)
35+
- [데이터베이스와 스토리지의 개념](./ch5-1.md)
36+
- [MySQL 만들기](./ch5-2.md)
37+
- [S3 만들기](./ch5-3.md)
38+
- [EC2와 연동하기](./ch5-4.md)
39+
- [Lambda와 연동하기](./ch5-5.md)
40+
- [RDS 삭제하기](./ch5-6.md)
41+
- [요약과 퀴즈](./ch5-7.md)
42+
- [CI/CD 파이프라인](./ch6.md)
43+
- [Git과 CI/CD의 기능](./ch6-1.md)
44+
- [AWS CI/CD 파이프라인](./ch6-2.md)
45+
- [ECS CI/CD 파이프라인](./ch6-3.md)
46+
- [Lambda CI/CD 파이프라인](./ch6-4.md)
47+
- [요약과 퀴즈](./ch6-5.md)
48+
- [마치며](./ch7.md)

src/ch0.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# 서문
2+
3+
**AWS, 클라우드 시대의 필수 도구**
4+
5+
클라우드 컴퓨팅 시대가 도래하면서 AWS는 개발자들에게 없어서는 안 될
6+
필수적인 도구가 되었습니다. 하지만 방대한 서비스 종류와 복잡한 설정은
7+
초심자, 특히 주니어 개발자들에게 높은 진입 장벽으로 작용합니다. 저 또한
8+
처음 AWS를 접했을 때 엄청난 양의 정보와 다양한 서비스에 압도되었던
9+
기억이 있습니다. 특히, 애플리케이션을 배포하고 관리하는 과정은 더욱
10+
복잡하게 느껴졌습니다.
11+
12+
**주니어 개발자를 위한 친절한 안내서**
13+
14+
이 책은 AWS를 처음 접하는 주니어 개발자들을 위해 쓰여졌습니다. AWS의
15+
기본적인 개념부터 시작해 실제 애플리케이션을 배포하고 관리하는 과정까지,
16+
단계별로 친절하게 설명합니다. 복잡한 이론보다는 실제 개발 환경에서 자주
17+
사용되는 서비스와 기능에 초점을 맞추어, 독자들이 쉽고 빠르게 AWS를
18+
활용할 수 있도록 돕습니다.
19+
20+
**핵심 서비스 중심의 학습**
21+
22+
AWS는 수많은 서비스를 제공하지만, 모든 서비스를 처음부터 익히기는
23+
어렵습니다. 이 책에서는 애플리케이션 배포에 필수적인 핵심 서비스들을
24+
중심으로 학습합니다. EC2, S3, RDS 등과 같은 주요 서비스를 활용해 간단한
25+
웹 애플리케이션부터 복잡한 시스템까지 구축하는 방법을 상세하게 다룹니다.
26+
27+
**실습을 통한 학습 효과 극대화**
28+
29+
이론적인 설명과 함께 다양한 실습 예제를 제공해 독자들이 직접 AWS
30+
환경에서 코드를 작성하고 결과를 확인할 수 있도록 합니다. 실습을 통해
31+
이론을 몸으로 익히고, AWS 서비스를 활용하는 노하우를 쌓을 수 있습니다.
32+
33+
**끊임없이 변화하는 AWS와 함께 성장하기**
34+
35+
AWS는 지속적으로 새로운 서비스와 기능을 출시하며 빠르게 변화하고
36+
있습니다. 이 책은 최신 버전의 AWS를 기반으로 작성되었지만, AWS의
37+
핵심적인 개념과 원리를 이해한다면 새로운 기능에도 빠르게 적응할 수 있을
38+
것입니다. 이 책을 통해 AWS를 익히고, 끊임없이 변화하는 클라우드 환경에서
39+
자신감 있게 개발을 이어나가시기 바랍니다.

src/ch1-1.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## [1] 클라우드 서비스의 필요성
2+
3+
몇 년 전까지만 하더라도 웹 서비스를 만들기 위해서는 서버를 구매하고,
4+
서버를 물리적으로 구축해야 했습니다. '물리적으로 구축한다'는 말은
5+
사무실이나 가정에서 서버용 컴퓨터를 구매해 설치하고, 컴퓨터에 운영
6+
체제와 함께 필요한 프로그램 등을 세팅하는 것을 의미합니다. 그리고 서버를
7+
구축하고 나면, 이제는 서버를 관리하기 위한 인력이 필요합니다. 서버
8+
관리가 필요한 이유는 정말 다양합니다. 가장 심각한 경우는 서버 컴퓨터
9+
자체가 고장나거나 서버가 위치한 장소에서 화재가 발생하는 상황 등이
10+
있습니다. 이외에도 서버의 성능을 높이기 위해 하드웨어를 업그레이드하거나
11+
서버의 운영 체제 또는 프로그램의 버전을 업그레이드해야 하는 경우도
12+
있습니다. 특히, 소프트웨어 개발 과정에서 서버에 설치된 프로그램을 자주
13+
업데이트하게 되는데, 이럴 때마다 운영 체제와의 충돌 또는 다른
14+
라이브러리나 프로그램과의 충돌 때문에 업그레이드 과정에서 많은 시간이
15+
소요되는 경우가 많습니다.
16+
17+
물리적인 서버의 가장 결정적인 문제는 바로 서비스를 운영하는 데 필요한
18+
컴퓨팅 자원을 예측하고, 그에 맞는 서버를 구성하기가 어렵다는 점입니다.
19+
예를 들어, 서비스 초기에는 보통 성능의 서버 컴퓨터 1대로도 서비스를
20+
원활하게 운영할 수 있었지만 서비스가 발전하고 고객이 늘어나면서 서버를
21+
증설해야 하는 경우가 발생합니다. 하지만 필요한 서버의 성능을 정확히
22+
예측하기 힘들고 때로는 구축한 서버의 성능보다 적은 규모의 연산량만
23+
필요하게 되어서 자원을 낭비하게 되기도 합니다. 결론적으로 물리적인
24+
서버를 사용해 웹 서비스를 만들기 위해서는 많은 비용과 시간, 그리고
25+
노력이 필요합니다.
26+
27+
이런 문제를 해결하기 위해 등장한 것이 클라우드 서비스입니다. 클라우드
28+
서비스는 물리적인 서버를 구매하고 설치하는 과정을 생략하고, 인터넷을
29+
통해 가상의 컴퓨터, 즉 가상 서버를 대여하는 방식입니다. 몇 번의
30+
클릭만으로 전 세계 어디에든 서버를 바로 구축할 수 있고, 언제든 서버를
31+
늘리고 줄일 수 있어 웹 서비스 개발자들에게 큰 인기를 얻고 있습니다.
32+
이처럼 가상의 서버를 제공하는 업체를 클라우드 서비스 제공 업체라고
33+
합니다. 클라우드를 이용하면 서버를 구매하고 설치하는 과정을 생략할 수
34+
있고, 가상 서버들이 동작하는 실제 물리적 서버의 관리는 클라우드 서비스
35+
제공 업체에서 전담하기 때문에 비용과 시간을 절약할 수 있습니다. 이러한
36+
장점 때문에 많은 기업에서 클라우드 서비스를 사용하고 있습니다.
37+
38+
![Alt text](media/image1.png)

src/ch1-2.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## [2] AWS의 활용과 중요성
2+
3+
클라우드 서비스 제공 업체는 여러 곳이 있습니다. 국내에서는 KT, 네이버,
4+
카카오 등의 업체에서 데이터센터를 구축하고, 다양한 서비스를 제공하고
5+
있습니다. 해외 업체로는 구글, 마이크로소프트, 아마존 등이 있습니다. 전
6+
세계 클라우드 시장 점유율은 2021년 기준 아마존 32%, 마이크로소프트 22%,
7+
구글 11%로 아마존이 가장 인기가 높고, 국내 클라우드 시장 점유율 역시
8+
아마존 62%, 마이크로소프트 12%, 네이버 7% 등으로 아마존이 압도적으로
9+
많이 사용되고 있습니다. 따라서 국내 회사에 취업했을 때 현업에서 가장
10+
많이 사용되는 클라우드 서비스 역시 아마존이라고 할 수 있습니다. 마찬가지
11+
이유로 개발자로 취업하기 위해서는 AWS를 다룰 줄 아는 것이 중요한 합격
12+
조건 중 하나가 되었습니다.
13+
14+
아마존이 제공하는 클라우드 서비스는 AWS(Amazon Web Service)입니다. AWS는
15+
2006년에 처음 시작되었고, 현재는 200개가 넘는 서비스를 제공하고
16+
있습니다. AWS의 서비스는 컴퓨팅, 스토리지, 데이터베이스, 네트워킹, 분석,
17+
머신러닝, 인공지능, IoT, 보안 등 다양한 분야에 걸쳐 있습니다. 이러한
18+
서비스를 사용하면 기업은 서버 관리에 시간과 노력을 사용할 필요 없이
19+
비즈니스에 집중할 수 있습니다. 또한, AWS는 전 세계에 24개의 리전과
20+
77개의 가용 영역을 보유하고 있어서 기업이 서비스를 전 세계에 제공하기
21+
위해 각 지역에 서버를 구축할 필요가 없습니다. AWS의 서비스를 사용하면 전
22+
세계 어디에서나 빠르고 안정적으로 서비스를 제공할 수 있습니다. 이러한
23+
장점 때문에 많은 글로벌 기업들이 AWS를 사용하고 있습니다. AWS를 사용하는
24+
유명한 기업으로는 넷플릭스, 페이스북, 삼성, 쿠팡 등이 있습니다.
25+
26+
AWS를 통해 클라우드 서비스가 어떻게 사용되는지를 학습하고 나면
27+
마이크로소프트의 Azure나 구글의 Google Compute Engine 등 다른 클라우드
28+
서비스를 배우는 것은 어렵지 않습니다. AWS는 클라우드 서비스의 시초이자,
29+
가장 많이 사용되는 클라우드 서비스이기 때문에 AWS를 배우는 것은 클라우드
30+
서비스를 배우는 가장 좋은 방법입니다.

src/ch1-3.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## [3] AWS 프리 티어
2+
3+
AWS에서는 프리 티어(Free Tier)라는 무료 서비스를 제공합니다. 이는 AWS를
4+
처음 접하는 사람들이 AWS를 사용해 보고, AWS의 서비스를 경험해 볼 수
5+
있도록 제공하는 서비스입니다. 프리 티어는 AWS의 서비스 중 일부를 12개월
6+
동안 무료로 사용할 수 있으며, 제공하는 서비스 중 이 책에서 다루는
7+
서비스들은 다음과 같습니다.
8+
9+
- EC2 : 1년간 매월 750시간의 Linux 및 Windows t2.micro 인스턴스가
10+
포함됩니다.
11+
- Lambda : 월 1백만 건의 무료 요청과 월 40만 GB-초의 컴퓨팅 시간이
12+
포함됩니다.
13+
- RDS : 1년간 매월 750시간의 db.t2.micro 인스턴스, 20GB의 스토리지,
14+
20GB의 백업 용량을 제공합니다.
15+
- S3 : 5GB의 저장 공간, 20,000건의 GET 요청, 2,000건의 PUT, COPY,
16+
POST, LIST 요청, 그리고 첫해 동안 매월 15GB의 데이터 전송을
17+
제공합니다.
18+
- CodeBuild : 프리 티어가 아닌 일반 사용자에게도 매월 100분의
19+
build.general1.small 컴퓨팅 유형 무료 사용 시간이 제공됩니다.
20+
- CodeDeploy : Amazon EC2, AWS Lambda 또는 Amazon ECS에 코드를
21+
배포하는 경우 추가 요금이 부과되지 않습니다.
22+
- CodePipeline : 프리 티어가 아닌 일반 사용자에게도 V1 유형
23+
파이프라인의 경우 월 1개의 무료 활성 파이프라인을, V2 유형
24+
파이프라인의 경우 월 100분의 무료 작업 실행 시간을 제공합니다.
25+
26+
프리 티어에서 제공하는 전체 서비스 목록은 다음의 링크에서 확인할 수
27+
있습니다.
28+
29+
30+
https://aws.amazon.com/ko/free

0 commit comments

Comments
 (0)