3일간의 달콤한 휴일이 끝나고 오늘 수업을 진행했습니다.
가상화란 물리적인 물질에서 더 다양한 물질을 만들기 위해 가상화 기술을 통해서 분리하여 가상머신에 할당하는 기술을 의미합니다.
가상화를 사용하면 물리적인 서버의 대수를 감소하고 전체적인 전력과 관리 비용을 절감할 수 있다는 장점이 있습니다.
가상화가 발전하며 요즘은 클라우드 형태의 가상화를 많이 사용하고 있습니다.
시스템에서 다수의 운영 체제를 동시에 실행할 수 있게 해줍니다.
옛날에는 공장마다 제품에 생상에 필요한 전기 발전 설비를 직접 만들어 운영했지만 이제는 플러그를 꽂아서 쓰는 만큼만 요금을 냅니다. 따라서 클라우드도 마찬가지로 인터넷을 통해 IT리소스를 원할 때 언제든지 사용하며 사용한 만큼 금액을 지불하면 됩니다.
클라우드에는 4가지의 유형이 있습니다.
인터넷만 가능하면 사용할 수 있습니다. 클라우드 컴퓨팅 서비스를 제공해주는 업체에게 필요한 IT인프라를 대여합니다.
특정 사용자나 인가된 사용자만 사용이 가능하며 서비스 ㅈ원과 데이터는 기업의 데이터 센터에 저장됩니다.
프라이빗 클라우드 + 퍼블릭 클라우드가 하이브리드 클라우드입니다.
2개 이상의 서로 다른 클라우드를 사용하는 방식으로 예를 들어 AWS + KT 클라우드를 사용하는 방법입니다. 따라서 한 클라우드 회사에 종속되는게 아니라 상호보완하면서 사용할 수 있습니다.
클라우드 컴퓨팅을 사용하면 초기 선 투자가 필요하지 않으며 탄력적인 운영 및 확장이 가능합니다.
아마존에서 제공해준느 웹 서비스가 바로 AWS입니다. AWS는 다양한 웹 서비스를 제공해줍니다.
AWS에서 제공해주는 가상 서비스로 Elastic Compute Cloude의 약자입니다. 쉽게 확장 축소가 가능하며 고객 업무 영역에 따른 다양한 인스톤스 타입을 제공합니다.
출처 : https://aws.amazon.com/ko/ec2/instance-types/
인스터스 읽는 방법은 앞에 소문자는 인스터스의 종류 뒤의 숫자는 인스터스 세대이고 뒤에 있는 large나 small은 인스턴스 사이즈를 알려줍니다.
EC2에는 여러 구매 옵션이 있습니다. On-Demand인스턴스는 컴퓨팅을 사용한 만큼 비용지불을 하면 됩니다. Reserved인스턴스는 한번에 전체를 구매하기 때문에 일정 계약금을 사전 지불하고 한꺼번에 구매하기 때문에 저렴한 요금제를 부과합니다. Spot인스턴스는 사용되지 않는 EC2 용량을 경매를 통해 구매합니다.
EC2 보안 그룹의 규칙이 있으며 만약 우리가 EC2를 만들었다면 외부 접속에 대한 보안을 설정해야합니다.
EC2 접속 인증 암호에는 Public / Private키가 있으며 Private키는 AWS에 저장되지 않습니다.
AWS에서 제공하는 네트워크 서비스이며 보안 강화 목적과 부족한 IP 자원을 효율적으로 관리해주도록 도와줍니다.
VPC의 생성과정은 IP대역을 결정하고 가용영역에 Subnet을 생성하고 Routing을 설정하고 Traffic을 통제합니다.
VPC를 구성할 때 가장 먼저 고려되는 것이 IP범위입니다. Netowork는 할당하고자하는 IP 대역을 지정하는 것이고 Host는 지정한 Network내 할당 가능한 IP를 의미합니다. class를 사용하면 IP의 Network 범위 관리를 단순하게 지정이 가능합니다 단점은 Network 할당에 대한 자유도가 낮다는 단점이 있습니다.
이런 단점을 보완하고자 SubNet Mask가 있습니다. 서브넷은 VPC의 IP대역을 적절한 단위로 분할 사용이 가능합니다.
CIDR을 결정할 때 고려해야될 점은 구축할 서비스의 규모가 얼마나 되는지 IP소모가 많은 시스템인지 타 시스템과 연계가능성이 있는지 생각해볼 필요가 있습니다.
Subnet 생성 시 고려할 사항은 IP 대역을 너무 작게 설정하면, 서비스 확장시 문제가 생길 수 있습니다. 서비스 확장성 여부를 판단하여 넉넉하게 설정하는 것이 좋습니다.
AWS에서 제공해주는 스토리지는 3개가 있습니다. Block, file, object로 이렇게 총 3개의 형태가 있습니다. Block Storage는 HDD, SDD와 같은 디스크를 의미합니다. 다른말로는 Volume이라고 합니다. File Storage는 HDD와 SDD를 여러 개 장착한 NAS와 같은 형태를 의미합니다. Object Storage는 API 기반의 데이터 접근을 하는 방식을 의미합니다.
EBS의 특징은 다양한 타입을 지원하고 네트워크를 통한 연결이 가능합니다. 인스턴스 간 연결 및 해제가 언제든지 가능합니다. Ec2 인스턴스를 위한 비휘발성 블록 스토리지 입니다. 같은 존에 있어야만 연결이 가능합니다.
EBS Volume Snapshot을 가지고 AMI로 변환하여 인스턴스를 배포할 수 있고 RBS 볼륨을 특정 시점 기준으로 복사하여 백업이 가능합니다.
AMI는 Amazon Machine Image의 약자로 OS +시스템서버 + 애플리케이션이 모두 묶이 있는 형태를 말합니다.
S3는 AWS에서 제공하는 object Storage 서비스이며 Simple Storage Service의 약자입니다. 웹 서비스 기반의 인터페이스를 제공해주며 명령어 기방으로 데이터를 생성 수정 삭제가 가능합니다. 무제한 용량을 제공해주며 사용한 만큼 과금이 발생합니다.
S3 Bucket은 Object를 저장하는 컨테이너라고 생각하면 됩니다. Bucket 안에 저장할 수 있는 Object는 무제한입니다.
가용성이란 서비스 가용성이라도 표현하고 애플리케이션이 사용 가능한 시간의 비율을 나타낸 것입니다.
고가용성은 높은 가용성으로 지속적으로 구현한 시스템이 정상적으로 운영이 되도록 해주는 것을 고가용성이라고 합니다.
리전은 전 세계에서 데이터센터를 클러스터링하는 물리적 위치를 리전(Region)이라고 합니다. 어떤 지역으로 서비스하냐에 따라 그 지역에 가까운 리전을 고르면 됩니다. 리전 내 물리적으로 분리된 전력 네트워킹 장치가 있습니다 이거를 Availavility Zone이라고 합니다.
서버에 가중되는트래픽을 분산해주는 장비를 로드밸런싱이라 하고 AWS에서는 ELB를 제공해줍니다. Region 내 인스턴스 및 다양한 서비스로 트래픽을 분산 시켜줍니다. 다수의 Availability Zone으로 트래픽을 분산시켜줍니다.
Scale-Out은 트래픽 증가시 서비스에 투입되는 서버를 증설하여 각 서버가 처리하는 부하를 낮추는 방식입니다. Web based 서비스의 경우 많이 사용되는 방법으로 Data 처리 없이 Stateless한 서버에서 주로 사용됩니다. 반대의 의미로는 Scale-in이 있습니다. 트래픽 감소 시, 배포된 서버를 제거하는 방식으로 낭비되는 리소스를 줄임으로써 비용 최적화를 진행합니다.
Auto Scaling Grop은 말 그대로 Scaling을 자동으로 설정해주는 것입니다. Launch Template에서 AMI, Instance Type등 Instance에 대한 정의를 해주고 자동설정 정책을 어떻게 설정할 지에 대해 설정을 해주어 Scaling을 자동으로 설계되도록 합니다.
구성단계는 클라우딩 컴퓨터 사이에 Auto Scaling Grop을 삽입해두면 자동확장 혹은 자동축소가 진행됩니다. 만약 Instance가 과부화가 된다면 자동으로 Instance를 확장해줍니다.
오늘은 3일간 휴식한 후에 오랜만에 다시 이론수업을 진행했습니다. AWS의 기본적인 정의와 사용해보는 실습 시간을 가졌습니다.
※공부하고 있어 다소 틀린점이 있을 수 있습니다. 언제든지 말해주시면 수정하도록 하겠습니다.
※용어에 대해 조금 공부 더 해서 수정하겠습니다.