초보자를 위한 AWS
VPC,EC2,RDS,Route 53, 로드 밸런서, Terraform까지 따라 하며 배우는 클라우드 인프라 입문
Regular price
$24.72
Sale price
Regular price
Shipping calculated at checkout.
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
AWS 기초부터 웹 서비스 배포와 Terraform 자동화까지,
직접 구축하며 익히는 실습형 클라우드 입문서
AWS를 처음 접하면 수많은 서비스 이름과 복잡한 설정 화면부터 마주하게 됩니다. 이 책은 이러한 어려움을 줄이기 위해 서버와 클라이언트의 구조, 네트워크 통신, 데이터 센터, 가상화와 클라우드 컴퓨팅 등 AWS를 이해하는 데 필요한 기초 개념부터 차근차근 설명합니다. AWS 계정을 만들고 MFA를 설정한 뒤에는 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹을 직접 구성하며 클라우드 네트워크가 어떻게 만들어지고 연결되는지 익힙니다.
네트워크 구성을 마치면 EC2 인스턴스를 생성하고 SSH로 접속해 Nginx 웹 서버와 직접 만든 홈페이지를 배포합니다. 이어서 Spring Boot 애플리케이션을 실행하고 Amazon RDS의 MySQL 데이터베이스와 연동하여, 웹 서버와 애플리케이션 서버, 데이터베이스가 연결되는 실제 서비스의 기본 구조를 완성합니다. 가비아에서 구매한 도메인을 Route 53과 연결하고, SSL/TLS 인증서를 발급한 뒤 로드 밸런서를 구성해 HTTPS로 서비스에 접속하는 과정도 실습합니다. 각 서비스를 개별적으로 살펴보는 데 그치지 않고, 하나의 웹 애플리케이션이 인터넷에 공개되기까지 필요한 전체 흐름을 단계적으로 경험할 수 있습니다.
실습이 끝난 뒤에는 사용한 EC2, RDS, 로드 밸런서, 보안 그룹, VPC 등의 자원을 안전하게 삭제하여 불필요한 과금을 방지하는 방법까지 살펴봅니다. 마지막 장에서는 Terraform과 HCL의 기본 개념을 익히고, 앞에서 관리 콘솔로 직접 구성했던 VPC, 서브넷, 인터넷 게이트웨이, 보안 그룹, EC2 인스턴스 등의 인프라를 코드로 생성하고 삭제합니다. AWS의 기본 개념과 네트워크 구성부터 웹 서비스 배포, 데이터베이스 연동, 도메인과 HTTPS 설정, 인프라 자동화까지 하나의 흐름으로 익히고 싶은 초보자를 위한 실습 중심의 입문서입니다.
직접 구축하며 익히는 실습형 클라우드 입문서
AWS를 처음 접하면 수많은 서비스 이름과 복잡한 설정 화면부터 마주하게 됩니다. 이 책은 이러한 어려움을 줄이기 위해 서버와 클라이언트의 구조, 네트워크 통신, 데이터 센터, 가상화와 클라우드 컴퓨팅 등 AWS를 이해하는 데 필요한 기초 개념부터 차근차근 설명합니다. AWS 계정을 만들고 MFA를 설정한 뒤에는 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹을 직접 구성하며 클라우드 네트워크가 어떻게 만들어지고 연결되는지 익힙니다.
네트워크 구성을 마치면 EC2 인스턴스를 생성하고 SSH로 접속해 Nginx 웹 서버와 직접 만든 홈페이지를 배포합니다. 이어서 Spring Boot 애플리케이션을 실행하고 Amazon RDS의 MySQL 데이터베이스와 연동하여, 웹 서버와 애플리케이션 서버, 데이터베이스가 연결되는 실제 서비스의 기본 구조를 완성합니다. 가비아에서 구매한 도메인을 Route 53과 연결하고, SSL/TLS 인증서를 발급한 뒤 로드 밸런서를 구성해 HTTPS로 서비스에 접속하는 과정도 실습합니다. 각 서비스를 개별적으로 살펴보는 데 그치지 않고, 하나의 웹 애플리케이션이 인터넷에 공개되기까지 필요한 전체 흐름을 단계적으로 경험할 수 있습니다.
실습이 끝난 뒤에는 사용한 EC2, RDS, 로드 밸런서, 보안 그룹, VPC 등의 자원을 안전하게 삭제하여 불필요한 과금을 방지하는 방법까지 살펴봅니다. 마지막 장에서는 Terraform과 HCL의 기본 개념을 익히고, 앞에서 관리 콘솔로 직접 구성했던 VPC, 서브넷, 인터넷 게이트웨이, 보안 그룹, EC2 인스턴스 등의 인프라를 코드로 생성하고 삭제합니다. AWS의 기본 개념과 네트워크 구성부터 웹 서비스 배포, 데이터베이스 연동, 도메인과 HTTPS 설정, 인프라 자동화까지 하나의 흐름으로 익히고 싶은 초보자를 위한 실습 중심의 입문서입니다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
1. 인프라 기초 실습
AWS 계정 생성부터 VPC, 서브넷, 라우팅 테이블, 보안 그룹까지 클라우드 인프라의 핵심 개념을 실습으로 익힙니다.
2. 웹 서비스 구축, 배포
EC2에 Nginx를 설치하고 스프링 부트와 RDS를 연동하며 웹 서비스가 동작하는 전 과정을 경험합니다.
3. 운영과 자동화
도메인, 인증서, 로드 밸런서 구성과 자원 정리를 익히고 Terraform으로 AWS 인프라를 자동화합니다.
* 주요 내용
제1장 AWS 시작하기
서버와 클라이언트의 구조, 네트워크 통신, 데이터 센터의 역할과 한계를 살펴보며 클라우드 컴퓨팅이 등장한 배경을 이해합니다. 가상화와 클라우드 컴퓨팅의 특징 및 장점을 알아보고, AWS가 제공하는 주요 서비스와 글로벌 인프라, 리전과 가용 영역의 개념을 학습합니다. 이어 AWS 계정을 직접 생성하고 관리 콘솔에 로그인한 뒤 MFA를 설정하여 안전한 실습 환경을 준비합니다.
제2장 네트워크 구성
AWS 인프라의 기반이 되는 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹을 구성합니다. IP 주소와 CIDR을 바탕으로 서브넷을 나누고, 인터넷 게이트웨이와 라우팅 테이블을 연결해 외부 통신이 가능한 네트워크를 만듭니다. 또한 인바운드·아웃바운드 규칙과 포트 번호를 설정하여 두 가용 영역에서 사용할 보안 그룹을 완성합니다.
제3장 인스턴스
AWS의 가상 서버인 EC2 인스턴스의 개념과 구성 요소를 알아보고, SSH 접속에 필요한 키 페어를 생성합니다. 운영체제 이미지와 네트워크, 보안 그룹을 설정해 인스턴스를 만들고 탄력적 IP를 연결한 뒤 MobaXTerm으로 서버에 접속합니다. Nginx를 설치해 웹 서버를 실행하고 직접 만든 홈페이지를 배포하며, JDK와 Maven을 설치해 스프링 부트 프로젝트를 구동하는 과정까지 실습합니다.
제4장 AWS RDS와 스프링 부트 연동하기
AWS의 관리형 데이터베이스 서비스인 RDS의 특징과 지원 엔진을 알아보고, EC2에 데이터베이스를 직접 설치하는 방식과 비교합니다. RDS 인스턴스를 생성하고 EC2와 연결한 뒤 MySQL 클라이언트를 이용해 접속과 CRUD 작업을 실습합니다. 마지막으로 스프링 부트 프로젝트의 설정 파일을 수정해 RDS와 연동하고, 웹 브라우저에서 데이터가 정상적으로 조회되는지 확인합니다.
제5장 도메인 등록하기
IP 주소와 DNS, 도메인의 관계 및 작동 방식을 이해하고 가비아에서 사용할 도메인을 신청합니다. AWS Route 53에서 호스팅 영역과 레코드를 생성하고, 도메인의 네임 서버를 AWS와 연결합니다. 또한 SSL과 TLS의 필요성을 알아보고 AWS에서 인증서를 요청한 뒤 DNS 검증을 거쳐 HTTPS 통신에 사용할 인증서를 발급합니다.
제6장 로드 밸런서
여러 서버로 트래픽을 분산하는 로드 밸런서의 필요성과 작동 원리를 학습합니다. HTTP와 HTTPS의 차이, 대상 그룹, 리스너, 헬스 체크 등 핵심 구성 요소를 살펴보고 Classic Load Balancer와 Application Load Balancer를 직접 생성합니다. 로드 밸런서를 EC2 인스턴스 및 Route 53 도메인과 연결하고, 최종적으로 HTTPS 주소를 통해 웹 서비스가 정상적으로 제공되는지 확인합니다.
제7장 자원 삭제 및 정리
실습 후 남아 있는 AWS 자원이 불필요한 비용과 보안 문제를 발생시키는 이유를 알아봅니다. 탄력적 IP, EC2 인스턴스, 로드 밸런서, 대상 그룹, RDS, 보안 그룹, VPC, 인증서와 호스팅 영역을 안전한 순서에 따라 삭제합니다. 각 자원별 삭제 조건과 주의 사항을 확인하며 AWS 인프라를 정기적으로 점검하고 관리하는 방법을 익힙니다.
제8장 Terraform 사용하기
코드로 인프라를 구성하고 관리하는 자동화 방식과 Terraform의 개념 및 장점을 알아봅니다. Provider, Resource, Module, Variable과 HCL 문법을 익힌 뒤 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹, EC2 인스턴스와 탄력적 IP를 코드로 정의합니다. 프로젝트 초기화, 실행 계획 확인, 리소스 생성과 삭제의 전체 흐름을 실습하며 AWS 인프라를 반복 가능하고 일관된 방식으로 자동화합니다.
AWS 계정 생성부터 VPC, 서브넷, 라우팅 테이블, 보안 그룹까지 클라우드 인프라의 핵심 개념을 실습으로 익힙니다.
2. 웹 서비스 구축, 배포
EC2에 Nginx를 설치하고 스프링 부트와 RDS를 연동하며 웹 서비스가 동작하는 전 과정을 경험합니다.
3. 운영과 자동화
도메인, 인증서, 로드 밸런서 구성과 자원 정리를 익히고 Terraform으로 AWS 인프라를 자동화합니다.
* 주요 내용
제1장 AWS 시작하기
서버와 클라이언트의 구조, 네트워크 통신, 데이터 센터의 역할과 한계를 살펴보며 클라우드 컴퓨팅이 등장한 배경을 이해합니다. 가상화와 클라우드 컴퓨팅의 특징 및 장점을 알아보고, AWS가 제공하는 주요 서비스와 글로벌 인프라, 리전과 가용 영역의 개념을 학습합니다. 이어 AWS 계정을 직접 생성하고 관리 콘솔에 로그인한 뒤 MFA를 설정하여 안전한 실습 환경을 준비합니다.
제2장 네트워크 구성
AWS 인프라의 기반이 되는 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹을 구성합니다. IP 주소와 CIDR을 바탕으로 서브넷을 나누고, 인터넷 게이트웨이와 라우팅 테이블을 연결해 외부 통신이 가능한 네트워크를 만듭니다. 또한 인바운드·아웃바운드 규칙과 포트 번호를 설정하여 두 가용 영역에서 사용할 보안 그룹을 완성합니다.
제3장 인스턴스
AWS의 가상 서버인 EC2 인스턴스의 개념과 구성 요소를 알아보고, SSH 접속에 필요한 키 페어를 생성합니다. 운영체제 이미지와 네트워크, 보안 그룹을 설정해 인스턴스를 만들고 탄력적 IP를 연결한 뒤 MobaXTerm으로 서버에 접속합니다. Nginx를 설치해 웹 서버를 실행하고 직접 만든 홈페이지를 배포하며, JDK와 Maven을 설치해 스프링 부트 프로젝트를 구동하는 과정까지 실습합니다.
제4장 AWS RDS와 스프링 부트 연동하기
AWS의 관리형 데이터베이스 서비스인 RDS의 특징과 지원 엔진을 알아보고, EC2에 데이터베이스를 직접 설치하는 방식과 비교합니다. RDS 인스턴스를 생성하고 EC2와 연결한 뒤 MySQL 클라이언트를 이용해 접속과 CRUD 작업을 실습합니다. 마지막으로 스프링 부트 프로젝트의 설정 파일을 수정해 RDS와 연동하고, 웹 브라우저에서 데이터가 정상적으로 조회되는지 확인합니다.
제5장 도메인 등록하기
IP 주소와 DNS, 도메인의 관계 및 작동 방식을 이해하고 가비아에서 사용할 도메인을 신청합니다. AWS Route 53에서 호스팅 영역과 레코드를 생성하고, 도메인의 네임 서버를 AWS와 연결합니다. 또한 SSL과 TLS의 필요성을 알아보고 AWS에서 인증서를 요청한 뒤 DNS 검증을 거쳐 HTTPS 통신에 사용할 인증서를 발급합니다.
제6장 로드 밸런서
여러 서버로 트래픽을 분산하는 로드 밸런서의 필요성과 작동 원리를 학습합니다. HTTP와 HTTPS의 차이, 대상 그룹, 리스너, 헬스 체크 등 핵심 구성 요소를 살펴보고 Classic Load Balancer와 Application Load Balancer를 직접 생성합니다. 로드 밸런서를 EC2 인스턴스 및 Route 53 도메인과 연결하고, 최종적으로 HTTPS 주소를 통해 웹 서비스가 정상적으로 제공되는지 확인합니다.
제7장 자원 삭제 및 정리
실습 후 남아 있는 AWS 자원이 불필요한 비용과 보안 문제를 발생시키는 이유를 알아봅니다. 탄력적 IP, EC2 인스턴스, 로드 밸런서, 대상 그룹, RDS, 보안 그룹, VPC, 인증서와 호스팅 영역을 안전한 순서에 따라 삭제합니다. 각 자원별 삭제 조건과 주의 사항을 확인하며 AWS 인프라를 정기적으로 점검하고 관리하는 방법을 익힙니다.
제8장 Terraform 사용하기
코드로 인프라를 구성하고 관리하는 자동화 방식과 Terraform의 개념 및 장점을 알아봅니다. Provider, Resource, Module, Variable과 HCL 문법을 익힌 뒤 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 그룹, EC2 인스턴스와 탄력적 IP를 코드로 정의합니다. 프로젝트 초기화, 실행 계획 확인, 리소스 생성과 삭제의 전체 흐름을 실습하며 AWS 인프라를 반복 가능하고 일관된 방식으로 자동화합니다.
목차
목차
CHAPTER 1 AWS 시작하기
1 서버/클라이언트 구조
1.1 서버 클라이언트
1.2 네트워크 통신
1.3 서버의 종류
1.4 데이터 센터
- 데이터 센터의 문제점
2 클라우드의 등장
2.1 가상화
2.2 리소스
2.3 클라우드 컴퓨팅
- 클라우드 컴퓨팅의 특징
- 클라우드 컴퓨팅의 장점
3 아마존 웹 서비스(AWS)
3.1 One-Stop IT 인프라 제공
3.2 AWS의 특징
- AWS의 임대 방식
3.3 AWS의 주요 서비스와 특징
- 컴퓨팅(Computing)
- 스토리지(Storage)
- 데이터베이스(Database)
- 네트워킹 및 콘텐츠 전송(Networking & Content Delivery)
3.4 AWS의 글로벌 인프라
- 리전
- 가용 영역
4 AWS 계정
4.1 실습 AWS 계정 만들기
- 홈페이지 접속
- 이메일 및 계정 이름 입력
- 인증 코드 입력
- 관리자용 비밀번호 입력
- 연락처 정보 입력
- 결제 정보 등록
- 자격 증명 확인
- 가입 완료 축하 메시지
4.2 실습 로그인과 MFA 설정
- MFA 앱 설치
- AWS Management Console 접속
- 관리자 모드로 로그인
- 인증 코드 입력
- MFA 디바이스 선택
- 인증자(Authenticator) 추가
- MFA 할당 완료
CHAPTER 2 네트워크 구성
1 네트워크 구성 개요
1.1 아키텍처 구성
- VPC와 서브넷
- 인터넷 게이트웨이, 라우팅 테이블
- 프로토콜
- 보안 그룹
1.2 기본 리전 변경
- 기본 리전 편집
2 VPC
2.1 네트워크
2.2 VPC
- VPC의 예(서점)
- 리전과 VPC
2.3 실습 VPC 생성
3 인터넷 게이트웨이
3.1 인터넷 게이트웨이 개요
3.2 실습 인터넷 게이트웨이 생성
3.3 실습 인터넷 게이트웨이와 VPC 연동
4 실습 VPC 설정 편집
5 서브넷
5.1 서브넷 개요
- IP 주소
5.2 실습 서브넷 생성
6 라우팅 테이블
6.1 라우팅 테이블의 역할
- 라우팅 테이블의 예
- 라우팅 테이블의 필요성
- 라우팅 테이블
- 가상 라우터와 라우팅 테이블
6.2 실습 라우팅 테이블 생성
6.3 실습 라우팅 테이블 편집
7 서브넷 연결 편집
7.1 실습 서브넷 연결 편집
8 보안 그룹
8.1 보안 그룹 개요
- 검문소
- 방화벽
- 허용 및 거부 정책
8.2 실습 보안 그룹 생성
- 이름 생성과 VPC 지정
- 설정 정보 확인
- Name 컬럼 수정
- 최종 결과 확인
8.3 인바운드 규칙 편집
- 인바운드/아웃바운드 규칙
- 포트 번호
- 실습 가용 영역 2A(인바운드 규칙 편집)
- 실습 가용 영역 2C(인바운드 규칙 편집)
CHAPTER 3 인스턴스
1 인스턴스 개요
1.1 임대 서버와 클라우드
1.2 하드웨어적인 작업과 소프트웨어적인 작업
- 하드웨어적인 작업의 차이점
- 소프트웨어적인 작업의 공통점
1.3 EC2 인스턴스
- EC2의 주요 특징
- EC2의 구성 요소
- EC2의 장점
2 키 페어
2.1 SSH
2.2 SSH 서버
2.3 키 페어 개요
2.4 실습 키 페어 생성하기
3 인스턴스 생성
3.1 실습 인스턴스 생성
- 인스턴스 생성 개요
3.2 실습 애플리케이션 및 OS 이미지 선택
3.3 실습 키 페어 선택
3.4 실습 네트워크 설정
3.5 실습 고급 네트워크 구성
3.6 실습 보안 그룹 정보 변경/확인
3.7 탄력적 IP
- 재시작 시 IP 주소 변경
- IP 재할당
- 탄력적 IP의 필요성
- 과금 주의 사항
- 실습 탄력적 IP 생성
- 실습 탄력적 IP 주소 연결
- 실습 인스턴스 확인
4 인스턴스 접속
4.1 실습 MobaXTerm를 사용한 인스턴스 연결
4.2 실습 인스턴스 간의 통신
5 Nginx 설치 및 실행
5.1 Nginx 개요 및 장단점
5.2 실습 Nginx 설치
5.3 실습 웹 서버 접속 테스트(퍼블릭 IP)
6 내가 만든 홈페이지
6.1 GitHub에서 다운로드
- 파일 현황
6.2 실습 나만의 홈페이지 파일(index.html) 교체
- Public-2A 영역
- Public-2C 영역
6.3 실습 개발자가 생성한 웹 페이지 접속 테스트
7 스프링 부트 연동
7.1 JDK 및 Maven 설치
7.2 스프링 부트 프로젝트
- GitHub에서 가져오기
- 패키징
- 스프링 부트 서버 테스트
- 스프링 부트 서버 종료
- Public-2C에서 html 문서 수정하기
CHAPTER 4 AWS RDS와 스프링 부트 연동
1 RDS란?
1.1 RDS의 개념과 특징
1.2 EC2 직접 설치 vs RDS
2 실습 RDS 생성
2.1 실습 RDS 생성
- 데이터베이스 생성
- 엔진 옵션
- 데이터베이스 생성 방식과 템플릿 선택
- 가용성 및 내구성
- 설정 정보
- 추가 자격 증명 설정
- RDS 인스턴스 구성
- 스토리지 정보
- 연결 정보
- 추가 구성
- 데이터베이스 생성
2.2 RDS와 EC2 연결
- 연결 설정
- EC2 선택하기
- 연결 요약 확인
- 연결하기
- Public-2C 연결 설정
2.3 설정 정보 목록 확인
3 실습 RDS 접속 테스트
3.1 보안 그룹 인바운드 규칙 확인
3.2 EC2에서 CLI를 통한 접속 테스트
- MySQL 클라이언트 설치/접속
- 기본 CRUD 작업
3.3 스프링 부트 서버와 RDS 연동
- GitHub에서 파일 다운로드
- application.properties 파일
- 실습 application.properties 파일 수정하기
- 패키징하기
3.4 스프링 부트 서버 테스트하기
- 웹 브라우저 확인하기
- 브라우저에서 상품명 확인하기
3.5 실습 Public-2C 인스턴스 테스트
CHAPTER 5 도메인 등록하기
1 가비아(Gabia)
1.1 도메인이란
- IP 주소
- DNS와 도메인
- 도메인의 종류
- 도메인 등록 절차
- 도메인 작동 방식
1.2 실습 회원 가입
1.3 실습 도메인 신청하기
2 호스팅 영역 생성
2.1 Route 53
2.2 호스팅 영역
- 레코드
- 호스팅 영역
2.3 실습 호스팅 영역 생성
2.4 실습 호스팅 영역과 도메인 네임 서버의 연동
3 인증서
3.1 인증서 개요
- ACM이 필요한 이유
- SSL과 TLS
- 인증서가 지원되는 AWS 리소스
3.2 실습 인증서 생성하기
- 인증서 요청
- 도메인 이름 지정
- 검증 방법
- 키 알고리즘
- DNS 레코드 생성
- 호스팅 영역 확인
- 인증서 발급 확인
CHAPTER 6 로드 밸런서
1 부하 분산 서비스
1.1 Waiting List
1.2 HTTP와 HTTPS
- HTTPS를 사용하는 이유
1.3 로드 밸런서
- 로드 밸런서의 필요성
- 트래픽 분산 방식
- 로드 밸런서 종류별 차이점
1.4 구성 요소
- 대상 그룹
- 리스너
- 헬스 체크
2 Application Load Balancer
2.1 실습 대상 그룹 생성
2.2 실습 보안 그룹 생성
2.3 실습 로드 밸런서 생성
- 기본 구성
- 네트워크 매핑
- 보안 그룹 지정
- 리스너 및 대상 그룹 지정
- 보안 리스너 설정
- 로드 밸런서 생성 확인
2.4 실습 호스팅 영역과 연동하기
2.5 실습 웹 페이지 접속 테스트
- IP 주소로 접속하기
- 도메인으로 접속하기
- www+도메인으로 접속하기
- https로 접속하기
- https로 접속하기(www 포함)
- SSL 인증서 없음
- SSL 인증서 있음
CHAPTER 7 자원 삭제 및 정리
1 자원 삭제의 중요성
1.1 비용 절감과 자원 관리
- 인스턴스 중지
- 미사용 탄력적 IP 해제
- RDS(Relational Database Service) 인스턴스
1.2 보안 및 관리 효율성 향상
- 퍼블릭 S3 버킷
- IAM 사용자, 그룹, 역할의 권한 방치
- Lambda 함수, API 게이트웨이, EC2 키 페어 등 장기 미사용 리소스
- 정기적인 자원 정리
1.3 자원 삭제 시 주의 사항
- 의존성 확인
- 백업 여부 확인
- 삭제 불가한 자원
- 리전별 자원 확인
- 예상치 못한 서비스 영향 방지
2 AWS 관리 콘솔을 통한 자원 삭제
2.1 탄력적 IP
- 연결 해제(Disassociate)
- 릴리스(Release)
- 탄력적 IP 주소 연결 해제
- 실습 탄력적 IP 주소 연결 해제
- 탄력적 IP 주소 릴리스
- 실습 탄력적 IP 주소 릴리스
2.2 EC2 인스턴스 종료(삭제)
- 인스턴스 정지와 종료(삭제)
- 실습 인스턴스 종료(삭제)
- 키 페어 삭제
2.3 로드 밸런서 삭제
- 삭제 체크 리스트
- 실습 로드 밸런서 삭제
- 삭제 후 후속 조치
2.4 대상 그룹 삭제
- 삭제 체크 리스트
- 실습 대상 그룹 삭제하기
2.5 RDS 삭제
- 삭제 시 주의 사항
- 삭제 옵션
- 실습 RDS 삭제하기
2.6 보안 그룹 삭제
- 실습 EC2 보안 그룹
- 실습 RDS 보안 그룹
- 실습 보안 그룹 삭제
2.7 VPC 삭제
- 실습 VPC 삭제
2.8 DHCP 옵션 세트 삭제
- DHCP 포함 정보
2.9 인증서 삭제
- 인증서 삭제의 필요성
- 삭제 시 유의 사항
- 실습 인증서 삭제
- 삭제 이후 점검 사항
2.10 호스팅 영역 삭제
- 실습 레코드 삭제
- 실습 호스팅 영역 삭제
CHAPTER 8 Terraform 사용하기
1 Terraform 소개
1.1 인프라 자동화란?
1.2 Terraform이란?
1.3 Terraform의 장점
1.4 Terraform 구성 요소
- 프로바이더
- 리소스
- 모듈
- 배리어블
2 Terraform 설치 및 설정
2.1 실습 Terraform 다운로드
2.2 실습 Terraform 파일 압축 해제
2.3 실습 환경 변수 설정
2.4 실습 설치 확인
3 Terraform 코드 작성
3.1 실습 인증 키 자격 증명 생성
- 인증 키 자격 증명 발급
3.2 실습 키 페어 생성
3.3 HCL
- HCL이란
- HCL의 주요 특징
- HCL 사용 방법
- HCL의 장점
- 리소스 생성 문법
3.4 Terraform 설정 파일 작성하기
- 실습 프로바이더 지정
- 실습 VPC 리소스
- 실습 서브넷 리소스
- 실습 인터넷 게이트웨이 리소스
- 실습 라우팅 테이블 리소스
- 실습 서브넷-라우팅 연결 리소스
- 실습 보안 그룹 리소스
- 실습 인스턴스 리소스
- 실습 탄력적 IP 리소스
3.5 실습 인프라 자동화 실습
- 실행 흐름
- 실습 프로젝트 초기화
- 실습 환경 변수 설정하기
- 실습 실행 계획 확인하기
- 실습 리소스 생성하기
- 실습 리소스 삭제하기
- 실습 키 페어 삭제
- 실습 인증 키 삭제
1 서버/클라이언트 구조
1.1 서버 클라이언트
1.2 네트워크 통신
1.3 서버의 종류
1.4 데이터 센터
- 데이터 센터의 문제점
2 클라우드의 등장
2.1 가상화
2.2 리소스
2.3 클라우드 컴퓨팅
- 클라우드 컴퓨팅의 특징
- 클라우드 컴퓨팅의 장점
3 아마존 웹 서비스(AWS)
3.1 One-Stop IT 인프라 제공
3.2 AWS의 특징
- AWS의 임대 방식
3.3 AWS의 주요 서비스와 특징
- 컴퓨팅(Computing)
- 스토리지(Storage)
- 데이터베이스(Database)
- 네트워킹 및 콘텐츠 전송(Networking & Content Delivery)
3.4 AWS의 글로벌 인프라
- 리전
- 가용 영역
4 AWS 계정
4.1 실습 AWS 계정 만들기
- 홈페이지 접속
- 이메일 및 계정 이름 입력
- 인증 코드 입력
- 관리자용 비밀번호 입력
- 연락처 정보 입력
- 결제 정보 등록
- 자격 증명 확인
- 가입 완료 축하 메시지
4.2 실습 로그인과 MFA 설정
- MFA 앱 설치
- AWS Management Console 접속
- 관리자 모드로 로그인
- 인증 코드 입력
- MFA 디바이스 선택
- 인증자(Authenticator) 추가
- MFA 할당 완료
CHAPTER 2 네트워크 구성
1 네트워크 구성 개요
1.1 아키텍처 구성
- VPC와 서브넷
- 인터넷 게이트웨이, 라우팅 테이블
- 프로토콜
- 보안 그룹
1.2 기본 리전 변경
- 기본 리전 편집
2 VPC
2.1 네트워크
2.2 VPC
- VPC의 예(서점)
- 리전과 VPC
2.3 실습 VPC 생성
3 인터넷 게이트웨이
3.1 인터넷 게이트웨이 개요
3.2 실습 인터넷 게이트웨이 생성
3.3 실습 인터넷 게이트웨이와 VPC 연동
4 실습 VPC 설정 편집
5 서브넷
5.1 서브넷 개요
- IP 주소
5.2 실습 서브넷 생성
6 라우팅 테이블
6.1 라우팅 테이블의 역할
- 라우팅 테이블의 예
- 라우팅 테이블의 필요성
- 라우팅 테이블
- 가상 라우터와 라우팅 테이블
6.2 실습 라우팅 테이블 생성
6.3 실습 라우팅 테이블 편집
7 서브넷 연결 편집
7.1 실습 서브넷 연결 편집
8 보안 그룹
8.1 보안 그룹 개요
- 검문소
- 방화벽
- 허용 및 거부 정책
8.2 실습 보안 그룹 생성
- 이름 생성과 VPC 지정
- 설정 정보 확인
- Name 컬럼 수정
- 최종 결과 확인
8.3 인바운드 규칙 편집
- 인바운드/아웃바운드 규칙
- 포트 번호
- 실습 가용 영역 2A(인바운드 규칙 편집)
- 실습 가용 영역 2C(인바운드 규칙 편집)
CHAPTER 3 인스턴스
1 인스턴스 개요
1.1 임대 서버와 클라우드
1.2 하드웨어적인 작업과 소프트웨어적인 작업
- 하드웨어적인 작업의 차이점
- 소프트웨어적인 작업의 공통점
1.3 EC2 인스턴스
- EC2의 주요 특징
- EC2의 구성 요소
- EC2의 장점
2 키 페어
2.1 SSH
2.2 SSH 서버
2.3 키 페어 개요
2.4 실습 키 페어 생성하기
3 인스턴스 생성
3.1 실습 인스턴스 생성
- 인스턴스 생성 개요
3.2 실습 애플리케이션 및 OS 이미지 선택
3.3 실습 키 페어 선택
3.4 실습 네트워크 설정
3.5 실습 고급 네트워크 구성
3.6 실습 보안 그룹 정보 변경/확인
3.7 탄력적 IP
- 재시작 시 IP 주소 변경
- IP 재할당
- 탄력적 IP의 필요성
- 과금 주의 사항
- 실습 탄력적 IP 생성
- 실습 탄력적 IP 주소 연결
- 실습 인스턴스 확인
4 인스턴스 접속
4.1 실습 MobaXTerm를 사용한 인스턴스 연결
4.2 실습 인스턴스 간의 통신
5 Nginx 설치 및 실행
5.1 Nginx 개요 및 장단점
5.2 실습 Nginx 설치
5.3 실습 웹 서버 접속 테스트(퍼블릭 IP)
6 내가 만든 홈페이지
6.1 GitHub에서 다운로드
- 파일 현황
6.2 실습 나만의 홈페이지 파일(index.html) 교체
- Public-2A 영역
- Public-2C 영역
6.3 실습 개발자가 생성한 웹 페이지 접속 테스트
7 스프링 부트 연동
7.1 JDK 및 Maven 설치
7.2 스프링 부트 프로젝트
- GitHub에서 가져오기
- 패키징
- 스프링 부트 서버 테스트
- 스프링 부트 서버 종료
- Public-2C에서 html 문서 수정하기
CHAPTER 4 AWS RDS와 스프링 부트 연동
1 RDS란?
1.1 RDS의 개념과 특징
1.2 EC2 직접 설치 vs RDS
2 실습 RDS 생성
2.1 실습 RDS 생성
- 데이터베이스 생성
- 엔진 옵션
- 데이터베이스 생성 방식과 템플릿 선택
- 가용성 및 내구성
- 설정 정보
- 추가 자격 증명 설정
- RDS 인스턴스 구성
- 스토리지 정보
- 연결 정보
- 추가 구성
- 데이터베이스 생성
2.2 RDS와 EC2 연결
- 연결 설정
- EC2 선택하기
- 연결 요약 확인
- 연결하기
- Public-2C 연결 설정
2.3 설정 정보 목록 확인
3 실습 RDS 접속 테스트
3.1 보안 그룹 인바운드 규칙 확인
3.2 EC2에서 CLI를 통한 접속 테스트
- MySQL 클라이언트 설치/접속
- 기본 CRUD 작업
3.3 스프링 부트 서버와 RDS 연동
- GitHub에서 파일 다운로드
- application.properties 파일
- 실습 application.properties 파일 수정하기
- 패키징하기
3.4 스프링 부트 서버 테스트하기
- 웹 브라우저 확인하기
- 브라우저에서 상품명 확인하기
3.5 실습 Public-2C 인스턴스 테스트
CHAPTER 5 도메인 등록하기
1 가비아(Gabia)
1.1 도메인이란
- IP 주소
- DNS와 도메인
- 도메인의 종류
- 도메인 등록 절차
- 도메인 작동 방식
1.2 실습 회원 가입
1.3 실습 도메인 신청하기
2 호스팅 영역 생성
2.1 Route 53
2.2 호스팅 영역
- 레코드
- 호스팅 영역
2.3 실습 호스팅 영역 생성
2.4 실습 호스팅 영역과 도메인 네임 서버의 연동
3 인증서
3.1 인증서 개요
- ACM이 필요한 이유
- SSL과 TLS
- 인증서가 지원되는 AWS 리소스
3.2 실습 인증서 생성하기
- 인증서 요청
- 도메인 이름 지정
- 검증 방법
- 키 알고리즘
- DNS 레코드 생성
- 호스팅 영역 확인
- 인증서 발급 확인
CHAPTER 6 로드 밸런서
1 부하 분산 서비스
1.1 Waiting List
1.2 HTTP와 HTTPS
- HTTPS를 사용하는 이유
1.3 로드 밸런서
- 로드 밸런서의 필요성
- 트래픽 분산 방식
- 로드 밸런서 종류별 차이점
1.4 구성 요소
- 대상 그룹
- 리스너
- 헬스 체크
2 Application Load Balancer
2.1 실습 대상 그룹 생성
2.2 실습 보안 그룹 생성
2.3 실습 로드 밸런서 생성
- 기본 구성
- 네트워크 매핑
- 보안 그룹 지정
- 리스너 및 대상 그룹 지정
- 보안 리스너 설정
- 로드 밸런서 생성 확인
2.4 실습 호스팅 영역과 연동하기
2.5 실습 웹 페이지 접속 테스트
- IP 주소로 접속하기
- 도메인으로 접속하기
- www+도메인으로 접속하기
- https로 접속하기
- https로 접속하기(www 포함)
- SSL 인증서 없음
- SSL 인증서 있음
CHAPTER 7 자원 삭제 및 정리
1 자원 삭제의 중요성
1.1 비용 절감과 자원 관리
- 인스턴스 중지
- 미사용 탄력적 IP 해제
- RDS(Relational Database Service) 인스턴스
1.2 보안 및 관리 효율성 향상
- 퍼블릭 S3 버킷
- IAM 사용자, 그룹, 역할의 권한 방치
- Lambda 함수, API 게이트웨이, EC2 키 페어 등 장기 미사용 리소스
- 정기적인 자원 정리
1.3 자원 삭제 시 주의 사항
- 의존성 확인
- 백업 여부 확인
- 삭제 불가한 자원
- 리전별 자원 확인
- 예상치 못한 서비스 영향 방지
2 AWS 관리 콘솔을 통한 자원 삭제
2.1 탄력적 IP
- 연결 해제(Disassociate)
- 릴리스(Release)
- 탄력적 IP 주소 연결 해제
- 실습 탄력적 IP 주소 연결 해제
- 탄력적 IP 주소 릴리스
- 실습 탄력적 IP 주소 릴리스
2.2 EC2 인스턴스 종료(삭제)
- 인스턴스 정지와 종료(삭제)
- 실습 인스턴스 종료(삭제)
- 키 페어 삭제
2.3 로드 밸런서 삭제
- 삭제 체크 리스트
- 실습 로드 밸런서 삭제
- 삭제 후 후속 조치
2.4 대상 그룹 삭제
- 삭제 체크 리스트
- 실습 대상 그룹 삭제하기
2.5 RDS 삭제
- 삭제 시 주의 사항
- 삭제 옵션
- 실습 RDS 삭제하기
2.6 보안 그룹 삭제
- 실습 EC2 보안 그룹
- 실습 RDS 보안 그룹
- 실습 보안 그룹 삭제
2.7 VPC 삭제
- 실습 VPC 삭제
2.8 DHCP 옵션 세트 삭제
- DHCP 포함 정보
2.9 인증서 삭제
- 인증서 삭제의 필요성
- 삭제 시 유의 사항
- 실습 인증서 삭제
- 삭제 이후 점검 사항
2.10 호스팅 영역 삭제
- 실습 레코드 삭제
- 실습 호스팅 영역 삭제
CHAPTER 8 Terraform 사용하기
1 Terraform 소개
1.1 인프라 자동화란?
1.2 Terraform이란?
1.3 Terraform의 장점
1.4 Terraform 구성 요소
- 프로바이더
- 리소스
- 모듈
- 배리어블
2 Terraform 설치 및 설정
2.1 실습 Terraform 다운로드
2.2 실습 Terraform 파일 압축 해제
2.3 실습 환경 변수 설정
2.4 실습 설치 확인
3 Terraform 코드 작성
3.1 실습 인증 키 자격 증명 생성
- 인증 키 자격 증명 발급
3.2 실습 키 페어 생성
3.3 HCL
- HCL이란
- HCL의 주요 특징
- HCL 사용 방법
- HCL의 장점
- 리소스 생성 문법
3.4 Terraform 설정 파일 작성하기
- 실습 프로바이더 지정
- 실습 VPC 리소스
- 실습 서브넷 리소스
- 실습 인터넷 게이트웨이 리소스
- 실습 라우팅 테이블 리소스
- 실습 서브넷-라우팅 연결 리소스
- 실습 보안 그룹 리소스
- 실습 인스턴스 리소스
- 실습 탄력적 IP 리소스
3.5 실습 인프라 자동화 실습
- 실행 흐름
- 실습 프로젝트 초기화
- 실습 환경 변수 설정하기
- 실습 실행 계획 확인하기
- 실습 리소스 생성하기
- 실습 리소스 삭제하기
- 실습 키 페어 삭제
- 실습 인증 키 삭제
저자
저자
설진욱 부산대학교 정밀기계공학과를 졸업하고 LG전자 세탁기사업부에서 전산 시스템 관련 업무를 수행하였습니다.
오랫동안 Java를 비롯한 다양한 프로그래밍 언어와 데이터베이스를 강의해 왔으며, 현재는 Python, VBA, R을 활용한 데이터 분석과 AI 교육을 중심으로 활동하고 있습니다. 또한 AWS를 비롯한 클라우드 기술, CI/CD, DevOps 환경 구축 및 자동화에 관심을 가지고 관련 교육과 실습 콘텐츠를 개발하고 있습니다. 최근에는 머신러닝, 딥러닝, AI Agent, 바이브 코딩(Vibe Coding) 등 최신 인공지능 기술을 지속적으로 연구하며 이를 교육 콘텐츠에 반영하고 있습니다.
오랫동안 Java를 비롯한 다양한 프로그래밍 언어와 데이터베이스를 강의해 왔으며, 현재는 Python, VBA, R을 활용한 데이터 분석과 AI 교육을 중심으로 활동하고 있습니다. 또한 AWS를 비롯한 클라우드 기술, CI/CD, DevOps 환경 구축 및 자동화에 관심을 가지고 관련 교육과 실습 콘텐츠를 개발하고 있습니다. 최근에는 머신러닝, 딥러닝, AI Agent, 바이브 코딩(Vibe Coding) 등 최신 인공지능 기술을 지속적으로 연구하며 이를 교육 콘텐츠에 반영하고 있습니다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

