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

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

- [\[테라폼 중급\] 테라폼으로 스타트업 인프라 구축하기](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)
