이 책은 Amazon Web Services(AWS)를 처음으로 사용하는 사람을 위해 업무 시스템에서 널리 활용되는 Java 기반의 Web 시스템을 구축하는 절차를 GUI를 사용하여 설명한 입문서이다. 인프라 구축 경험이 적은 젊은 엔지니어를 대상으로 서버 구축/네트워크 기술/보안/운용 등 인프라의 기본 개념들을 그림으로 설명하고 있다.
AWS를 업무 시스템에서 이용하면서 기본적으로 알아야 하는 클라우드의 기본 지식과 AWS가 제공하는 서비스의 종류, AWS를 이용할 때 알아 두어야 하는 고려사항, 계정 등록 절차, AWS 이용 방법을 알려 준다. 또한 AWS의 대표적 서비스인 S3나 EC2를 사용하여 Web 사이트를 구축하고 AWS의 기본적인 사용법을 배울 수 있다. Java Web 애플리케이션 실행 환경을 구축, AWS 가상 서버 “EC2”와 데이터베이스 “RDS”의 기본적인 사용법, AWS가 제공하는 개발 도구 중 하나인 “AWS Toolkit for Eclipse”의 기본적인 사용법도 함께 배울 수 있다. AWS를 이용하는 데 있어 알아 두어야 하는 네트워크와 보안의 기초 지식과 AWS 방화벽 기능인 보안 그룹, 가상 네트워크를 구축하는 VPC의 사용법을 소개하며, AWS에서 사용자 계정 관리와 데이터를 암호화하는 방법을 배운다. 구축한 AWS를 이용하여 시스템을 안정적으로 가동시키기 위해 알아야 하는 시스템 운용의 기본 지식과, AWS 서비스 감시와 데이터 관리 방법, 코드에 의한 구성 관리, 자동화 절차 등을 설명한다. 더 나아가 Docker의 기본 지식과 AWS에서 Docker를 운용하는 절차를 배울 수 있다.
* 출판사 리뷰
이 도서는 익숙한 온프레미스 아키텍처 기반의 시스템을 AWS의 기본 서비스들을 사용하여 구축하는 절차를 설명하고 있는 책이다. AWS를 이용하면서 알아야 할 클라우드 지식부터 계정 등록 방법, 애플리케이션 서버를 구축, 네트워크 구축 방법은 물론 AWS를 사용함에 있어 꼭 알아야 할 보안 대책 방법과 앞으로 많은 주목을 받을 Docker 운용 절차를 설명한다.
1장 클라우드의 역할
클라우드 퍼스트라는 단어에서도 알 수 있듯이 정보계 시스템뿐만 아니라 기간계 업무 시스템에서도 클라우드를 사용하여 새로운 가치와 서비스를 제공하는 기업들이 증가하고 있다. 클라우드는 단순한 기술 요소가 아니라 현재까지의 업무 시스템 개발 방법 자체나 엔지니어가 가져야 할 능력을 크게 변화시킬 것이다. 1장에서는 AWS를 업무 시스템에서 이용하면서 기본적으로 알아야 하는 클라우드의 기본 지식을 설명한다.
2장 AWS 기본과 계정 등록
AWS가 제공하고 있는 서비스나 도큐먼트 수는 방대하기 때문에 세계 최대 규모의 클라우드 서비스라고 해도 과언이 아니다. 이와 같이 거대한 클라우드 서비스에서 특히, 초보자가 실제로 AWS를 이용할 때 “무엇을 할 수 있을까?”, “어떻게 이용해야 하나?” 등 클라우드 서비스와 관련된 구체적인 이미지를 생각하기는 어렵다. 이 장에서는 AWS가 제공하는 전체 서비스에 대한 개요와 AWS를 이용할 때 알아 두어야 하는 고려사항, 계정 등록 절차, AWS 이용 방법을 설명한다.
3장 Web 서버 구축
Amazon Web Services에서는 어떤 Web 서비스를 만들려고 하는가에 따라 이용자가 스스로 어떤 서비스를 어떻게 조합해서 이용할 것인지 결정해야 한다. 그러나 AWS를 처음 이용하는 사람들은 서비스가 너무 많아서 어느 것을 사용해야 좋을지 결정하기가 쉽지 않다. 여기서는 AWS의 대표적 서비스인 S3나 EC2를 사용하여 Web 사이트를 구축하고 AWS의 기본적인 사용법을 소개한다.
4장 Web 애플리케이션 서버 구축
AWS에서는 Web 시스템 구축에 필요한 다양한 기능을 서비스로 제공하고 있다. 앞선 3장에서 소개한 정적인 Web 사이트 구축뿐만 아니라 PHP나 Java 등 동적인 Web 애플리케이션 실행 환경, Web 애플리케이션이 이용하는 데이터를 관리하기 위한 데이터베이스 서버를 쉽게 구축할 수 있다.
4장에서는 업무 시스템에서 널리 이용되고 있는 Java Web 애플리케이션 실행 환경을 구축하는 법을 소개한다. 그 과정에서 AWS 가상 서버 “EC2”와 데이터베이스 “RDS”의 기본적인 사용법을 배운다. 또한 AWS가 제공하는 개발 도구 중 하나인 “AWS Toolkit for Eclipse”의 기본적인 사용법도 함께 알려 준다.
5장 네트워크 구축
AWS 같은 Public 클라우드의 경우, 물리적으로 차단시키는 것이 가능한 온프레미스 환경과는 다르게 약간만 설정이 잘못되어도 중요한 정보가 인터넷상으로 유출되는 위험이 발생할 수 있다. 따라서 5장에서는 AWS를 이용하는 데 있어 알아 두어야 하는 네트워크와 보안의 기초 지식과, AWS 방화벽(Firewall) 기능인 보안 그룹(Security group)이나 가상 네트워크를 구축하는 VPC의 사용법을 소개한다.
6장 AWS Security
업무 시스템의 정보 보안 대책은 정도가 없으며, 시스템의 취약성과 위협도 시시각각 변화하고 있어 다양한 대책을 강구할 필요가 있다. 여기서는 AWS를 이용하기 위해서 최소한 알고 있어야 하는 보안 기초 지식과 AWS에서 사용자 계정 관리와 데이터를 암호화하는 방법 등을 설명한다.
7장 시스템 운용
7장에서는 AWS를 이용하여 구축한 시스템을 안정적으로 가동시키기 위해 알아야 하는 시스템 운용의 기본 지식과, AWS 서비스 감시와 데이터 관리 방법, 코드에 의한 구성 관리, 자동화 절차 등을 설명한다.
8장 Docker 컨테이너 운영 환경 구축
애플리케이션과 인프라 환경을 1개로 통합하여, 개발 환경 → 테스트 환경 → 실제 운영 환경으로 이행할 수 있는 플랫폼으로서 Docker가 주목을 받고 있다. 여기서는 이러한 Docker의 기본 지식과 AWS가 Docker를 운용하는 절차를 소개한다.