brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 14. 2022

19탄-13. 테라폼-AWS-모듈 이론 1

다음은 주말 CloudNet 테라폼 스터디 내용 참고하여  정리한 부분입니다.

https://gasidaseo.notion.site/gasidaseo/CloudNet-Blog-c9dfa44a27ff431dafdd2edacc8a1863




<1> 테라폼 모듈을 사용하는 이유?

<2> 테라폼 레지스트리를 사용하라.

<3> 버전 관리

<4> 테라폼으로 관리할 것, 하지 않는 것을 구분하라.

<5> 볼만한 동영상 -  당근 페이




<1> 테라폼 모듈을 사용하는 이유?


코드의 중복 

캡슐화


2

코드 중복

1개 개발자 계정을 생성할 경우 3가지가 사용된다.

aws_iam_user 코드

aws_iam_user_group_membership  코드

aws_iam_user_policy_attachment 코드


2번째 개발자에 권한을 줄 경우 

aws_iam_user 코드

aws_iam_user_group_membership  코드

aws_iam_user_policy_attachment 코드 1

aws_iam_user_policy_attachment 코드 2


3번째 개발자에 권한을 줄 경우 

aws_iam_user 코드

aws_iam_user_group_membership  코드

aws_iam_user_policy_attachment 코드 1

aws_iam_user_policy_attachment 코드 2



3

iam user과 그룹이 1  vs 1  일 경우  문제가 없다.

attachment 포함하면 복잡해진다.


4

간결하게 풀기 위해 

iam 묶음 자체를 하나의 모듈로 정의하면 된다.

모듈 ~~~~~~~

aws_iam_user 코드

aws_iam_user_group_membership  코드

aws_iam_user_policy_attachment 코드




<2> 테라폼 레지스트리를 사용하라.


1

하시 코프에서 공식적으로 운영하는 모듈 저장소

https://registry.terraform.io/browse/modules


2

다른 레지스트리 모듈을 사용하는 경우 보안 문제, 패치문제 등이 발생할 수 있다.



<3> 버전 관리


https://developer.hashicorp.com/terraform/language/expressions/version-constraints


=   해당 버전만 사용. 다른 버전은 사용하지 마시오.

>=  : 해당 버전 중 최신 버전

>=, <   해당 버전 이상, 해당 버전 미만 중 최신 버전

~>:  해당 버전 중 최신 버전



<4>  테라폼으로 관리할 것, 하지 않는 것을 구분하라.


정책을 정하라.

모든것을 테라폼으로 관리할 필요는 없다.

콘솔로 간단히 되는건 콘솔로 해도 좋을거 같다.

네트워크 VPC는 테라폼으로  관리

보안 그룹을 테라폼으로 관리?




<5> 볼만한 동영상 -  당근 페이


https://www.youtube.com/watch?v=yWhwZpzJ3no



다음

https://brunch.co.kr/@topasvga/2807





https://brunch.co.kr/@topasvga/2421


감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari