회사에서 테라폼 스터디를 진행하였습니다.
테라폼을 사용하면 인프라 버전 관리가 잘 될 것 같다고 판단을 하였고 회사에서 '테라폼 업앤러닝' 책을 구매하여 매주 한 명씩 돌아가며 공부한 내용을 발표하기로 하였습니다.
그렇게 공부하면서 개인적으로 필기한 내용을 남겨볼까 합니다.
코드를 작성 및 실행하여 인프라를 생성, 배포, 수정, 정리하는 것을 말합니다.
실제로 데브옵스의 핵심은 서버, 데이터베이스, 네트워크, 로그파일, 애플리케이션 구성, 문서, 자동화된 테스트, 배포 프로세스 등 거의 모든 것을 코드로 관리할 수 있습니다.
코드형 인프라 도구에는 다섯 가지 범주가 있습니다.
자동화 하는 가장 간단한 방법
▶ start-webserver.sh 배시 스크립트 예시
# apt-get 캐시를 업데이트
sudo apt-get update
# php와 아파치 설치
sudo apt-get install -y php apache2
# 깃 리포지터리에서 코드를 다운로드
sudo git clone https://github.com/xxxx/xxxxx.git /var/www/html/app
# 아파치 웹 서버 시작
sudo service apache2 start
위의 예제와 같이 해당 코드를 직접 작성하여 수동으로 실행하면 됩니다.
범용 프로그래밍 언어를 사용하면 사용자가 매번 수동으로 맞춤 코드를 작성해야 하지만, 코드형 인프라를 사용한다면 간결한 API로 수행할 수 있습니다.
애드훅 스크립트는 소규모 일회성 작업에는 적합하지만, 모든 인프라를 코드로 관리하려면 작업 목적에 맞게 설계된 코드형 인프라 도구를 사용해야 합니다.
셰프, 퍼핏, 앤서블, 솔트스택 등은 모두 구성 관리 도구로써 대상 서버에 소프트웨어를 설치하고 관리하도록 설계되어 있습니다.
▶앤서블 예시
- name: Update the apt-get cache
apt:
update_cache: yes
- name: Install PHP
apt:
name: php
- name: Install Apache
apt:
name: apache2
- name: Copy the code from the repository
git: repo=https://github.com/xxx/xxxx.git dest=/var/www/html/app
- name: Start Apache
service: name=apache2 state=started enabled=yes
▶ 장점
서버 템플릿 도구들은 각각의 목적이 약간씩 다릅니다.
오케스트레이션 도구의 간략한 역할
위와 같은 작업을 처리하기 위해 쿠버네티스, 마라톤/메소스, 아마존 엘라스틱 컨테이너 서비스, 도커 스웜, 노마드 같은 오케스트레이션 도구가 필요합니다.
구성 관리, 서버 템플릿, 오케스트레이션 도구가 각 서버에서 실행되는 코드를 정의한다면 테라폼, 클라우드포메이션, 오픈스택 히트와 같은 프로비전 도구는 서버 자체를 생성합니다.
데이터 베이스, 캐시, 로드 밸런서, 큐, 모니터링, 서브넷 구성, 방화벽 설정, 라우팅 규칙 설정, SSL 인증서 등 인프라에 관련하여 모든 부분을 프로비저닝할 수 있습니다.
참조 : https://book.naver.com/bookdb/book_detail.naver?bid=20489970
테라폼 업앤러닝
이 책은 예제 소개를 뛰어넘어 실제 환경에서 테라폼을 사용하는 방법에 중점을 두고 만들어졌다. 외국어에 능통해지려면 원어민과 대화하고, 외국어 TV 쇼를 보고, 외국 음악을 듣는데 시간을
book.naver.com
[테라폼/Terraform]테라폼 상태 관리/백엔드 (0) | 2022.05.31 |
---|---|
[테라폼/Terraform]테라폼 변수 (0) | 2022.05.31 |
[테라폼/Terraform]단일 웹 서버 배포 (0) | 2022.05.31 |
[테라폼/Terraform]단일 서버 배포 (0) | 2022.05.31 |
[테라폼/Terraform]왜 테라폼을 사용해야 하는가? 1-2 (0) | 2022.05.30 |
댓글 영역