0Pricing
DevOps Bootcamp · 강의

프로젝트 설계: 역할 및 인벤토리

전체 배포 저장소의 구조를 구성합니다.

프로젝트 설계: 역할 및 인벤토리은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

캡스톤 목표

롤링 배포와 다운타임 없는 운영을 적용한 실제 다중 계층 앱을 배포할 차례입니다. 첫 단계는 프로젝트 레이아웃을 설계하는 것입니다. 🚀

역할 단위로 생각하기

시스템을 역할로 나눕니다. common, web, app, db, loadbalancer처럼 각 관심사마다 하나씩 지정합니다. 각 역할은 재사용할 수 있고 독립적으로 테스트할 수 있습니다.

최상위 레이아웃

깔끔한 저장소는 루트에 인벤토리, group_vars, roles, site.yml 진입 플레이북을 두므로 누구나 필요한 항목을 빠르게 찾을 수 있습니다.

deploy/
  site.yml
  inventory/
  group_vars/
  host_vars/
  roles/

site.yml이 모든 것을 연결합니다

마스터 플레이북인 site.yml은 계층별 플레이를 순서대로 가져옵니다. 전체 스택을 배포하는 단일 명령입니다.

- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.yml

계층을 그룹에 연결하기

인벤토리는 각 계층에 하나씩 그룹을 정의합니다. lb, db, app, web이 그 예입니다. 각 플레이는 자신이 관리하는 호스트만 정확히 대상으로 삼습니다.

[lb]
lb1

[web]
web1
web2

[app]
app1
app2

[db]
db1

계층별 group_vars

계층 설정은 group_vars에 저장합니다. 웹 포트, 앱 버전, 데이터베이스 자격 증명 등을 저장하면 호스트가 자동으로 상속하므로 복사하여 붙여 넣을 필요가 없습니다.

group_vars/web.yml:
  nginx_port: 80
  upstream: app:8080

특수한 설정에는 host_vars 사용하기

특정 호스트만 다를 때는 재정의 설정을 host_vars에 넣습니다. 예를 들어 기본 데이터베이스에는 다른 호스트에 없는 복제 설정이 있을 수 있습니다.

host_vars/db1.yml:
  postgresql_role: primary

앱 버전 고정하기

릴리스 버전을 하드코딩된 문자열이 아니라 변수로 만듭니다. 한 곳만 변경하면 몇 초 만에 버전을 올리거나 이전 버전으로 되돌릴 수 있습니다.

group_vars/all.yml:
  app_version: "2.4.1"

환경 분리하기

환경별로 인벤토리 폴더를 분리하여 스테이징과 프로덕션이 호스트를 절대 공유하지 않도록 합니다. 역할은 같고 대상만 다릅니다.

inventory/
  staging/hosts
  production/hosts

종속 항목 잠그기

외부 Galaxy 역할을 requirements.yml에 나열하면 모든 팀원과 CI 실행에서 정확히 동일한 자동화 코드를 설치할 수 있습니다.

roles:
  - name: geerlingguy.nginx
    version: 3.1.4

먼저 아키텍처를 설계하면 이점이 있습니다

신중하게 구성한 레이아웃은 복잡해 보이는 배포를 예측 가능한 몇 개의 명령으로 바꿉니다. 지금 구조를 잡아 두면 나중에 긴급 장애 대응을 줄일 수 있습니다. 🧱

빠른 확인

구성 항목 하나를 올바른 위치에 배치해 보겠습니다.

복습

저장소를 설계했습니다. 계층별 역할, 인벤토리 그룹, group_vars와 host_vars, 그리고 전체 배포를 실행하는 site.yml을 구성했습니다. ✅

자주 묻는 질문

“프로젝트 설계: 역할 및 인벤토리” 강의는 무료인가요?

네 — “프로젝트 설계: 역할 및 인벤토리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“프로젝트 설계: 역할 및 인벤토리”에서 뭘 배우나요?

전체 배포 저장소의 구조를 구성합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“프로젝트 설계: 역할 및 인벤토리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 프로젝트 설계: 역할 및 인벤토리
  2. 호스트 프로비저닝, 강화 및 초기 설정
  3. 로드 밸런서 뒤에서 롤링 배포하기
  4. 스모크 테스트, 롤백 및 알림
← DevOps Bootcamp(으)로 돌아가기