000 | 00000cam c2200205 c 4500 | |
001 | 000046136418 | |
005 | 20221212135401 | |
007 | ta | |
008 | 221212s2022 ggka 001c kor | |
020 | ▼a 9791192469256 ▼g 93000 | |
035 | ▼a (KERIS)BIB000016392141 | |
040 | ▼a 211048 ▼c 211048 ▼d 211009 | |
082 | 0 4 | ▼a 004.6782 ▼2 23 |
085 | ▼a 004.6782 ▼2 DDCK | |
090 | ▼a 004.6782 ▼b 2022z7 | |
100 | 1 | ▼a 노서영 |
245 | 2 0 | ▼a (모두를 위한) 클라우드 컴퓨팅 : ▼b HTC 개념부터 가상화, 컨테이너, CI/CD, AWS 프로그래밍까지 / ▼d 노서영 지음 |
260 | ▼a 파주 : ▼b 제이펍, ▼c 2022 | |
300 | ▼a xx, 676 p. : ▼b 삽화 ; ▼c 25 cm | |
490 | 1 0 | ▼a 제이펍의 클라우드 시리즈 ; ▼v 25 |
500 | ▼a 색인수록 | |
830 | 0 | ▼a 제이펍의 클라우드 시리즈 ; ▼v 25 |
945 | ▼a ITMT |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.6782 2022z7 | Accession No. 121261350 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
클라우드 컴퓨팅의 이론과 실습을 한 권으로 끝내자. 클라우드 컴퓨팅 기술이 발달하면서 많은 기업이 IT 생태계 기반을 클라우드 환경으로 전환하고, 클라우드 기반의 프라이빗 데이터 센터를 구축하고 있다. 이 책은 클라우드 컴퓨팅을 이해하기 위해 꼭 알아야 할 가상머신, 가상화, 컨테이너 같은 기반 기술을 살펴보고, 클라우드 컴퓨팅을 활용한 CI/CD와 데이터 센터의 응용도 함께 다룬다.
학습 내용은 실습으로 확인할 수 있고, 모든 실습은 버추얼박스를 이용하여 컴퓨터 한 대로 진행할 수 있도록 했다. 가상머신과 도커, 쿠버네티스와 같은 컨테이너에 대한 실습 예제뿐만 아니라 AWS에서 제공하는 API를 활용하여 가상머신을 동적으로 컨트롤하는 방법까지 포함한다.
HTC 관점으로 알아보는 클라우드 컴퓨팅의 모든 것
많은 기업이 디지털 트랜스포메이션의 일환으로 IT 생태계 기반을 클라우드로 전환하고 있다. 특히 팬데믹 영향으로 4차 산업혁명이 앞당겨졌고 클라우드의 중요도는 더욱 높아졌다. 이것이 우리가 클라우드 컴퓨팅 기술에 대해 알아야 하는 이유다. 새롭게 구축하는 IT 생태계는 물론 기존의 IT 자원도 클라우드로 전환을 꾀하면서 클라우드 컴퓨팅 기술은 모든 IT 종사자가 기본적으로 알아야 할 소양이 되어가고 있다. 이 책은 클라우드 컴퓨팅을 HTC라는 일관된 관점으로 풀어내고 있다. 다양한 클라우드 기술의 개념과 이론을 학습하고, 실습으로 클라우드 기술을 실무에 어떻게 응용해서 쓸 수 있을지를 깨우쳐준다.
1~3장에서는 클라우드 컴퓨팅의 기본 개념부터 역사와 모델 그리고 HTC에 대해 자세히 알아본다. 특히 이 책에서는 클라우드 컴퓨팅을 HTC의 관점에서 풀어낼 것인데, HTC에 대한 기본 개념과 사용 예를 살펴보며 HTC를 이해하고 HTCondor 작업을 어떻게 만드는지 살펴보면서 앞으로 배울 것들의 기초를 다진다.
4~7장에서는 버추얼박스를 기반으로한 HTCondor 클러스터에 대해 살펴본다. HTCondor의 생성부터 Master 노드, 워커 노드를 구성하여 실제 HTCondor 클러스터를 활용한 작업 처리까지 진행한다. 마지막으로 자동화 기반 HTCondor 클러스터 구축을 통해 대규모 클러스터를 관리하는 데 있어 효율적인 방법을 익힌다.
8~17장에서는 총 4개의 파트로 나누어 클라우드에서 가장 많이 쓰이는 기술과 개념을 익히고 실습한다. 첫 번째 파트에서는 AWS를 활용한 가상머신 생성과 동적 자원 관리 프로그래밍에 대해 알아보고, 두 번째 파트에서는 가상화 기술에 대해 심도있게 알아본다. 세 번째 파트에서는 앞에서 알아본 가상화 기술을 활용하여 가상머신을 통한 마이그레이션 기술, 오픈스택 구축을 실습한다.
18~19장에서는 앞에서 배운 클라우드를 활용하여 도커와 젠킨스를 이용한 CI/CD 파이프라인 구성과 클라우드 기술의 데이터 센터 활용에 대해 알아본다. 젠킨스 연동을 통해 최종적으로 배포 인스턴스 설정 및 테스트를 진행하고, 데이터 센터 구조를 이해하고 효율적인 IT 인프라 구축과 클라우드 연결 기술에 대해 실습한다.
주요 내용
■ HTC 관점으로 살펴보는 클라우드 컴퓨팅
■ 버추얼박스 기반 HTCondor 클러스터 구축 및 활용
■ 아마존 AWS 클라우드 활용
■ 가상화 기술의 개념 및 활용
■ 리눅스 컨테이너, 도커, 쿠버네티스 기술 응용
■ 도커와 젠킨스를 이용한 CI/CD 파이프라인 구성
■ 클라우드 기술의 데이터 센터 활용
Information Provided By: :

