클라우드 컴퓨팅 & NoSQL/Amazon Web Service 27

Auto scaling out

클라우드 컴퓨팅 서비스에서 서비스의 부하량과 사용량에 맞게 탄력적으로 컴퓨팅 자원을 늘렸다가 줄였다 하는 auto scaling 기능은 기존의 인프라가 가지지 못한 큰 장점 중의 하나이다. 아마존 클라우드 서비스는 이 auto scaling 기능을 서비스로 제공하고 있다. Auto scaling의 기본 개념 아마존에서 제공하는 auto scaling의 기본 개념은 다음과 같다. 여러 개의 EC 인스턴스들을 auto scaling group이라는 하나의 그룹으로 묶어 놓는다. 그리고 각 인스턴스들은 ELB 로드 밸런서를 통해서 로드가 분산된다. 이 그룹을 Cloud Watch라는 아마존의 클라우드 모니터링 솔루션을 통해서 자동으로 감지하게 되는데, 사용자가 정의 해놓은 일정한 조건 (예를 들어 평균 CPU..

Amazon의 CDN 서비스 Cloud Front

Cloud Front조대협Cloud Front는 CDN (Contents Delivery Network) 서비스 이다. 이미지나 동영상 같은 정적인 컨텐츠들을 서비스하는데, 서버가 있는 데이타 센터에서 서비스를 하게 되면, 네트워크 latency 때문에 성능이 저하가 되기 때문에, 전세계의 여러 개의 데이타 센터에 서버(이를 edge node 또는 edge server라고 함) 를 넣고, 클라이언트와 가까운 데이타 센터로 부터 컨텐츠를 제공하는 서비스 이다.얼마나 많은 지역별 데이타 센터에 edge node를 설치하고 서비스를 제공하느냐, 각 edge node의 네트워크 대역폭이나 용량은 충분하느냐가 서비스의 품질을 결정하는데, 세계적으로 Akamai와 Limelight 등의 업체가 유명하다.아마존의 경..

Amazon Route 53 DNS 서비스

Amazon Route 53 DNS 서비스조대협Route53은 아마존에서 제공하는 DNS 서비스 이다. 일반 DNS와 다르게 몇 가지 아마존에 특성화된 몇 가지 기능을 가지고 있는데, 특화 기능에 앞서서 DNS 의 일반 개념을 먼저 정리해 보자.DNS는 domain name (www.example.com)을 ip 주소로 바꿔 주는 일종의 dictionary 서비스 이다.이러한 맵핑 정보를 저장해 놓는 파일을 DNS Zone file이라고 한다. 이 서비스는 DNS 서버에 저장해놓은 파일을 기반으로 주소를 변환하는데, 여기에 정의되는 레코드들 중에서 대표적은 레코드는 다음과 같다. ① SOA 레코드 : 해당 DNS 서버 자체의 설정 정보를 정의 한다.Ÿ DNS 서버는 Primary/Secondary 구조로..

Amazon Elastic Load Balancer

Elastic Load Balancer 조대협ELB는 아마존에서 제공하는 일종의 L4와 같은 로드 밸런서이다. 내부적으로 VM위에서 동작하는 소프트웨어 로드밸런서이고, 아마존 환경에 맞춰서 최적화 되어 있다. Multiple zone supportELB는 기본적으로 multiple zone을 지원한다. ELB 생성시, ELB를 배포할 Amazon Availability Zone을 지정할 수 있다. 여러 개의 zone에 multiple ELB instance가 배포 되기 때문에 ELB 인스턴스는 기본적으로 ip 주소를 가지지 않는다. 대신 DNS 주소를 가지는데, 테스트를 해보면 알겠지만, ELB의 DNS 주소는 경우에 따라서 1개 이상의 주소를 리턴하게 된다.이는 multiple zone을 지원하기 위해..

Amazon Direct connect

AWS Direct Connect Memo 1G,10G 지원. 802.1Q를 이용하여 AWS 주요 거점과 VLAN으로 전용망으로 연결. VPC 간의 연결에도 유용하게 사용할 수 있음.주요 거점과 VLAN 연결이 어려운 경우 APN 사업자망을 통해서 VLAN 연결이 가능함 Direct Connect가 VPN보다 빠르다탄력성 – AWS Direct Connect를 사용하면 요구 사항에 맞게 연결 용량을 쉽게 확장할 수 있습니다. AWS Direct Connect는 1Gbps, 10Gbps로 연결하므로, 용량이 더 필요한 경우 쉽게 여러 개의 연결을 프로비저닝할 수 있습니다. 또한 인터넷을 통해 Amazon VPC에 대한 VPN 연결을 설정하는 대신 AWS Direct Connect를 사용하면 4Gbps 이상..

Amazon VPC (Virtual Private Cloud) 소개

Amazon VPC (Virtual Private Cloud)조대협 (http://bcho.tistory.com) VPC는 Virtual Private Cloud의 약자로 아마존 클라우드 내에서 private ip를 사용하는 일종의 가상 private network 망을 만들어줄 수 있게 해주는 서비스이다.이 서비스 전에는 EIP 이외에는 정적 서비스를 사용할 수 없었으며, 또한 10.0.x.x와 같은 private ip를 사용할 수 없었다. VPC 서비스와 함께, 내부 ip 대역을 사용할 수 있게 되었으며 조금 더 유연한 네트워크 관리가 가능하게 되었다. VPCVPC는 Amazon 콘솔에서 생성하면 되는데, VPC의 범위는 , 하나의 VPC는 하나의 Region내에서만 생성이 가능하다. 즉 VPC를 두..

아마존 S3 소개 (성능 향상)

Amazon S3 (Simple Storage Service)AWS S3 (Simple Stoage Service)는 파일을 저장하기 위한 스토리지이다. 일반적인 파일시스템의 개념과는 약간 다르고, 파일 이름을 대표하는 key와 파일 자체로 구분되는 Object Storage이다.용량 저장할 수 있는 파일의 크기는 개당 1byte~5TB이고, 총 저장 용량에는 제한이 없다. 디렉토리와 비슷한 개념으로, bucket이라는 개념을 가지고 있다. 기본적으로 3 copy를 지원하여, 데이타를 복제하고, 이 복제는 Amazon availability zone (AZ) 단위로 복제가 되기 때문에 데이타 센터 장애에 대한 대응성을 가지고 있다. 단 region 간 복제는 지원하지 않는다. 복제에 관련된 옵션으로는 R..

Amazon 클라우드에서 S3 Read/Write 성능 높이는 방법 - 같은 Region 사용하기

매우 기본적인 부분인데, 함정(?)이 있어서 메모해놓습니다. aws에서는 S3 버킷을 만들때 위와 같이 Region을 정할 수 있습니다.그런데 US Standard라는 Region이 있는데, 이는 실제 존재하는 region이 아닙니다. Oregon이나 Ireland와 같이 실제 S3가 배포될 region을 명시적으로 정하는 것이 좋습니다. (특히 미국의 경우..)EC2를 US West Oregon에서 사용하실거면, 반드시 S3도 같은 Region에 생성을 해야 속도가 빠릅니다. http://blog.takipi.com/2013/03/20/aws-olypmics-speed-testing-amazon-ec2-s3-across-regions/ 문서를 보면 region가 S3 속도가 나옵니다.

Amazon 클라우드에서 S3 Read/Write 성능 높이는 방법-Partitioning

원본 : http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html 아마존 S3를 이용하는 시스템에 대한 성능 테스트를 할때, 성능이 Leanear 하게 증가하지 않는데, 그 원인을 보면 다음과 같은 원리가 작용한다. 원인 분석S3는 내부적으로 여러개의 파일을 저정하기 위해서 물리적으로 파일을 여러개의 디스크에 분할 저장하는데, 이 분할 하는 로직을 파일명을 가지고 해쉬를 사용한다. 그래서 파일명이 유사하게 되면, 같은 파티션(디스크)에 파일이 써지기 때문에, 하나의 파티션에 많은 물리적인 IO를 유발하고 결과적으로 성능이 떨어지게 되는 것이다. 원리S3는 파일명을 가지고 hashing을 하여 ..

Amazon의 설치 배포 자동화 솔루션 Opsworks

Amazon Opsworks 소개 시스템에 설치와, 애플리케이션을 자동화 배경 얼마전에, Amazon에서 새로운 클라우드 서비스인 Opsworks를 발표하였다. [출처:Amazon Opsworks 소개 페이지] 비단 클라우드 뿐만 아니라, 서버 시스템을 개발하다보면, 당면 하는 과제중의 하나가, 소프트웨어 설치와, 애플리케이션의 배포이다. 예전에야 큰 서버 한대에, WAS 하나 설치하고, DB를 다른 서버에 설치해서 사용했지만, 요즘 같은 시대에는 x86 서버 여러대에 WAS를 분산 배치하고, 여러 솔루션들 설치해서 사용하고, 시스템의 구조 역시 훨씬 더 복잡해 졌다. 그래서, 이러한 제품 설치를 자동화 하는 영역이 생겼는데, 이를 Configuration Management(이하 CM)이라고 한다. 이..