0Pricing
DevOps Bootcamp · 강의

호스트 프로비저닝, 강화 및 초기 설정

새 서버를 기준 상태로 준비합니다.

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

빈 서버에서 기준선까지

새 호스트는 아무것도 설정되지 않은 상태입니다. common 역할은 앱 코드가 배포되기 전에 모든 서버를 안전하고 일관된 하나의 기준선으로 맞춥니다. 🛠️

패키지 캐시 업데이트하기

먼저 패키지를 새로 고쳐 설치 시 최신 버전을 사용하도록 합니다. apt 모듈은 멱등적인 하나의 작업으로 캐시를 업데이트할 수 있습니다.

- name: Update apt cache
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600

기본 패키지 설치하기

반복을 사용해 모든 호스트에 필요한 도구를 하나의 읽기 쉬운 작업으로 설치합니다. curl, vim, ufw 등이 그 예입니다.

- name: Base packages
  ansible.builtin.apt:
    name:
      - curl
      - ufw
      - fail2ban
    state: present

배포 사용자 만들기

앱 작업을 root로 실행하지 마십시오. user 모듈은 이후 애플리케이션을 소유할 전용 배포 계정을 만듭니다.

- name: Create deploy user
  ansible.builtin.user:
    name: deploy
    groups: sudo
    shell: /bin/bash

SSH 키 배포하기

authorized_key를 사용해 배포 사용자에게 키 기반 로그인을 허용하면 이후 실행에서 비밀번호 없이 연결할 수 있습니다.

- name: Add deploy key
  ansible.posix.authorized_key:
    user: deploy
    key: "{{ deploy_pubkey }}"

SSH 보안 강화하기

데몬을 강화합니다. root 로그인을 비활성화하고 비밀번호 인증을 끕니다. lineinfile 모듈은 sshd_config를 안전하고 멱등적으로 수정합니다.

- ansible.builtin.lineinfile:
    path: /etc/ssh/sshd_config
    regexp: "^PermitRootLogin"
    line: "PermitRootLogin no"
  notify: Restart sshd

필요한 포트만 열기

ufw로 방화벽을 구성합니다. SSH와 앱 포트는 허용하고 나머지는 거부합니다. 기본값부터 노출을 최소화합니다.

- community.general.ufw:
    rule: allow
    port: "22"
    proto: tcp

시간대 및 NTP 설정하기

로그와 인증서에는 일관된 시간이 중요합니다. 시간대를 설정하고 시간 동기화를 활성화하여 모든 호스트가 현재 시각을 동일하게 인식하도록 합니다.

- community.general.timezone:
    name: UTC

핸들러로 만들기

notify와 핸들러를 사용하여 구성이 변경된 경우에만 sshd를 다시 시작합니다. 매번 실행할 때마다 다시 시작해서는 안 됩니다.

handlers:
  - name: Restart sshd
    ansible.builtin.service:
      name: sshd
      state: restarted

멱등적으로 실행하기

common 역할을 두 번 실행해 보십시오. 두 번째 실행에서는 변경됨이 아니라 대부분 ok로 보고됩니다. 이는 기준선이 실제로 수렴했음을 보여 줍니다.

앱보다 먼저 기준선 구성하기

먼저 보안을 강화하면 앱이 신뢰할 수 있고 보호된 호스트에 배포됩니다. 부트스트랩은 다른 모든 요소가 의존하는 기반입니다. 🔒

빠른 확인

한 가지 선택이 SSH 구성 수정을 깔끔하게 유지합니다.

복습

기준선을 프로비저닝했습니다. 패키지, 배포 사용자, SSH 키, 보안이 강화된 sshd, 방화벽, 시간 동기화를 모두 멱등적으로 구성했습니다. ✅

자주 묻는 질문

“호스트 프로비저닝, 강화 및 초기 설정” 강의는 무료인가요?

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

“호스트 프로비저닝, 강화 및 초기 설정”에서 뭘 배우나요?

새 서버를 기준 상태로 준비합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“호스트 프로비저닝, 강화 및 초기 설정” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

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