Code를 통해서 인프라 리소스를 선언하여 프로비저닝하고 관리하는 것
Infrastructure 서비스를 구성하는 리소스들의 집합
"코드를 통해서"
Server Configuration : Puppet, Ansible ...
-> 설정을 코드로 배포할때 사용
Resource management : Terraform, AWS CloudFormation
-> 서버에대한 오케스트레이션 제공, 서버 배포, 서버 세팅 코드로 관리 적용 한다.
<실시간> <사이클이 매우빠름>
1) 컨텐츠 소모가 굉장히 빠르고 공격적임
2) 신규 프로젝트 생성 높음
3) 회수요청 높음
4) 서비스 중 인프라 수정 필요
5) 글로벌 런칭 - 멀티 리전 구성
--> 클릭으로 150대를 만드는건 불가능할꺼같음 ( Terraform 도입 필요 )
테라폼 서버로 하나 만들어서 사용한다고 함!
1) VDI를 통해서 Terraform 서버 접근
2) 코드 수정, Plan 확인
3) Apply를 통한 리소스 배포
4) 생성된 리소스 정보 (Private IP, Public IP, AZ, Region, Tag) --> 모니터링 서버의 mysql로 리소스 정보 저장
1] 코드기반의 인프라 관리로 신속한 리소스 생성/수정/삭제
2] 리소스 추적이 편리
3] 서비스중 인프라 수정이 빠름
4] 글로벌 런칭 멀티 리전 구성, 코드 재사용을 통한 빠른 배포
1) 개념이 다름
2) EC2, SG, VPC, LB, IAM
3) 리소스가 Terraform이 지원하는 resource data들을 정확히 파악 필요
4) SG ID 관리
5) Elastic IP 관리, 고정 IP 식별
6) 서버 삭제 보호 기능
7) VPC 모듈 (서브넷을 나눠서 Private, Public에 둘 것들)
Terraform 지원 확인 (Docs 확인)
elastic ip, 서버이름 똑같이하면 좋더라~
root 살리는거
1) Terraform 환경 셋팅
2) AWS Accesskey 발급 Keypair 생성
3) AWS configur 설정 (Access 키, 서버에서 쓸 키 만들어두기)
4) https://github.com/D0min1c/Terraform_beginner_on_AWS
5) Terraform init -> plan -> apply
6) Terraform destory