Init Script
Iniit Script : 같은 용도의 서버를 여러대 일괄 생성하거나 주기적으로 생성하는 경우,
또는 용도별로 서버 초기 환경 관리가 필요한 경우 사용한다.
- 서버 생성 시 실행되는 스크립트를 지정
- 서버에 설치하여야 하는 패키지나 초기 설정 내용을 스크립트로 선언하여 서버 초기화를 빠르고 편리하게 구성.
- 서버 생성 시 최초 1회에 한하여 실행.
- Init Script로 할 수 있는 것들 : 패스워드 초기화, NAS 마운트, 프로그램 설치 및 설정
ACG
서버 Operation - ACG : 서버 간 네트워크 접근 제어 및 관리를 할 수 있는 IP/Port 기반 필터링 방화벽 서비스 (WhiteList방식)
ACG를 이용하면 기존 방화벽(iptables, ufw, Windows 방화벽)을 개별적으로 관리할 필요 없이 서버 그룹에 대한 ACG 규칙을 손쉽게 설정하고 관리할 수 있으며, 네이버 클라우드 플랫폼에서 기본으로 제공하는 ACG를 사용하거나 ACG 규칙을 직접 생성해서 사용할 수 있다.
[ 네이버 클라우드 - 기본 ACG ]

(그 외 네이버 클라우드 플랫폼 https://guide.ncloud-docs.com/docs/server-acg-classic 참고)
LVM
LVM (Logical Volume Manager) : 파일 시스템에 대한 디스크의 할당과 관리를 담당하는 리눅스 도구
-> 여러 개의 물리볼륨(PV)를 볼륨그룹(VG)를 묶어 논리적인 볼륨으로 나눠서 효율적인 디스크 파티션 공간 활용 가능
기존방식이 파일시스템을 블록 장치에 직접 접근해서 읽고 쓰기를 했다면, LVM은 파일시스템이 LVM이 만든 가상의 블록 장치에 읽고 쓰기를 하게 된다. 직접 물리 스토리지를 사용하는 것보다 다양한 측면에서 유연성을 제공하는데, 유연한 용량 조절, 크기 조정이 가능한 스토리지 풀(Pool), 편의에 따른 장치 이름 지정, 디스크 스트라이핑, 미러 볼륨 등을 제공한다.
스팬볼륨(Span Volume) : 물리 디스크 n개를 묶어서 하나의 디스크처럼 확장시켜 사용하는 윈도우 도구
RAID
RAID : 디스크를 병렬연결하여 사용하며 여러 개의 디스크에 중복된 데이터를 분산하여 저장하는 방식
* 각 레벨 별로 신뢰성을 높이거나 속도를 향상하기 위해 사용함.
- RAID 0 : 데이터를 분할하여 동시에 여러 개의 디스크에 저장하는 스트라이핑 방식
- RAID 1 : 하나의 디스크를 완벽하게 똑같이 복사해서 저장하는 미러링 방식
- RAID 1은 멤버 디스크를 늘리더라도 저장공간은 증가하지 않으며, 대신 가용성이 크게 증가하게 된다.
- RAID 1은 멤버 디스크 중 하나만 살아남으면 데이터는 보존되며 복원도 1:1 복사로 매우 간단하기 때문에, 서버에서 끊김없이 지속적으로 서비스를 제공하기 위해 사용한다.
- RAID 0 + 1 : 스트라이핑 후 미러링 진행
- RAID 1 + 0 : 미러링 후 스트라이핑 진행
- RAID 01 은 RAID 10에 비해 RAID 볼륨이 깨졌을 경우 복구가 번거롭다.
RAID 10과 비교하자면, 미러 볼륨으로 구성된 어레이에서 디스크 하나가 고장이 났다면, 미러 볼륨 자체는 깨지지 않는다.
즉, 디스크만 바꿔 넣어주면 알아서 리빌딩하여 원래 상태로 돌아간다. 하지만 RAID 0+1의 경우 디스크 하나가 고장이 났다면, 해당 RAID 0 어레이 전체가 깨져 버린다. 디스크를 교체한 뒤 RAID 0 어레이를 다시 구성한 다음, 미러링해야 한다.
- RAID 4 : 스트라이프 볼륨 + 전용 패리티 비트 디스크
- RAID 5 : 스트라이프 볼륨 + 분산된 패리티 비트 디스크
오토 스케일링(Auto Scaling)
오토 스케일링(Auto Scaling) : CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭(Metric) 값을 모니터링하여 서버 사이즈를 자동으로 조절
오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술로 이를 통해 사용자는 예상치 못한 서비스 부하에 효과적으로 대응하고 비용 절감 효과가 있다.
[오토스케일링 관련 용어]

* Cloud Functions 란?
: 별도의 서버나 인프라를 프로비저닝 하거나 관리하지 않고 코드를 실행할 수 있는 서버리스 컴퓨팅
Container 서비스
Container 서비스: 컨테이너란, Host OS 상에 논리적인 컨테이너를 만들고 앱을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아 마치 별도의 서버인 것 처럼 사용할 수 있게 만든 것.
- 구동 방식 : Host OS 를 공유하고 프로세스만을 격리화하여 경량화된 패키징 형태로 구동
- 장점: 리소스 격리가 되어 OS의 간섭을 받지 않고, 신규 환경의 생성없이 기존의 시스템에서 가볍고 빠르게 구동 가능하다.
- 단점: 어플리케이션이 OS를 공유하면서 보안에 취약하고 유연성이 떨어져 자동관리는 어렵다.
* Container Registry 란?
: 컨테이너 이미지를 저장하고 관리하는 저장소. 컨테이너 이미지는 애플리케이션과 그 실행에 필요한 모든 소프트웨어와 라이브러리를 패키징한 것으로, 가볍고 이식성이 높은 애플리케이션 배포를 가능하게 한다.
Container Registry는 개발자나 운영자가 컨테이너 이미지를 저장하고 공유할 수 았는 중앙저장소의 역할을 하고 이는 보안적으로 안전하게 이미지를 관리하고 버전 관리를 통해 이미지의 변경이력을 추적할 수 있도록 해준다
또한 ,Container Registry는 Kubernetes 클러스터와 연동하여 컨테이너 이미지를 배포하고 관리하는 데 사용되고, 대표적인 예시로는 Docker Hub, Google Container Registry, Amazon Elastic Container Registry 등이 있다.
Kubernetes Service
Kubernetes Service : Kubernetes 클러스터 내에서 실행되는 애플리케이션의 네트워크 서비스를 제공,
애플리케이션의 네트워크 엔드포인트 제공, 통신 관리, 로드 밸런싱, 고가용성 보장하는 역할을 한다.
+ 장점 + - 단점 -
애플리케이션의 확장성 향상 | 네트워크 오버헤드 발생 |
클러스터 외부 요청에 대한 노출 및 로드 밸런싱 지원 | 설정과 구성의 복잡성 |
다양한 서비스 유형 선택 가능 | 트래픽 라우팅과 로드 밸런싱은 일부 성능 영향을 줄 수 있음 |
특정 파드 그룹에 대한 선택적 통신 구성을 위한 Label Selector 기능 제공 | 외부 로드 밸런서와의 통합에 추가 구성이 필요할 수 있음 |
Kubernetes Service는 애플리케이션의 확장성을 향상시키고 클러스터 외부 요청을 처리하는 등의 장점이 있지만, 네트워크 오버헤드와 설정의 복잡성, 성능 영향 등의 단점도 고려해야 한다.
VPC(Virtual Private Cloud)
VPC(Virtual Private Cloud) : 클라우드 환경에서 가상의 사설 네트워크를 제공하는 서비스.
이 가상의 네트워크 내에서 가상 서버, 스토리지, 데이터베이스 등의 리소스를 실행.
- VPC는 사용자가 정의한 IP 주소 범위 내에서 가상 네트워크를 생성하고 관리할 수 있게 해준다. 이로 인해 사용자는 네트워크 토폴로지, 서브넷, 라우팅, 엑세스 제어 등을 설정하여 자체적으로 네트워크 환경을 제어할 수 있다.
- 현재 한국 리전 민간, 금융 클라우드에 적용되어 있고, 계정당 최대 3개의 VPC 생성이 가능하다.
[ VPC의 장점 ]

* IP 주소 범위
- 10.0.0.0 ~ 10.255.255.255 중에 /28~/16 로 네트워크 대역을 생성
- 172.16.0.0 ~ 172.18.255.255 중에 /28~/16 로 네트워크 대역을 생성
- 192.168.0.0 ~ 192.168.255.255 중에 /28~/16으로 네트워크 대역을 생성
서브넷 Subnet
VPC - Subnet : 서브넷은 VPC의 IP 주소 범위를 더 작은 블록으로 분할하여 가상 서버에 대한 네트워크 구성을 제공
- 서브넷은 주로 지리적인 물리적 위치, 보안 요구사항, 애플리케이션 레이어 등을 기반으로 구성됩니다. 서브넷을 사용하면 네트워크를 논리적으로 분할하여 서버를 그룹화하고, 서브넷 간에 네트워크 트래픽을 제어하고 보안을 강화할 수 있다.
- 각 서브넷은 자체적인 IP 주소 범위, 라우팅 테이블, 네트워크 ACL 을 가지고 있다.
- 서브넷 간에는 트래픽 라우팅을 통해 통신할 수 있다.
- 서브넷을 사용하면 애플리케이션의 보안과 네트워크 요구사항을 세밀하게 제어할 수 있다.
- 네크워크 리소스를 세분화하여 관리하고 가용성을 높일 수 있다.
1) 퍼블릭 서브넷 (Public Subnet):
- 퍼블릭 서브넷은 인터넷과 직접 통신이 가능한 서브넷.
- 퍼블릭 서브넷은 외부에서 인터넷을 통해 액세스할 수 있는 공개적인 IP 주소를 가진다.
- 퍼블릭 서브넷에 배치된 인스턴스는 외부로부터의 요청에 응답하거나 인터넷 리소스에 직접 액세스할 수 있다.
- 퍼블릭 서브넷은 보통 웹 서버, 로드 밸런서 등의 공개적으로 액세스 가능한 리소스를 호스팅하는 데 사용된다
2) 프라이빗 서브넷 (Private Subnet):
- 프라이빗 서브넷은 인터넷과 완전히 격리된 서브넷.
- 프라이빗 서브넷은 공개적인 IP 주소 대신에 내부 IP 주소를 사용한다.
- 프라이빗 서브넷에 배치된 인스턴스는 인터넷에 직접 액세스할 수 없으며, 보안 그룹, 네트워크 ACL 등을 통해 엄격한 네트워크 보안을 유지할 수 있다.
- 프라이빗 서브넷은 데이터베이스 서버, 애플리케이션 서버 등의 중요한 데이터 및 서비스를 보호하고 내부 트래픽을 관리하기 위해 사용된다.
NAT Gateway
NAT Gateway : AWS(Amazon Web Services)에서 제공하는 관리형 서비스.
프라이빗 서브넷의 인스턴스가 인터넷에 액세스하는 데 사용되는 중간 게이트웨이 역할을 수행한다.
- 인터넷 엑세스 제공 : 인스턴스는 NAT Gateway를 통해 공용 IP 주소를 사용하여 인터넷으로 트래픽을 전달할 수 있습니다.
- IP주소 변환 : NAT Gateway는 프라이빗 서브넷의 인스턴스가 내부 IP 주소로 통신하면서 외부로 나가는 트래픽에 대해 송신 IP 주소를 NAT Gateway의 공용 IP 주소로 변환하여 인터넷 상의 다른 시스템에서는 인스턴스의 실제 IP 주소를 알 수 없으며, 보안과 네트워크 관리를 강화할 수 있습니다.
- 가용성과 확장성 : 가용 영역 간에 자동으로 고가용성을 제공, 트래픽 처리 용량을 자동으로 조정하여 확장성을 유지
- 보안 및 관리 : 보안 그룹과 네트워크 ACL을 사용하여 트래픽을 제어하고 보호, 모니터링 및 로깅을 제공하여 관리를 용이하게 한다.
'IT Programming > NaverCloud' 카테고리의 다른 글
[Cloud] NCA,NCP - 네이버 클라우드 수업 3일차 (1) (0) | 2023.07.05 |
---|---|
[Cloud] NCA,NCP - 네이버 클라우드 수업 2일차 (2) (0) | 2023.07.04 |
[Cloud] NCP - 네이버 클라우드 수업 1일차 (0) | 2023.07.03 |
댓글