자기소개 2
이름 : 김재욱(Kim Jaewook)
소속 : Classmethod
직무 : Solutions Architect
※ 2023, 2024, 2025 Japan AWS All Certifications Engineer
※ 사내 블로그 AWS 관련 투고 약 450여개
Slide 3
Slide 3 text
AWS 잘하는 개발자 되기는 어떤 책인가?
Slide 4
Slide 4 text
대상 독자 4
입문자 중급자
● AWS 기초
● 자주 사용되는 용어들
● 네트워크 기초
● 자주 사용되는 서비스
● 놓치고 있었던 서비스
Slide 5
Slide 5 text
사용하게 될 도구 및 기술들 5
AWS 관리 콘솔
VS Code
클라우드포메이
션
AWS CLI AWS SDK
HTML 자바스크립트 파이썬
Slide 6
Slide 6 text
레벨별 학습 6
Slide 7
Slide 7 text
실습 예제 7
Slide 8
Slide 8 text
책을 다 읽고 나면? 8
AWS 환경을 설계하고 구축할 수 있는 수준까지
AWS 환경을 운영하고 관리하는 부분까지 정리
입문자분들은 중급자까지…
필요할 때 마다 꺼내서 읽어보는 참고서
Slide 9
Slide 9 text
AWS, 어떻게 탄생했고 왜 많은 사람이
사용하는가?
Slide 10
Slide 10 text
AWS의 탄생
1990년대 후반~2000년대 초 아마존의 급속한
성장
특히 연말 시즌 등 트래픽 급증 문제
기존 인프라로는 확장성 한계
10
Slide 11
Slide 11 text
AWS의 탄생
독립적인
데이터 센터 운영 이용자 수 증가 서버 과부하
데이터 센터
이용자 수 증가에 따른
서버 추가
비용과 시간이 많이 듬
1
1
Slide 12
Slide 12 text
AWS의 탄생 12
문제 해결을 위해 2002년 사내용 고성능 인프라 시스템을
설계
AWS 클라우드 서비스의 기반
클라우드 컴퓨팅의 등장
Slide 13
Slide 13 text
AWS의 탄생
Amazon EC2
Amazon S3
2006년 Amazon S3를 시작으로 Amazon EC2를
출시
UI 환경도 없었고, 여러 리전(지역)에서 사용도
불가능
초기에는 숙련자를 위한 API 중심의 서비스를 제공
13
Slide 14
Slide 14 text
AWS의 탄생
▼ AWS 관리 콘솔 화면 ▼ AWS를 사용할 수 있는
리전
14
Slide 15
Slide 15 text
AWS의 탄생
사용한 만큼만 지불하는 종량과금제라는 요금제
서버 부하에 따른 자유로운 확장과 민첩성
AWS? 클라우드? 당시에는 웹 서비스가 주류
데이터 센터
클라우드
15
Slide 16
Slide 16 text
AWS의 탄생
1990년대 후반~2000년대 초 아마존의 급속한 성장
연말 혹은 특정 시즌에 이용자가 몰리는 등 트래픽 급증
문제가 발생
기존 인프라(자체 데이터센터)로는 확장성 한계
문제 해결을 위해 2002년 사내용 고성능 인프라 시스템을
설계
2006년 Amazon S3를 시작으로 Amazon EC2를 출시
16
Slide 17
Slide 17 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식
Slide 18
Slide 18 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 18
Slide 19
Slide 19 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 19
서버를 가상화해서 제3자가 사용자에게 저장소를
제공하는 형태
온프레미스의 높은 초기 구축 비용이나 유지보수,
확장성을 해결
단기간 내에 서버 구축과 확장이 가능해서 운영 효율성과
자원 효율성이 증가
Slide 20
Slide 20 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 20
온프레미스 환경과 클라우드의 이점을 결합한 것을 하이브리드
클라우드
유연성, 경제성, 신속성, 보안성, 안정성까지 갖추고 있어서 IT
인프라 구축에 중요한 전략
복잡한 시스템 구성과 별도의 전용선이 필요
Slide 21
Slide 21 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 21
24시간 가동 중인 서버, 스토리지
주말에만 이용자 수
증가
비효율적
서버리스는 서버를 관리하거나 배포할 필요없는 클라우드 기반
서비스
필요한 시점에만 리소스를 활용할 수 있어 비용 절약
개발 운영 과정에서 효율적으로 작업 가능
Slide 22
Slide 22 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 22
이벤트 발생 이벤트 처리 다른 서비스와
연계
웹 페이지 접근
웹 페이지, 모바일
접근 및 파일
업로드와 같은
이벤트가 발생해요.
이벤트가
발생했다면 작성한
코드로 이벤트를
처리해요.
파일 업로드
모바일 접근
코드 실행
이벤트 처리
과정에서 다른
서비스와의 연동도
할 수 있어요.
서버 연동
스토리지 연동
Slide 23
Slide 23 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 23
AWS의 글로벌 인프라 구성은 리전, 가용 영역, 에지
로케이션으로 구성
서비스가 제공되는 물리적인 국가/도시 단위의 지역을 리전
Slide 24
Slide 24 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 24
AWS는 리전별로 제공하는 서비스가 다르다.
사용자에게 물리적인 거리를 좁혀 네트워크 속도를
향상시킴으로써 빠르고 안정적인 서비스를 제공
자연 재해 혹은 서비스 중단을 대비해 리전을 운영
각 리전에는 고유 코드가 존재하며, 서울 리전은
[ap-northeast-2]
Slide 25
Slide 25 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 25
서울 리전(ap-northeast-2)
가용 영역(ap-northeast-2c) 가용 영역(ap-northeast-2d)
가용 영역(ap-northeast-2a) 가용 영역(ap-northeast-2b)
가용 영역은 하나 이상의 물리적인 개별 데이터 센터
가용 영역을 구분하는 방법으로 리전의 이름 뒤에 알파벳을
붙여서 구분
서로 다른 물리적인 위치에 있어 자연 재해로 부터 영향을
최소화
Slide 26
Slide 26 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 26
서울 리전
(ap-northeast-2)
사용자 A가 서울
리전에 가장
가까우므로 빠르게
데이터 접근 가능
사용자 A
서울 리전에서 접근
사용자 B
독일 리전에서 접근
사용자 C
미국 리전에서 접근
사용자 B, C는 서울
리전에서 비교적 먼
거리, 데이터 접근이
느림
사용자 B, C는 서울
리전에서 비교적 먼
거리, 데이터 접근이
느림
에지 로케이션은 오리진 서버의 콘텐츠를 서로 다른 지역에서
빠르게 접근할 수 있도록 만드는 캐시 서버의 모음
Slide 27
Slide 27 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 27
서울 리전
(ap-northeast-2)
사용자 A
서울 리전에서 접근
사용자 B
독일 리전에서 접근
사용자 C
미국 리전에서 접근
독일 에지
로케이션
미국 에지
로케이션
오리진
서버에서 에지
로케이션에
데이터 캐싱
사용자 B,C가 접근하고자 하는 데이터를 중간에 캐시하면
빠르게 콘텐츠를 확인할 수 있다.
에지 로케이션이
사용자가 요청한
캐싱 데이터를
전달
Slide 28
Slide 28 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 28
서울 리전
(ap-northeast-2)
사용자 A
서울 리전에서 접근
사용자 C
미국 리전에서 접근
미국 에지
로케이션
오리진 서버와 에지
로케이션 사이에
캐시 서버를
설치하여 속도를
개선합니다
캐시
서버
캐시
서버
사용자 B
독일 리전에서 접근
독일 에지
로케이션
Slide 29
Slide 29 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 29
서울 리전
(ap-northeast-2)
사용자 A
서울 리전에서 접근
Amazon
Cloudfront를
사용하는 미국
사용자 C
미국 에지
로케이션
Amazon
Cloudfront
아마존
클라우드프론트
서비스를 이용하니
에지 로케이션에서
데이터를 빠르게
받을 수 있어요!
AWS에서는 에지 로케이션을 이용하는 아마존
클라우드프론트를 제공
Slide 30
Slide 30 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 30
S3라는 저장소는 서울 리전에 생성
10MB에 데이터를 저장하고 각각 다른 리전에서 다운로드를
진행
Slide 31
Slide 31 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 31
S3와 클라우드프론트를 연동
10MB에 데이터를 저장하고 각각 다른 리전에서 다운로드를
진행
Slide 32
Slide 32 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 32
사용자 A
가용 영역에 2b에 문제가
발생하여 다른 가용 영역을
2d를 통해 서비스를
지속할 수 있으므로
가용성이 높음
가용 영역
(ap-northeast-2c)
가용 영역
(ap-northeast-2d)
가용 영역
(ap-northeast-2a)
가용 영역
(ap-northeast-2b)
가용성이 높은 경우
가용성은 리전 내 자연 재해와 같은 여러 상황이 발생하여
시스템 장애가 나도 정상적으로 작동할 수 있는 정도를 의미
Slide 33
Slide 33 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 33
가용 영역에 문제가 발생해서 서비스를 더이상 지원할 수 없는
경우
시스템은 사용 가능한 시간이 길수록 가용성이 높다
시스템 오류 등으로 중지되는 시간이 길수록 가용성은 낮다
고가용성은 시스템이나 서비스가 지속적으로 정상 운영되는
능력
사용자 B
가용 영역에 문제가
발생하여 서비스를 지원할
수 없으며, 문제가
해결되어야 서비스 지원
가능.
가용성이 낮음
가용 영역
(ap-northeast-2a)
가용성이 낮은경우
Slide 34
Slide 34 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 34
신뢰성은 예상대로 작동하고 중단되지 않는 정도를 의미
신뢰성이 높다는 건 오랜 기간 동안 안정적으로 시스템이 작동
1000시간 가동
가용 영역(ap-northeast-2a)
사용자 B
중단 없이 1000시간을
가동했다면 1000시간
동안 문제 없이 서비스를
제공할 수 있는 신뢰성
있는 시스템
Slide 35
Slide 35 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 35
1000시간 가동 중
1000시간 고장
평균 고장 간격
1000시간
가동률 50%
가용 영역(ap-northeast-2a)
시스템 B
● 가용성 : 시스템이 실제로 서비스 가능한 시간의 비율
○ 고장 발생 후 복구시간을 포함하여 계산
■ 공식: 가용성 = 가동시간 / (가동시간 + 복구시간) × 100%
● 예시: 1000시간 / (1000시간 + 1000시간) = 가용성 50%
● 신뢰성 : 시스템이 고장 없이 연속적으로 동작하는 시간
○ 고장 간격과 관련
○ 예시: 1000시간 가동 후 고장 → 1000시간의 신뢰성 지표
● 결과: 시스템 B는 가용성은 50% (복구시간 1000시간 포함)이며 신뢰성은 1000시간(1000
시간의 고장 간격)의 신뢰성을 가진 시스템
Slide 36
Slide 36 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 36
가용성 : 가용성 = 가동시간 / (가동시간 + 복구시간) × 100%
→ 고장 나도 얼마나 빨리 돌아올 수 있나?
신뢰성 : 얼마나 오래 고장 없이 버텼는지(고장 간격까지의 시간)
→ 고장 없이 얼마나 오래 버틸 수 있나?
Slide 37
Slide 37 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 37
내결함성은 시스템 성능을 저하시키지 않고 서비스를 지속하는
것을 의미
Slide 38
Slide 38 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 38
탄력성은 상황에 따라 트래픽이나 부하에 대응해서 유연하게
조정하는 것
탄력성은 변화에 빠르게 대응하여 시스템 성능을 유지
정상적인 작동을 할 수 있도록 가용성을 높이는 데 중점
Slide 39
Slide 39 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 39
AWS에서는 탄력성을 위한 오토 스케일링 서비스를 제공
CPU, 네트워크와 같이 미리 정의된 조건에 따라 탄력성을 유지
Slide 40
Slide 40 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 40
확장성은 비즈니스가 성장함에 따라 서버 용량이 한계에
도달할 때 인프라를 확장하는 것을 의미
확장성은 스케일 업과 스케일 아웃으로 구분
Slide 41
Slide 41 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 41
스케일 아웃은 기존 시스템과 비슷하거나 같은 스펙의 서버를
추가
Slide 42
Slide 42 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 42
탄력성과 확장성의 차이
탄력성(Elasticity): 실제 부하 변화에 따라 자원을 자동으로 확장·축소하는
능력
확장성(Scalability): 필요할 때 시스템을 확장할 수 있는 능력
Slide 43
Slide 43 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 43
오토
스케일링
미리 정의된 조건에 따라서 서버를 추가하거나 제거하여 탄력성을 유지
필요한 시점에 리소스를 확장할 수 있기 때문에 확장성 또한 확보
Slide 44
Slide 44 text
AWS를 쓰려면 알아두면 유용한 클라우드 지식 44
BCP (Business Continuity Plan)
● 재해·장애에 대비한 운영 연속성 계획
● AWS가 다수의 리전을 운영하는 이유 → 고가용성 & BCP
● DR(Disaster Recovery, 재해 복구) 환경 필수
○ 예: 서울 리전 전체 중단 시, 도쿄 리전에 백업/서버 준비 →
서비스 지속
● AWS는 재해 복구 & BCP 수립으로 안정적 운영 지원
권한 관리 서비스, AWS IAM 파악하기 48
AWS IAM
계정 내에서 사용자, 그룹, 리소스에 대한 권한을 중앙 집중적으로 관리
AWS 리소스에 대한 액세스를 제어
사용자에게 필요한 작업만을 수행할 권한을 부여
Slide 49
Slide 49 text
권한 관리 서비스, AWS IAM 파악하기 49
AWS IAM
EC2 인스턴스
A 사용자
EC2 인스턴스에
접근할 수 있는
권한
B 사용자
RDS에 접근할 수
있는 권한
Slide 50
Slide 50 text
권한 관리 서비스, AWS IAM 파악하기 50
AWS IAM
● IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를
의미하며 , AWS 리소스에 접근하는 자격증명을 보유하고
있습니다 .
● IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는
서비스입니다.
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다.
● IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에
권한을 부여하는 데 사용되는 서비스입니다.
Slide 51
Slide 51 text
권한 관리 서비스, AWS IAM 파악하기 51
AWS IAM
● IAM 사용자(IAM User)는 루트 사용자에 의해서 생성되고 관리
○ 보다 세분화된 권한 관리와 보안 강화에 사용
■ 루트 사용자는 어드민 권한을 가지는 계정
● 개인 계정을 사용하는 사람들 대부분이 루트
사용자를 통해 AWS를 관리
Slide 52
Slide 52 text
권한 관리 서비스, AWS IAM 파악하기 52
A 사용자
EC2 인스턴스에
접근할 수 있는
권한
B 사용자
RDS에 접근할 수
있는 권한
C 사용자
S3에 접근할 수
있는 권한
D 사용자
RDS, S3에 접근할
수 있는 권한
루트 사용자
IAM 사용자
Slide 53
Slide 53 text
권한 관리 서비스, AWS IAM 파악하기 53
A 사용자
AWS
관리 콘솔
AWS
CLI
B 사용자
AWS
CLI
※ 여기서 말하는 CLI는 명령 프롬프트에서 AWS 리소스를 관리하는 통합 도구입니다.
Slide 54
Slide 54 text
권한 관리 서비스, AWS IAM 파악하기 54
AWS IAM
● IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며,
AWS 리소스에 접근하는 자격증명을 보유하고 있습니다.
● IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는
서비스입니다 .
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다.
● IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에
권한을 부여하는 데 사용되는 서비스입니다.
Slide 55
Slide 55 text
권한 관리 서비스, AWS IAM 파악하기 55
개발에 필요한 권한을
부여
보안에 필요한 권한을
부여
개발 부서
AWS IAM
보안 부서
A 사용자
B 사용자
※ 실제 서비스를 운영하는 AWS 계정이라면 IAM 그룹을 만들어 IAM 유저를 관리하는 것을
Slide 56
Slide 56 text
권한 관리 서비스, AWS IAM 파악하기 56
AWS IAM
● IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며,
AWS 리소스에 접근하는 자격증명을 보유하고 있습니다.
● IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는
서비스입니다.
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다 .
● IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에
권한을 부여하는 데 사용되는 서비스입니다.
Slide 57
Slide 57 text
권한 관리 서비스, AWS IAM 파악하기 57
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다 .
○ AWS 관리형 정책은 AWS에서 생성하고 관리하는 정책
■ 사용자가 직접 정책을 수정할 수 없음
AWS IAM
Slide 58
Slide 58 text
권한 관리 서비스, AWS IAM 파악하기 58
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다 .
○ 고객 관리형 정책은 사용자가 생성하고 관리할 수 있는 정책
■ 시각적인 형식이나 JSON 형식으로 권한을 정의
● 리소스에 대한 접근 권한을 부여하거나 제한하는
등 사용자 커스텀으로 권한을 부여하고 싶을 때
사용
AWS IAM
시각적 형식 JSON 형식
Slide 59
Slide 59 text
권한 관리 서비스, AWS IAM 파악하기 59
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다 .
○ 인라인 정책은 IAM 사용자, IAM 그룹, IAM 역할에 대해
일대일 관계를 유지하는 정책
■ IAM 사용자, IAM 그룹, IAM 역할이 삭제되면 인라인
정책도 함께 삭제
AWS IAM
Slide 60
Slide 60 text
권한 관리 서비스, AWS IAM 파악하기 60
AWS IAM
● IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며,
AWS 리소스에 접근하는 자격증명을 보유하고 있습니다.
● IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는
서비스입니다.
● IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤
작업이 허용되는지를 정의하는 서비스입니다.
● IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에
권한을 부여하는 데 사용되는 서비스입니다 .
Slide 61
Slide 61 text
권한 관리 서비스, AWS IAM 파악하기 61
S3에 접근할 수 있는
권한
다른 리소스와
상호작용할 수 있는 권한
➊
➋
➌
IAM 정책
IAM 정책
IAM 역할
EC2 인스턴스 아마존 S3
Slide 62
Slide 62 text
권한 관리 서비스, AWS IAM 파악하기 62
IAM은 계정 내에서 사용자나 그룹, 리소스에 대한 권한을 중앙 집중적으로
관리하는 서비스
AWS를 사용하기 위한 루트 사용자, IAM 사용자
IAM을 이루는 요소로는 IAM 사용자, IAM 그룹, IAM 정책, IAM 역할