Author Introduction
Table of Contents
추천사 xiv 머리말 xvii 감사의 글 xix PART 1 클라우드 컴퓨팅 개론 1 CHAPTER 1 클라우드 컴퓨팅 개념 3 1.1 클라우드 관련 용어 3 1.2 클러스터링 5 1.3 컴퓨팅 자원의 효율적 활용 8 __1.3.1 특정 시간 동안 사용되지 않은 컴퓨팅 자원의 활용 9 __1.3.2 작업의 로드가 작은 컴퓨팅 자원의 활용 10 __1.3.3 컴퓨팅 자원의 활용과 안정성 12 __1.3.4 클라우드 컴퓨팅 서비스 17 __1.3.5 아마존과 클라우드 22 __1.3.6 클라우드 서비스를 가능하게 하는 기술 23 __1.3.7 가상머신 관리 툴 26 __1.3.8 HTC의 또 다른 예 그리드 컴퓨팅 27 연습문제 29 CHAPTER 2 클라우드 컴퓨팅의 역사와 모델 31 2.1 클라우드 컴퓨팅 개념의 탄생 31 2.2 클라우드 컴퓨팅의 정의 33 2.3 클라우드 컴퓨팅의 특성과 배포 모델 35 __2.3.1 클라우드 컴퓨팅의 5가지 특성 35 __2.3.2 클라우드 컴퓨팅의 3가지 서비스 모델 37 __2.3.3 클라우드 컴퓨팅의 4가지 배포 모델 38 2.4 클라우드를 활용하는 이유 40 __2.4.1 인프라 규모 산정의 용이성 40 __2.4.2 비용의 절감 41 __2.4.3 탄력성 41 __2.4.4 가용성 42 __2.4.5 신속성 43 __2.4.6 투명한 사용량 측정 43 __2.4.7 복원성 43 2.5 클라우드 컴퓨팅에 영향을 준 기술들 44 __2.5.1 클러스터링 44 __2.5.2 그리드 컴퓨팅 46 __2.5.3 가상화 49 2.6 클라우드 서비스 제공자의 역할 50 2.7 자원성능의 확장 52 2.8 클라우드를 사용할 때 고려할 사항 53 연습문제 57 CHAPTER 3 HTC 59 3.1 HTC 기본 개념 59 3.2 HTC 사용 예 63 __3.2.1 OSG를 통해 본 HTC 사용 예 63 __3.2.2 데이터 챌린지에 HTC의 활용 66 3.3 HTCondor 기본 개념 67 __3.3.1 HTCondor의 역사 67 __3.3.2 HTCondor 동작 방식 및 용어 69 3.4 HTCondor 실행 과정 예제 71 __3.4.1 HTCondor 작업 준비 71 __3.4.2 작업명세서 파일 준비 73 __3.4.3 작업 제출과 모니터링 76 연습문제 79 PART 2 가상머신 기반 HTC 81 CHAPTER 4 VirtualBox 기반 HTCondor 클러스터 생성 83 4.1 클러스터 구성 개요 83 4.2 VirtualBox 설치 84 4.3 CentOS 가상머신 생성 88 __4.3.1 CentOS 다운로드하기 88 __4.3.2 가상머신 만들기 90 __4.3.3 가상머신에 CentOS 설치하기 95 4.4 CentOS 가상머신 네트워크 설정 102 __4.4.1 네트워크 설정 103 __4.4.2 SSH 접속 110 4.5 가상머신 복사하고 접속하기 114 __4.5.1 가상머신 복사 114 __4.5.2 복제한 가상머신에 기본 환경설정 118 __4.5.3 가상머신 간 네트워크 통신 확인 128 연습문제 133 CHAPTER 5 HTCondor 클러스터 구축 135 5.1 HTCondor Master 노드 구성하기 136 __5.1.1 Master 노드에 HTCondor 설치를 위한 기본설정 136 __5.1.2 HTCondor 설치하기 138 5.2 HTCondor 워커 노드 구성하기 144 __5.2.1 워커 노드에 HTCondor 설치를 위한 기본설정 144 __5.2.2 워커 노드에 HTCondor 설치하기 145 연습문제 150 CHAPTER 6 HTCondor 클러스터를 활용한 작업 처리 151 6.1 작업을 기술하는 작업명세서 151 6.2 간단한 작업 작성해보기 152 6.3 인자를 갖는 작업 156 6.4 여러 작업을 동시에 실행하기 158 6.5 디렉터리 분리로 여러 작업 동시실행 162 6.6 파일 이름 분리로 여러 작업 동시실행 166 6.7 $(Process) 이용한 디렉터리 분리 168 6.8 요구사항을 갖는 작업 170 연습문제 176 CHAPTER 7 자동화 기반 HTCondor 클러스터 구축 177 7.1 자동화 도구가 필요한 이유 177 7.2 Vagrant로 노드 구성하기 178 __7.2.1 Vagrant 설치를 위한 기본설정 178 __7.2.2 Vagrantfile 수정 180 __7.2.3 Vagrant를 이용한 가상머신 생성 184 7.3 Ansible로 HTCondor 설정하기 188 __7.3.1 Ansible 설치 및 기본설정 189 __7.3.2 Ansible 호스트 통신 확인 190 __7.3.3 Ansible 플레이북 작성 192 연습문제 196 PART 3 아마존 AWS 클라우드 197 CHAPTER 8 아마존 AWS를 활용한 가상머신 생성과 접속 199 8.1 아마존 AWS 계정 만들기 199 8.2 아마존 AWS 가상머신 만들기 206 8.3 가상머신에 접속하기 212 연습문제 216 CHAPTER 9 AWS 동적 자원 관리 프로그래밍 218 9.1 동적 자원 관리 프로그래밍 구조 218 9.2 EC2 HTCondor 마스터 노드 생성 221 9.3 HTCondor 슬레이브 이미지 만들기 227 9.4 AWS 자원 동적 관리 툴 233 __9.4.1 List Instances 234 __9.4.2 Start Instances 235 __9.4.3 AIM 이미지로 인스턴스 생성 238 __9.4.4 인스턴스 중지 241 __9.4.5 인스턴스 재시작 244 __9.4.6 가용 리전 및 존 245 9.5 동적 관리 툴 만들기 247 연습문제 253 PART 4 가상화 기술 255 CHAPTER 10 가상화 기술 개념 257 10.1 가상화의 기본 개념 257 __10.1.1 가상화의 정의 258 __10.1.2 가상화 대상 시스템 258 __10.1.3 프로세스 가상머신 260 10.2 하이퍼바이저 261 __10.2.1 타입 1 하이퍼바이저 261 __10.2.2 타입 2 하이퍼바이저 263 __10.2.3 대표적인 하이퍼바이저 264 __10.2.4 하이퍼바이저의 라이프 사이클 266 10.3 가상화 267 __10.3.1 가상화 타입 269 __10.3.2 전가상화 271 __10.3.3 반가상화 274 __10.3.4 하이브리드 가상화 276 __10.3.5 OS 레벨 가상화 277 __10.3.6 가상화 타입 요약 278 연습문제 279 CHAPTER 11 CPU, 메모리, I/O 가상화 280 11.1 CPU 가상화 280 __11.1.1 에뮬레이션 281 __11.1.2 특권 모드와 비특권 모드 283 __11.1.3 트랩 285 __11.1.4 CPU 가상화 구현 287 11.2 메모리 가상화 294 __11.2.1 가상메모리 294 __11.2.2 페이지 테이블 298 __11.2.3 가상화 환경에서 메모리 변환 301 __11.2.4 TLB 에뮬레이션 방식 메모리 가상화 303 __11.2.5 섀도 페이지 테이블 방식 메모리 가상화 307 __11.2.6 직접 페이지 테이블 접근 방식의 메모리 가상화 310 __11.2.7 하드웨어 지원 페이징 312 11.3 I/O 가상화 317 __11.3.1 I/O 장치 에뮬레이션 318 __11.3.2 I/O 반가상화 320 __11.3.3 직접 접근 I/O 325 __11.3.4 IOMMU 328 __11.3.5 SR-IOV 332 연습문제 333 PART 5 가상화 기술 활용 335 CHAPTER 12 가상머신 라이브 마이그레이션 337 12.1 가상머신 마이그레이션 기술 337 __12.1.1 프리카피 방식 338 __12.1.2 포스트카피 방식 339 __12.1.3 하이브리드 방식 340 12.2 가상머신 생성 및 실습 환경 구성 341 __12.2.1 가상머신 생성 341 __12.2.2 가상화 패키지 설치 및 설정 343 __12.2.3 가상머신 복제 345 __12.2.4 가상머신 환경설정 347 12.3 KVM 가상머신 생성 및 라이브 마이그레이션 351 __12.3.1 가상머신 이미지 저장소 생성 352 __12.3.2 CirrOS 가상머신 생성 352 __12.3.3 cirros 가상머신에 작업파일 생성 354 __12.3.4 KVM 라이브 마이그레이션 356 연습문제 358 CHAPTER 13 가상머신으로 오픈스택 구축하기 360 13.1 오픈스택 개요 및 구조 360 __13.1.1 오픈스택 개요 360 __13.1.2 오픈스택 구조 362 13.2 오픈스택 구축을 위한 실습 환경 364 13.3 오픈스택 설치 370 13.4 오픈스택 접속 및 가상머신 생성 373 __13.4.1 오픈스택 대시보드 접근 373 __13.4.2 오픈스택 커맨드 라인 툴을 이용한 접근 382 연습문제 388 PART 6 컨테이너 기술 391 CHAPTER 14 컨테이너 기본 개념 393 14.1 컨테이너 기본 개념과 기술의 진보 393 __14.1.1 기본 개념 393 __14.1.2 컨테이너 기술의 역사 395 14.2 컨테이너와 가상머신 399 연습문제 402 CHAPTER 15 리눅스 컨테이너 403 15.1 리눅스 컨테이너 LXC 403 __15.1.1 리눅스 컨테이너 아키텍처 403 __15.1.2 마운트 네임스페이스 406 __15.1.3 UTS 네임스페이스 409 __15.1.4 PID 네임스페이스 411 __15.1.5 IPC 네임스페이스 415 __15.1.6 네트워크 네임스페이스 416 __15.1.7 사용자 네임스페이스 442 15.2 LXC 컨테이너 452 __15.2.1 LXC 설치하기 452 __15.2.2 LXC 컨테이너 생성 456 __15.2.3 LXC 컨테이너 네트워크 설정 및 접속 459 __15.2.4 LXC 컨테이너 내부 파일 463 __15.2.5 다운로드 템플릿을 이용한 컨테이너 생성 466 __15.2.6 커스텀 컨테이너 생성 469 __15.2.7 LXC 컨테이너 종료, 삭제하기 475 연습문제 477 CHAPTER 16 도커 479 16.1 도커 개요 479 __16.1.1 기본 개념 479 __16.1.2 도커 구동 방식 481 __16.1.3 도커 아키텍처 483 __16.1.4 도커 기반 기술 487 16.2 도커 실습 490 __16.2.1 도커 설치하기 490 __16.2.2 이미지, 프로세스, 접속, 모니터링 493 16.3 도커파일, 스웜, 스택 510 __16.3.1 실습 환경 구성 510 __16.3.2 도커파일을 통한 컨테이너 생성 511 __16.3.3 도커 이미지 공유하기 518 __16.3.4 도커 서비스 522 16.4 도커 스웜 529 __16.4.1 도커 오케스트레이션 툴 529 __16.4.2 도커 스웜을 통한 서비스 구축 531 __16.4.3 도커 스택 538 연습문제 547 CHAPTER 17 쿠버네티스 549 17.1 쿠버네티스 등장 배경 549 17.2 쿠버네티스 구조 552 17.3 실습환경 구성 555 17.4 쿠버네티스 클러스터 구성 564 17.5 쿠버네티스에 서비스 올리기 571 연습문제 583 PART 7 클라우드 활용 585 CHAPTER 18 도커와 젠킨스를 이용한 CI/CD 파이프라인 구성 587 18.1 CI/CD 기본 개념 587 __18.1.1 전통적인 소프트웨어개발 프로세스 587 __18.1.2 지속적인 통합: CI 589 __18.1.3 지속적인 제공과 배포: CD 590 18.2 CI/CD 파이프라인 실습환경 구성 592 __18.2.1 CI/CD 파이프라인 구성 개념 592 __18.2.2 AWS Lightsail 인스턴스 생성 및 설정 593 __18.2.3 도커 설치 596 __18.2.4 젠킨스 설치 및 설정 598 18.3 CI 구성: GitHub, 젠킨스 연동 설정 605 __18.3.1 GitHub example 리포지터리 생성 605 __18.3.2 develop 아이템 생성 및 설정 607 __18.3.3 develop 브랜치에 코드 푸시 610 __18.3.4 젠킨스 main 아이템 설정 614 __18.3.5 젠킨스 플러그인 추가 설치 및 설정 617 18.4 CD 구성: 도커 허브와 젠킨스 연동 설정 620 __18.4.1 도커 허브 웹훅 설정 621 __18.4.2 dockerhub 아이템 설정 621 __18.4.3 배포 인스턴스 설정 및 테스트 623 연습문제 626 CHAPTER 19 클라우드 기술의 데이터 센터 활용 627 19.1 데이터 센터의 구조 627 __19.1.1 데이터 센터의 내부 구조 627 __19.1.2 확장가능한 데이터 센터 630 19.2 데이터 센터의 당면 과제 632 __19.2.1 자동화와 원격 관리 632 __19.2.2 데이터 센터의 안정성 확보 634 __19.2.3 에너지 효율적인 데이터 센터 636 19.3 효율적인 IT 인프라 639 __19.3.1 컴퓨팅 장비 639 __19.3.2 스토리지 장비 641 __19.3.3 네트워크 장비 645 19.4 데이터 센터에 활용되는 가상화 기술 648 __19.4.1 서버 가상화 648 __19.4.2 스토리지 가상화 650 __19.4.3 네트워크 가상화 654 19.5 클라우드 데이터 센터의 연결 기술 656 __19.5.1 인터네트워크 657 __19.5.2 데이터 센터 접근을 위한 다양한 프로토콜 659 __19.5.3 데이터의 전송과 패킷 662 연습문제 667 찾아보기 669