상세 컨텐츠

본문 제목

[Vagrant] Visual Studio Code | IaC | Vagrant 설치 및 사용 (httpd, ftp)

IT/vagrant

by o_zeew 2022. 6. 13. 18:53

본문

(0) Visual Studio Code 설치

(1) IaC

(2) Vagrant


 0. Visual Studio Code 설치 

설치 완료

 


 

 1. IaC : infrastructureAs Code 

1.Infra를 Code로 관리하는 기술
2.1000대의 서버 세팅 - 완벽하게 똑같은 설정임을 보장할 방법이 없다
3.Code로 관리한다면 - 멱등성을 보장할 수 있다. (몇번을 실행해도 결과가 똑같음을 보장)

배포관리 - 설치
1.Terraform : Platform에 종속되지 않음.
2.Vagrant : private cloud

구성관리 - 설치 후 설정 작업
1.puppet : redgat
2.chef : 설정이 힘들다.
3.Ansible : 배우기 쉽다.

 

 


 

 2. Vagrant 

https://di-on.tistory.com/84

 

[Docker] Virtual Box

(1) IaC (2) VirtualBox 1. IaC (Infrastructure As Code) - 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것 1.Vargrant 2.Terraform 3.Ansible https://www.hashicorp.com/ HashiCorp: I..

di-on.tistory.com

 Vagrant 설치 참조

 

1. vagrant 파일 생성

  * 실습에서는 바탕화면에 폴더를 생성했지만 사용자 이름이 한글로 되어있어 생기는 오류 때문에

     C: 바로 아래에 생성했습니다 *

C: 아래에 vagrant 폴더 생성
Shift 키 누른채로 우클릭 - 여기에 PowerShell 창 열기

 

  - [vagrant init] 으로 vagrant 파일 생성

파일 생성 확인

 

2. Visual Studio Code 실행

  - vagrant 확장팩을 다운받으면 단어 자동완성 가능

vagrant 확장팩 다운

 

3. Hostname 설정

  - | | : 단락 구문, 무조건 단락 안의 단어로 시작해야함

hostname 설정

 

4. 베이스 이미지 설정

centos7로 베이스 이미지 지정

 

5. vagrant-vbguest 플러그인 설치

  * 플러그인을 이용하면 자동으로 적절한 GuestAddition 버전을 찾아서 맞춰줌 (GuestAddition 문제 대비)

 

6. vagrant 실행

[vagrant up] 명령어 사용
VirtualBox에 생성 확인

 

  - 초기 ID와 패스워드는 vagrant

 

  - cmd창에서 ssh 접속

  - [sudo su -] 명령어를 사용하여 root 권한 가질 수 있음

 

7. VM 삭제

   ※ VM 삭제 시 설정을 변경하기 전에 삭제를 해야 완벽하게 삭제 가능 (삭제 → 설정 편집)  

 

8. VM 설정

  - provider(공급자)를 "virtualbox"로 지정 후 이를 vb로 지정

  - VM의 이름, 메모리, cpu 설정

 

9. 포트포워딩

  - host의 1234번 포트로 들어오는 것을 가상머신의 22번 포트로 전달

  - host의 60080번 포트로 들어오는 것을 가상머신의 80번 포트로 전달, IP 127.0.0.1로 강제 지정

 

  * 포트포워딩 시 포트가 이미 존재한다면 오류 발생

  → 실습 시에는 포트번호를 바꿔서 진행하였지만  [auto_correct: true] 명령어를 통해 오류 해결 가능

 

10. 폴더 연동

  * httpd 시작페이지를 미리 작성하고 시작페이지 파일이 있는 폴더를 연동

C: 아래에 data 폴더 생성 후 index.html 파일 생성

 

  * synced_folder : 공유 폴더

../data 폴더를 /var/www/html/로 연동

 

11. Shell 사용

  * provision "shell" : shell 배포

httpd 설치 후 httpd 시작, selinux 해제, EOF 단어를 만나면 동작 종료

 

  - 실행

웹페이지 접속 확인

 

12. 한번에 여러대의 VM 생성

  - VM name, Host name, 포트 번호 다르게 

첫번째 VM
두번째 VM

 

  - [vagrant up] 후 실행 확인

CentOS7, CentOS7-1이 모두 실행
두번째 VM에서 설정한 시작페이지 실행 확인

 

13. 스크립트 활용

  * 첫번째 VM : httpd 서비스

    두번째 VM : ftp 서비스

 

  - vagrant 폴더에 스크립트 생성

install.sh 생성

 

   - 스크립트 작성

  - vsftpd 설치 및 시작, selinux 해제, /ftp 디렉토리 생성

  - 사용자 생성 및 패스워드 지정

  - 배너 파일 생성

  - chroot list 작성

  - vsftpd.conf 파일 작성 ('>' 사용하여 기존 정보 삭제하고 새로 작성)

  - vsftpd 시스템 재시작

 

- 확인

ftp 60021번 포트로 접속 가능