인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
개발 · 프로그래밍

/

데브옵스 · 인프라

아키텍처와 함께하는 Terraform (테라폼 모듈)

Terraform 모듈을 활용하여 AWS InfraArchitecture를 기반으로 AWS 리소스를 생성하는 과정을 담았습니다.

23명 이 수강하고 있어요.

Thumbnail

초급자를 위해 준비한
[데브옵스 · 인프라, Terraform] 강의입니다.

이런 걸
배워요!

  • Terraform

  • InfraArchitecture

  • iac

Terraform을 활용한 AWS 인프라 구축 하기!

이 강의는 Terraform을 사용하여 AWS 인프라를 구축하는 방법을 배우는 과정입니다.
Terraform은 인프라를 코드로 관리할 수 있게 해주는 도구로, Cloud 환경에서의 인프라 자동화와 관리에 매우 유용합니다. 이 강의는 입문자부터 초보자 까지 모두를 대상으로 하며, 실습을 통해 Terraform의 기본 개념부터 다양한 기능까지 익힐 수 있습니다.

강의는 주로 Terraform module을 활용하여 AWS Infra를 생성하고 관리합니다. 🙂

KRAFTON (크래프톤)

현대오토에버 (신입)

코드로 인프라를 구축하면서 아키텍처를 함께 작성하고 관리하기! 😀

Terraform 코드 작성

Terraform 코드는 인프라를 코드로 정의하여 infrastructure-as-a-code 기반의 클라우드 리소스를 자동으로 생성, 관리, 업데이트, 삭제할 수 있게 해줍니다.

관련 내용을 직접 작성 및 실습을 통해 리소스 생성과정과 애플리케이션 동작과정을 직접 확인합니다.

IDE를 활용한 코드 작성

아키텍처를 직접 그리며 생성된 인프라 자원을 관리합니다.

Terraform 코드로 생성된 Cloud기반의 인프라 리소스를 관리하기 위한 인프라 아키텍처를 작성합니다.

Terraform 코드로 생성된 인프라 리소스를 아키텍처화 하여 관리하면 가시성향성, 문제해결 용이, 변경관리, 효율적인 설계 등 다양한 장점이 존재합니다.

Infra Architecture 작성

효율적인 Infra 구성을 위한 module 기반 리소스 생성

모듈: Terraform에서 모듈 기반의 리소스를 생성하는 것은 매우 권장됩니다. 모듈을 사용하면 코드의 재사용성, 관리 용이성, 구조화 등을 통해 인프라를 효율적으로 관리할 수 있습니다. 모듈을 통해 복잡한 인프라 구성을 더 쉽게 관리하고 유지보수할 수 있습니다.

루트 모듈: Terraform 구성을 실행할 때 기본적으로 사용되는 모듈로, 프로젝트의 최상위 디렉토리에 위치합니다.

서브 모듈: 루트 모듈에서 호출되는 모듈로, 특정 기능이나 리소스를 캡슐화하여 재사용할 수 있습니다.

변수와 출력: 모듈은 variables.tf와 outputs.tf 파일을 통해 외부와 데이터를 주고받아 모듈 간 데이터 전달이 가능합니다.

모듈 기반 Terraform 코드 작성의 장점

재사용성: 모듈을 사용하면 동일한 인프라 구성을 여러 프로젝트나 환경에서 재사용 할 수 있습니다. 이를 통해 코드 중복을 줄이고 유지보수를 용이하게 합니다.

구조화: 모듈을 사용하면 코드가 더 구조화되고 조직화 됩니다. 이는 코드의 가독성을 높이고, 팀 간 협업을 원활하게 합니다.

관리 용이성: 모듈을 사용하면 인프라의 특정 부분을 독립적으로 관리할 수 있습니다. 예를 들어, VPC 설정을 변경할 때 다른 인프라 구성에 영향을 주지 않고 변경할 수 있습니다.

테스트 용이성: 모듈 단위로 인프라를 테스트할 수 있어, 변경 사항이 전체 인프라에 미치는 영향을 최소화할 수 있습니다.

module 기반 code 작성

Terraform Code로 생성된 Infrastructure를 실행 가능한 예제 애플리케이션을 실행 후 테스트 진행 😆

Terraform 코드를 기반으로 생성한 AWS 인프라에 애플리케이션을 배포 및 실행하여 테스트 진행

SpringBoot로 개발된 CRUD 예제 애플리케이션을 실행 후
Terraform으로 생성한 인프라에서 실행

데이터베이스 연결 확인 : 애플리케이션이 RDS 데이터베이스에 정상적으로 연결되는지 확인합니다.

네트워크 연결 확연 : 애플리케이션이 VPC 및 서브넷 내에서 올바르게 통신할 수 있는지 확인합니다.

애플리케이션 기능 확인 : 애플리케이션의 주요 기능이 정상적으로 동작하는지 확인합니다.

수강 전 참고 사항

강의 속도

  • 말이 느린 편이라 동영상 속도를 1.2~1.5로 설정 후 보시면 훨씬 수월합니다.

개인 e-mail 공유

  • 개인적으로 질문이 있으신 분들은 질문 게시판에 글을 올려 주시거나 아니면 아래의 e-mail 주소로 문의 주시면

    최대한 빠르게 답변을 드리도록 하겠습니다. 😀

  • may9noy@gmail.com

실습 환경

  • 운영 체제 및 버전(OS): Windows

  • 사용 도구: IntelliJ IDEA (권장), Visual Studio Code

  • 데이터베이스: PostgreSQL (AWS RDS)

  • 클라우드 서비스: AWS (Amazon Web Services)

  • 기타 도구: Terraform, Draw.io, pgAdmin

예제 애플리 케이션

  • 프로그래밍 언어: Java

  • 프레임워크: Spring Boot

  • 빌드 도구: Gradle

  • 데이터베이스: PostgreSQL (AWS RDS), H2 (테스트용)

학습 자료

  • 학습 자료는 학습 자료실을 통해 제공됩니다. 😀

선수 지식 및 유의사항

  • SpringBoot (기본 지식이 있으면 좋음)

  • AWS 계정 (프리 티어 사용 가능)

  • 기본적인 클라우드 및 인프라 지식

  • GitHub 계정 및 Git 설치


이 환경을 통해 강의에서 다루는 모든 실습을 원활하게 진행할 수 있습니다. 😃

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • Terraform을 활용해서 InfraArchitecture를 설계 하고싶으 신분

  • Terraform을 활용해 Infra를 컨트롤 하고 싶으신 분

  • Terraform module을 활용한 효율적인 구성

선수 지식,
필요할까요?

  • AWS 기반 인프라 구성 경험

안녕하세요
숀김입니다.

안녕하세요. 😄

가끔은 육아와 업무로 번아웃이 와서 지치긴 하지만, 😅

하루하루를 항상 감사와 즐거운 마음으로 살아가고 있는 IT 근로자 입니다. 😅


개인 블로그 : https://may9noy.tistory.com

GitHub : https://github.com/Nanninggu


삶과 가정 속에서 항상 좋은 일들만 가득하시길 기원합니다. 😀

커리큘럼

전체

68개 ∙ (11시간 10분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!