1. Init Script
- Init Script는 초기화 스크립트라고도 불리며, 컴퓨터 시스템이 부팅될 때 실행되는 스크립트 또는 프로그램입니다.
- NCP에서는 Init Script를 서버 생성시 한번만 수행되도록 기능을 지원하고 있습니다.
- 같은 용도의 서버를 여러 대 일괄 생성하거나, 같은 환경의 서버를 주기적으로 생성하거나 용도별로 서버 초기 환경 관리가 필요한 경우 등 여러 가지 경우에 활용할 수 있습니다.
2. Init Script 생성
1. Service -> Compute -> Server -> Init Script를 클릭합니다.
2. Seript 생성을 클릭합니다.
3. Script 이름은 원하는대로, Script 내용은 하단 블럭 안의 내용을 복사,붙여넣기 후 Script 생성을 클릭합니다.
# Bash 셸로 수행
#!/bin/bash
# YUM 패키지 관리자를 사용하여 Nginx를 설치합니다.
# -y 옵션은 패키지 설치 동안 모든 질문에 자동으로 "예"로 응답하도록 하는 옵션입니다
yum -y install nginx
# Nginx 서비스를 부팅 시 자동으로 시작하도록 설정합니다
systemctl enable nginx
# Nginx 서비스를 시작합니다
systemctl start nginx
#!/bin/bash
yum -y install nginx
systemctl enable nginx
systemctl start nginx
4. Script가 생성되었습니다. 이제 서버를 새로 생성하여 이 Script를 적용해보겠습니다.
3. Web Server 생성
1. Server 탭에서 Server 생성을 클릭합니다.
5. 2세대 Rocky linux로 생성합니다.
6. 외부에서 접근을 하게되는 Web서버니 Public Subnet를 선택합니다.
공인IP 할당, Script는 방금 만든 nginx를 선택 후 다음을 클릭합니다.
7. 스토리지는 기본으로 놔두고 다음을 클릭합니다.
8. 인증키는 만들어둔 vpc-test를 선택하고 다음을 클릭합니다.
9. Public에 배치할거니 ACG도 Public을 선택합니다.
10. 확인 후 서버생성을 클릭합니다.
11. 서버가 생성되었다면 서버의 ID와 PW, 공인 IP를 확인하고 접속합니다.
12. systemctl 명령어로 Init Script를 통해 설치하고 nginx의 상태를 확인해보겠습니다.
# 서비스 목록을 불러오고 그 중 nginx를 출력
systemctl list-unit-files --type service | grep nginx
# nginx의 상태 확인
systemctl status nginx
13. Web 서버가 정상 작동중이니 공인IP를 통해 Web 서버에 접속해봤으나 아무것도 뜨지 않습니다.
ACG에서 Web 서비스를 위한 80번 포트를 열어주지 않았기 때문 입니다.
14. ACG 탭으로 돌아가 vpc-test-public ACG의 Inbound에 80번 포트를 추가하고 웹페이지로 돌아갑니다.
15. 이제 Web 서버의 80번 포트에 접근이 가능해져 정상적으로 Web 페이지가 뜨고 있습니다.
Public Subnet에 Web서버가 하나 만들어졌습니다.
다음 글에서는 서버의 데이터까지 그대로 이미지로 만들어 백업으로 쓰거나 똑같은 서버를 만들어낼 수 있는 Server Image 기능을 통해 Web 서버를 하나 더 만들어보겠습니다.
Server Image : https://angrycloud.tistory.com/28