# \[테라폼 중급] 테라폼으로 스타트업 인프라 구축하기

## \[테라폼 중급] 테라폼으로 스타트업 인프라 구축하기

- [\[테라폼 중급\] 테라폼으로 스타트업 인프라 구축하기](https://terraform201.devart.tv/master.md): 테라폼으로 AWS 환경 구축하기 중급강의
- [필독사항](https://terraform201.devart.tv/0..md): 본 가이드를 하기 전에 반드시 확인이 필요한 사항입니다!
- [필수 도구 설치하기](https://terraform201.devart.tv/undefined.md): 실습에 필요한 도구를 설치합니다.
- [실습에 앞서 초기 세팅하기](https://terraform201.devart.tv/0.-terraform-intermediate.md): 실습에 필요한 초기 세팅
- [AWS 계정 생성](https://terraform201.devart.tv/0.-terraform-intermediate/aws.md)
- [초기화 IAM 사용자 생성](https://terraform201.devart.tv/0.-terraform-intermediate/iam.md): 테라폼 초기 세팅을 위한 IAM 사용자 생성
- [Github 코드 만들기](https://terraform201.devart.tv/0.-terraform-intermediate/github.md): Github 소스 코드를 다운받고, 나만의 레포 만들기
- [네이밍 컨벤션을 위한 이름 정하기](https://terraform201.devart.tv/0.-terraform-intermediate/undefined.md): 자신이 만들고자 하는 서비스의 이름을 정합니다.
- [Backend 구성하기](https://terraform201.devart.tv/0.-terraform-intermediate/backend.md): Backend용 S3 버킷과 lock을 위한 dynamoDB 생성
- [zsh and  oh-my-zsh](https://terraform201.devart.tv/0.-terraform-intermediate/zsh-and-oh-my-zsh.md): 빠른 작업을 위한 Shell 최적화
- [AWS EC2 and SSH](https://terraform201.devart.tv/0.-terraform-intermediate/aws-ec2-and-ssh.md): AWS EC2 와 그 접속 방법인 SSH 에 대해서 알아봅니다.
- [0. SSM](https://terraform201.devart.tv/0.-ssm.md): 접근제어 서버를 대신하는 AWS SSM
- [1. VPC](https://terraform201.devart.tv/1.-vpc.md): Terraform을 활용해 VPC 구성하기
- [\[이론\] VPC 기본 개념](https://terraform201.devart.tv/1.-vpc/vpc.md)
- [VPC 기본 구조 이해](https://terraform201.devart.tv/1.-vpc/vpc/vpc.md)
- [Best practice Subnet 이해](https://terraform201.devart.tv/1.-vpc/vpc/best-practice-subnet.md): 서브넷을 용도별로 구분?
- [Terraform VPC 기본 구조](https://terraform201.devart.tv/1.-vpc/vpc-2.md): VPC 및 Subnet 기본 구성하기
- [(Optional) 멀티 VPC 구성](https://terraform201.devart.tv/1.-vpc/optional-vpc.md)
- [VPC Endpoint](https://terraform201.devart.tv/1.-vpc/vpc-endpoint.md): VPC에서 리소스와 직접 통신하기 위한 VPC Endpoint 생성
- [(Optional) VPC Peering](https://terraform201.devart.tv/1.-vpc/optional-vpc-peering.md): VPC 간 통신을 위한 peering 작업
- [2. AWS IAM Role을 활용한 계정 관리](https://terraform201.devart.tv/2.-aws-iam-role.md)
- [0. 사전 준비](https://terraform201.devart.tv/2.-aws-iam-role/0..md): 이번 장에서는 로그인 계정(art-id)과 일반 운영환경 계정(Production) 간 Assume Role을 통한 계정 관리 사례를 실습해볼 예정입니다. 계정을 여러개 더 추가하고 싶으시다고 하면, 운영환경과 동일한 방식으로 여러번 진행하시면 빠르게 구축하실 수 있습니다.
- [1. 로그인 계정 설정](https://terraform201.devart.tv/2.-aws-iam-role/1..md)
- [2. 사용자 패스워드 및 MFA 설정](https://terraform201.devart.tv/2.-aws-iam-role/2.-mfa.md): 신규 사용자 패스워드 및 MFA 설정
- [3. 운영환경 계정 설정](https://terraform201.devart.tv/2.-aws-iam-role/3..md)
- [4. Assume Role 세팅](https://terraform201.devart.tv/2.-aws-iam-role/4.-assume-role.md): Console에서 Assume Role 사용하기
- [3. 어플리케이션 서비스 만들기](https://terraform201.devart.tv/2..md)
- [보편적인 Application 구조](https://terraform201.devart.tv/2./2.1-application.md): 보편적인 Application 구조에 대해서 알아봅니다.
- [AWS ALB and NLB 생성하기](https://terraform201.devart.tv/2./2.3-aws-alb-and-nlb.md)
- [Domain 등록하기](https://terraform201.devart.tv/2./domain.md): Route53에 새로운 도메인 등록하기
- [Route53 생성하기](https://terraform201.devart.tv/2./route53.md)
- [ACM을 이용한 HTTPS 설정](https://terraform201.devart.tv/2./acm-https.md)
- [EC2 ASG 생성하기](https://terraform201.devart.tv/2./2.2-ec2-asg.md): AWS Auto Scaling Group은 Amazon Web Services(AWS)에서 제공하는 서비스로, 클라우드 인프라 내의 리소스를 자동으로 확장하거나 축소할 수 있게 해주는 기능입니다. 사용자의 애플리케이션이 겪는 트래픽의 변화에 따라 필요한 컴퓨팅 리소스를 동적으로 조정하여, 최적의 성능을 유지하면서 비용을 효율적으로 관리할 수 있습니다.
- [bastion server 만들기 ( EC2 ssh )](https://terraform201.devart.tv/2./2.2-ec2-asg/bastion-server-ec2-ssh.md): https://youtu.be/oMVfhT\_xlzk?feature=shared
- [4. Static 페이지 만들기](https://terraform201.devart.tv/3.-static.md)
- [Cloudfront + S3를 사용하는 이유](https://terraform201.devart.tv/3.-static/cloudfront-+-s3.md): 왜 Cloudfront + S3를 사용하는가
- [Cloudfront 와 S3 구성하기](https://terraform201.devart.tv/3.-static/cloudfront-s3.md): Cloudfront와 S3를 활용하여 static한 페이지 구성하기
- [(Optional)Custom 도메인 사용하기](https://terraform201.devart.tv/3.-static/cloudfront-s3-1.md): 내가 원하는 도메인을 구매해서 사용하기
- [5. Jenkins 배포 실습](https://terraform201.devart.tv/5.-jenkins.md)
- [Jenkins란](https://terraform201.devart.tv/5.-jenkins/jenkins-1.md)
- [Jenkins 설치하기](https://terraform201.devart.tv/5.-jenkins/jenkins.md)
- [Jenkins 배포하기](https://terraform201.devart.tv/5.-jenkins/jenkins-2.md)
- [Codebuild 연동하기](https://terraform201.devart.tv/5.-jenkins/codebuild.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://terraform201.devart.tv/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
