목록Cloud/aws (30)
외로운 Nova의 작업실
- Lambda 람다는 Fass 서비스입니다. 람다는 아래와 같은 동작을 수행합니다. 람다는 이벤트를 감지하여 아마존 리눅스 환경의 Micor VM을 띄우고 함수를 실행합니다. 그리고 결과를 처리합니다. 함수가 실행될때 필요한 환경이 있는데, 이것을 런타임이라고 합니다. 런타임은 어떤 언어로 작성하는지에 따라 다르며, 그 환경에 따라 성능 차이가 있습니다. 람다에는 하나의 큰 단점이 있는데, 이는 람다를 처음 시작하면 EC2인스턴스를 하나 만드는 것과 같이 Micro VM을 올리고 OS를 켜고 함수 실행환경을 구축하고 코드를 다운로드한다음 실행하여 느리다는 점입니다. 이를 Cold Start라고합니다. 이후 Micro VM이 유지되는 시간에 함수를 다시 실행하면 함수 실행환경만 구축하고 코드를 다운로드한..
- 글로벌 사진 사이트 글로벌 사진 사이트는 인스타그램같은 서비스를 떠올리면 이해하기 쉽습니다. 사용자가 사진을 올리면, 서버는 그 사진을 웹사이트에 맞게 조절해서 저장해놓고 그다음 클라이언트가 요청하면 이미지를 보내는 서비스입니다. 글로벌 사진 사이트를 구축하려면 어떻게 해야할까요? 사용할 AWS 리소스를 선택하기 전에 구축하려는 서비스의 요구사항을 먼저 파악해보겠습니다. - 요구사항 대용량의 이미지 파일을 저장해야합니다 전 세계 어디서나 사이트 및 이미지를 보여주는 속도가 빨라야합니다. 원본 사진의 크기를 웹사이트에 맞게 조절해야합니다.(요즘 사진들은 해상도가 높기떄문) 사용자가 늘어났을때 대비할 수 있어야합니다. 이제 요구사항에 맞게 사용할 AWS 리소스와 서비스 구조를 설계해보겠습니다. 대용량 이..
- 개요 AWS의 가장 큰 장점은 모든 기능을 API로 제어할 수 있다는 것입니다. AWS API를 사용하는 방식은 크게 세가지가 있습니다. SDK : 프로그래밍 언어의 라이브러리 형태로 제공되는 SDK를 이용하는 방식입니다. IDE 도구 키트 : 개발 툴에 AWS 제어 기능을 플러그인 또는 확장 프로그램 형태로 설치할 수 있습니다. CLI : 윈도우 명령 프롬프트, 리눅스 터미널로 사용할 수 있는 명령행 도구입니다. - EC2 //현재 실행중인 인스턴스 id 출력 aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[*].Instances[*].InstanceId' --output..
- Elastic Transcoder Elastic Transcoder는 동영상을 PC, 스마트폰, 태블릿용으로 변환해주는 서비스입니다. 일반 PC에서 동영상을 변환하려면 시간이 꽤 걸립니다. 특히나 PC,스마트폰, 태블릿에 맞는 여러가지 해상도와 포맷으로 변환하려면 그만큼 시간은 더 걸립니다. Elastic Transcoder를 사용하면 동영상을 PC에서 변환하는 것보다 빠르게 변환할 수 있습니다. 또한 주요 장치에 최적화된 설정을 제공하기 때문에 변환 설정에 대해 신경쓰지않아도 됩니다. - Elastic Transcoder 기본 개념 변환 : 이미 압축된 영상을 다른 포맷이나 해상도로 변환하는 작업입니다. 파이프라인 : 동영상을 변환하는 작업관리자입니다. 파이프라인 하나에서 동영상 여러개를 변환할 수..
- SQS Simple Queue Service는 서버들끼리 사용할 수 있는 메시지 큐를 제공하는 서비스입니다. 서비스가 점점 커질수록 서버 한대로는 처리가 힘들어집니다. 자연스럽게 각 기능들을 여러 서버에서 처리하게됩니다. 하지만 서버들끼리 주고받는 메시지를 잃어버리지 않고 정확하게 처리하는 것은 매우 까다로운 기술입니다. SQS는 서버들끼리 주고받는 메시지를 정확하게 처리해줍니다. 이런시스템을 개인이나 벤처기업 또는 스타트업과 같은 소규모 사업장에서 구현 및 구축하는 것은 상당한 노력과 시간, 비용이 소모됩니다. 얼핏 보면 AWS에서 가장 먼저 생긴 리소스는 EC2일것 같은데 SQS가 가장 먼저 생겼습니다 AWS는 태생적으로 모든 리소스가 아마존닷컴을 위해 개발되었는데 그중 SQS의 메시지 큐는 대형..
- SNS Simple Notification Service는 iPhon, iPad, Android, Kindle Fire와 같은 모바일 장치에 푸시 알림을 보낼 수 있는 서비스입니다. 또한 이메일과 SMS 문자메시지 SQS 큐 메시지도 보낼 수 있습니다. 모바일 장치에 푸시 알림을 보내려면 서버를 구축하고 APNS(Apple Push Notification Service), GCM(Google Cloud Messaging), ADM(Amazon Device Messaging)에 각각 전송 요청을 해야합니다. SNS를 사용하면 푸시 알림 요청 한 번으로 동시에 Apple Ios, Google Android, Amazon Kindle Fire로 푸시알림을 보낼 수 있습니다. 따라서 APNS, GCM, AD..
- CloudSearch CloudSearch는 대용량 데이터를 빠르게 검색할 수 있도록 검색 엔진을 제공해주는 서비스입니다. 대용량의 데이터를 처리 시간 없이 빠르게 검색하는 시스템을 구축하려면 데이터베이스 및 검색 전문가가 필요하고 많은 시간과 비용이 소모됩니다. CloudSearch는 많은 서버와 검색 시스템을 구축하지 않아도 클릭 몇번 만으로 고성능 검색 엔진을 사용할 수 있습니다. 벤처기업 및 스타트업과 같은 작은 조직에서 유용합니다. 그리고 규모가 큰 대기업에서도 비용을 절감할 수 있습니다. CloudSearch에는 DynamoDB, RDS, S3를 이용하여 데이터를 올릴 수 있고, 데이터 형식은 PDF, MS 오피스, HTML, JSON, XML, CSV를 지원합니다. CloudSearch는..
- OpsWorks OpsWorks는 모든 형태의 애플리케이션 구성과 배포를 자동화해주는 서비스입니다. 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다. OpsWorks는 Elastic Beanstalk보다 좀 더 자유도가 높습니다. Elastic Beanstalk는 미리 제공되는 애플리케이션 플랫폼만 사용할 수 있지만 OpsWorks는 Chef를 이용하여 애플리케이션이든 구성과 배포를 자유롭게 할 수 있습니다. CloudFormation으로 모든 부분을 구현하기는 부담스럽고, Elastic Beanstalk보다는 좀 더 세세한 설정을 하고싶은 사용자에게 적합합니다. 기본저그올 제공되는 Chef 레시피외에도 인터넷에 공개된 Chef 레시피를 이용하면 PostgreSQL, Varni..
- Elastic Beanstalk Elastic Beanstalk는 Node.js, PHP, Python, Ruby, .NET 애플리케이션을 실행하고 배포할 수 있는 플랫폼을 제공하는 서비스입니다. Elastic Beanstalk는 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다. Elastic Beanstalk는 Cloud Formation으로 구현되어있으면 CLoudFormation의 하위개념입니다. Elastic Beanstalk는 복잡한 CloudFormation 템플릿을 작성하지 않고 간단하게 사용할 수 있도록 만든 서비스입니다. Elastic Benastalk에서 Beanstalk는 콩나무 줄기를 뜻합니다. 잭과 콩나무라는 동화를 보면 하룻밤사이에 콩나무가 하늘까지 자..
- CloudFormation CloudFormation은 미리 만든 템플릿을 이용하여 AWS 리소스 생성과 배포를 자동화합니다. CloudFormation은 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 ㅇ벗습니다. EC2인스턴스 1000개를 생성하고 웹서버를 설치한 뒤 소스코드를 복사하여 각각 웹서비스를 시작해야한다면 어떻게 해야될까요? AMI 이미지를 만들어 놓고 EC2 인스턴스를 1000개 생성하면됩니다. 하지만, 소스 코드가 바뀔때마다 AMI 이미지를 만들어야합니다. 그리고 EC2 인스턴스 뿐만아니라 EBS 볼륨과 S3 버킷, RDS 인스턴스, ELB 로드 밸런서를 함께 생성해야한다면 AMI로는 불가능합니다. 서비스에 필요한 EC2, EBS, S3, RDS를 미리 구성한대로 자동..