본문 바로가기

DevOps/Terraform

(20)
[T102 7주차] (20) 테라폼 Cloud Oauth 인증 사용하기 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 7주차 정리입니다. Oauth란 무엇인가요? ✅ 인증을 대신 해 주는 기술 아래와 같은 로그인 창을 보셨을 것입니다. 별도의 회원가입 없이 로그인을 제공하는 플랫폼의 아이디만 있으면 서비스를 이용 할 수 있습니다 이러한 기술은 어떻게 이루어져있을까요? 자세한 내용은 다음 생활코딩 강좌를 참고하시길 바랍니다. https://www.youtube.com/watch?v=hm2r6LtUbk8&list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q- 1. Github Provider 연동 하기 VCS와 직접 통합되어 별도 워크플로 작성 없이도 풀 리퀘스트에 대한 Plan 결과를 확인할 수 있으며 지정된 브랜치에 병합이 발생하면 테라폼..
[T102 7주차] (19) 테라폼 Cloud 사용법(2) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 7주차 정리입니다. 2. Terraform Cloud 사용해보기 ✅ Fork 후 클론 # Fork https://github.com/terraform101/terraform-aws-tfc-workflow ✅ Remote Repository 클론 및 TFC 셋팅 MyGit= MyGit=themapisto git clone https://github.com/$MyGit/terraform-aws-tfc-workflow cd terraform-aws-tfc-workflow MyTfcOrg= MyTfcOrg=themapisto-org sed -i -e "s//$MyTfcOrg/g" main.tf # git add main.tf git commit ..
[T102 7주차] (18) Github Action과 TFC 연동 방법 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 7주차 정리입니다. 1. Github Action 실습 ✅ Fork 후 소스코드를 클론 받는다. git clone https://github.com/themapisto/terraform-aws-github-action ✅ terraform login 시 .terraform.d/credential.json 파일 생성 mzc01-kook@MZC01-KOOK 0808 % cat ~/.terraform.d/credentials.tfrc.json { "credentials": { "app.terraform.io": { "token": "iAmSfGJz6pPzUg.atlasv1.gBnYkvcrEHiIQnxR41WeVePAUUIq2VjfJzwly8wU..
(17) 테라폼 Cloud 사용법 (1) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 6주차 정리입니다. 인프라 규모가 커지고 관리 팀원이 늘어날 수록 코드 관리가 필요 → 서로 작성 코드 점검 및 협업 환경 구성 구성 요소 : 코드를 다수의 작업자가 유지 보수 할 수 있도록 돕는 VCS Version Control System + 테라폼 State를 중앙화하는 중앙 저장소 ✅ 실습 1 . 테라폼 클라우드 ( Local ) 구성 목적 관리 : 지속적인 State 백업을 위해서 local 이외의 저장소가 필요, 하지만 실제로 Terraform 동작은 로컬에서 하려 할때 공유 : 다수의 작업자가 동일한 State로 접근해 프로비저닝하기 위한 공유 스토리지 필요 격리 : 민감한 데이터가 State 파일에 저장될 가능성을 고려하여..
[T102 6주차] (16) 테라폼 협업 ( 깃Pull Request 통한 협업 ) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 6주차 정리입니다. 인프라 규모가 커지고 관리 팀원이 늘어날 수록 코드 관리가 필요 → 서로 작성 코드 점검 및 협업 환경 구성 구성 요소 : 코드를 다수의 작업자가 유지 보수 할 수 있도록 돕는 VCS Version Control System + 테라폼 State를 중앙화하는 중앙 저장소 ✅ 유형 1 . VCS, 중앙 저장소 없음 ✅ 유형 2. VCS(SVN, Git), 중앙 저장소 도입 ✅ 유형 3 . VCS(Github), 중앙 저장소 도입 , State 백엔드 관리 그림출처 : https://kschoi728.tistory.com/139 1. VCS 형상 관리 도구는 버전 관리 시스템을 지칭하는 도구이며, VCS 라고 불린다. SV..
(15) 테라폼 모듈 (3) VPC & EKS cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 4주차 정리입니다.1. vpc 모듈 실습 모듈을 통해 코드 재사용성을 확보할수 있다모듈은 테라폼 구성의 집합 로컬 디렉토리의 테라폼 구성을 모듈화 할수도 있지만 다음과 같이 github 같은 퍼블릭 레포지토리도 모듈화 가능하다.✔️ 실습 1. (vpc )#git clone https://github.com/terraform-aws-modules/terraform-aws-vpc/tree terraform-aws-vpc/examples -L 1tree terraform-aws-vpc/examples -L 2cd terraform-aws-vpc/examples/simplels *.tfcat main.tf✅ 코드를 사용자 환경에 맞게 수정합니다...
[T102 4주차] (14) 테라폼 모듈 (2) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 4주차 정리입니다. 4주차 내용: 테라폼 모듈 😎 모듈과 프로바이더 모듈에서 사용되는 모든 리소스는 관련 프로바이더의 정의가 필요함 프로바이더 정의 ( inner vs outer ) ✔️ 유형 1 . 자식 모듈에서 프로바이더 정의 모듈에서 사용하는 프로바이더 버전과 구성 상세를 자식 모듈에서 정의 하는 방법이다. 프로바이더 버전과 구성에 민감하거나, 루트 모듈에서 프로바이더 정의 없이 자식 모듈이 독립적인 구조 일때 사용 하지만 동일한 프로바이더가 루트와 자식 양쪽에 또는 서로 다른 자식 모듈에 버전 조건 합의가 안 되면, 오류가 발생하고 모듈에 반복문을 사용할 수 없다는 단점이 있으므로 잘 사용하지 않는다. ✔️ 유형 2. 루트 모듈에서..
[T102 4주차] (13) 테라폼 모듈(1) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 4주차 정리입니다. 4주차 내용: 테라폼 모듈 😃 테라폼 모듈? ✅ 테라폼으로 인프라와 서비스를 관리하면 시간이 지날수록 구성이 복잡해지고 관리하는 리소스가 늘어나게 된다. 테라폼의 구성 파일과 디렉터리 구성에는 제약이 없기 때문에 단일 파일 구조상에서 지속적으로 업데이트할 수 있지만, 다음과 같은 문제가 발생한다. ❌ 테라폼 구성에서 원하는 항목을 찾고 수정하는 것이 점점 어려워짐 ❌ 리소스들 간의 연관 관계가 복잡해질수록 변경 작업의 영향도를 분석하기 위한 노력이 늘어남 ❌ 개발/스테이징/프로덕션 환경으로 구분된 경우 비슷한 형태의 구성이 반복되어 업무 효율이 줄어듦 ❌ 새로운 프로젝트를 구성하는 경우 기존 구성에서 취해야 할 리소스 ..