목록Cloud/aws (30)
외로운 Nova의 작업실
- Glacier Glacier는 데이터 보관 및 백업 전용 스토리지 서비스입니다. 요금이 매우 저렴하지만 보관된 파일을 꺼내려면 3~5시간 걸리는 특징이 있습니다. Glacier는 대용량 데이터 저장에만 특화된 서비스입니다. 사용 요금도 1GB당 0.01USB로 매우 저렴합니다. Glacier는 자주 사용하지않고 용량이 매우 큰 데이터를 저장하는 데 적합합니다. - 영상데이터 - 이메일 데이터 - 의료, 법무, 금융 및 재무 기록 - 연구 및 과학 데이터 - 오래된 디지털 콘텐츠 하지만 프리티어에서는 Glacier에 저장하는 건 무료가 아니기 때문에 간단히 정리만 하고 넘어가겠습니다. Glacier 클라이언트, JAVA SDK, .NET SDK를 통해서 데이터를 저장하고 꺼내올 수 있습니다. - 기본 ..
- VPC VPC는 Virtual Private Cloud로 가상 네트워크를 제공합니다. 사용자의 상황에 맞게 VPC를 생성해 여러가지 형태의 네트워크를 구성할 수 있습니다. AWS에 가입하면 이미 VPC가 한개 생성되어 있습니다. 우리는 이 VPC 안에서 EC2 인스턴스, RDS DB 인스턴스, ElastiCasche 캐시 클러스터 등을 생성하고 사용했씁니다. 기본적으로 제공하는 VPC 이외에도 용도에 따라 VPC를 추가할 수 있고, VPC 안에는 서브넷을 여러 개 추가할 수 있습니다. 서브넷을 여러개로 나누면 네트워크를 격리할 수 있고 이 서브넷 간에 접근제어를 설정할 수 있습니다. 예를 들면 인터넷에서 접근해야하는 웹서버는 공객 서브넷에 만들고, 외부에서 접근이 필요없는 데이터베이스 서버는 사설 서..
- Auto Scaling Auto Scaling은 트래픽이 늘어나면 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 기능입니다. Auto Scaling은 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다. Auto Scaling을 사용하면 서비스가 잘돼서 트래픽이 폭주할 때도 손쉽게 대처할 수 있습니다. 사용자가 많지 않을때는 EC2 인스턴스의 개수를 줄여 비용을 절감할 수 있습니다. 보통 Auto Scaling은 ELB와 함께 사용합니다. Auto Scaling은 생성한 EC2 인스턴스를 ELB 로드밸런서에 연결하고 ELB 로드 밸런서는 새로 생성된 EC2 인스턴스에 트래픽에 분산합니다. Auto Scaling은 CloudWatch와 연동하여 EC2 인스턴스의 CPU 사용률,..
- ELB Elastic Load Balancing은 부하 분산과 고가용성을 제공하는 서비스입니다. ELB는 고가의 L4/L7 장비를 구입하거나 소프트웨어로 서버를 구축하지 않아도 부하분산 기능을 사용할 수 있고, 고가용성 서비스를 구축할 수 있습니다. ELB는 한곳에 집중되는 HTTP, TCP, SSL 트래픽을 여러 EC2 인스턴스로 분산합니다. 그리고 서버가 정상적으로 가동중인지 확인(Health Check)하여 일부 EC2 인스턴스가 중단되더라도 트래픽을 정상 EC2 인스턴스로만 보냅니다. 이처럼 ELB로 부하를 분산하고 고가용성 서비스를 구축할 수 있습니다. ELB는 리전별로 생성해야하고 여러 가용 영역에서 실행되는 EC2 인스턴스로 부하를 분산시킬 수 있습니다. 따라서 EC2 인스턴스 한 두개가..
- Route 53 Route 53은 EC2, ELB, S3, CloudFront와 연동가능한 DNS 서비스입니다. Route 53은 AWS를 사용해 대규모 글로벌 서비스를 할때 유용합니다. AWS 리소스들과 연동할 수 있는 것과 더불어 글로벌 서비스에 꼭필요한 기능을 제공해줍니다. DNS 서비스는 도메인에 연결된 IP 주소를 알려줍니다. 보통 DNS서버는 도메인당 주소 한개만 설정할 수 있습니다. 그래서 DNS 서버에 쿼리를 하면 항상 같은 IP주소만 알려줍니다. Route 53은 일반적인 DNS 서버와 달리 Latency Based Routing, Weighted Round Robin, DNS Failover, Geo Routing 기능을 제공합니다. 가능들은 도메인하나를 쿼리하면 각 상황에따라 다른..
- IAM IAM은 Identity and Access Management의 약어로 사용자와 그룹을 생성하고 AWS의 각 리소스에 대해 접근 제어와 권한관리를 제공합니다. IAM 그룹과 사용자를 생성하여 어떤 IAM 사용자는 EC2만 관리할 수 있고 어떤 사용자는 S3만 관리할 수 있도록 구성할 수 있습니다. 따라서 전체 권한이 아닌 필요한 권한만 주기 때문에 보안성이 높아집니다. AWS 계정으로 AWS 콘솔페이지에 접속하듯이 IAM 사용자도 AWS 콘솔에 접속할 수 있습니다. 그리고 허용된 권한안에서 AWS 콘솔을 조작할 수 있습니다. IAM 계쩡은 액세스 키를 별도로 생성할 수 있고, 이 액세스 키를 이용해서 AWS API를사용할 수 있습니다. - IAM 역할 IAM 그룹과 사용자에게 권한을 설정하는..
- ElastiCache Elasticache는 분산 인 메모리를 손쉽게 생성하고 확장할 수 있는 서비스입니다. 인메모리 케시는 모든 데이터를 메모리에만 올려놓고 사용하는 데이터베이스의 일종입니다. ElastiCache를 사용해야하는 이유는 성능과 편의성, 분산 캐시 환경 구축에 필요한 비용을 절감하는데 있습니다. 읽기중심의 서비스를 제공하는 환경, 고속으로 데이터를 분석해야하는 환경에 적합합니다. 그리고 데이터베이스의 부하를 줄이고 대용량 분산 캐시 환경을 자체적으로 운영하기에는 부담이 있을때 유용합니다. 인메모리 캐시는 모든 데이터를 메모리에 올려 놓음으로써 메모리에만 저장되기 때문에 서버의 전원 공급이 중단되면 데이터는 소멸됩니다. 이를 방지하기 위해 데이터를 주기적으로 데이터를 백업하는 방법이 있..
- DynamoDB DynamoDB는 NoSQL 데이터베이스를 제공하는 서비스로 아마존에서 개발한 NoSQL 데이터베이스이며 사용자가 따로 설치 운영 확장 하지않아도 원할때 바로 사용할 수 있습니다. DynamoDB는 읽기와 쓰기가 매우 빈번하고 처리 속도가 빨라야하는 환경, 작은 용량의 데이터가 매우 많을때 고 가용성의 분산 데이터베이스를 자체적으로 운영하기에는 부담될 때 적합합니다. 따라서 모바일 게임과 소셜 네트워크같은 서비스에 유용합니다. 단, 관계형 데이터베이스가 아니기때문에 트랜젝션, 조인과 같은 복잡한 쿼리가 필요한 환경에는 적합하지않습니다. 관계형 데이터베이스에서는 테이블의 스키마를 정해놓고 데이터를 추가해야하지만 Nosql 데이터베이스는 스키마가 정해져있지 않습니다. 따라서 유연합니다. ..
- RDS RDS는 Relational Database Server로 관계형 데이터베이스를 손쉽게 생성하고 확장할 수 있는 서비스입니다. 원래 온프레미스에서는 고성능 대규모 DB를 운영하려면 DB 운영 인력이 필요합니다. 하지만 소규모 사업장의 경우 전문적인 DB 인력을 따로 두기 어렵습니다. 또한, 고성능의 서버가 여러대 필요하며 전 세계를 대상으로 하는 서비스를 준비할때는 세계 곳곳에 DB서버를 구축하고 장애에 대비해 이중화를 구성해야하지만 현실적으로 어려운 부분이 많습니다. 이러할때 RDS를 이용하면 클릭 몇번 만으로도 쉽게 DB인스턴스를 생성할 수 있고, 사용량이 늘어나면 스토리지 용량과 IOPS를 증가시켜 성능확장이 가능합니다. 또한 장애가 발생해도 Failover 기능을 통해 정상적인 서비스 ..
- CloudFront CloudFront는 전세계에 파일을 빠른 속도로 배포하는 CDN 서비스입니다. CloudFront를 이용해서 에지 로케이션에서 빠르게 파일을 다운로드 받게 할 수 있습니다. CloudFront에서 중요한 개념은 오리진입니다. CloudFront는 CDN 서비스이기때문에 항상 원본에서 파일을 복사해서 가져와야합니다. 이 파일을 가져오는 서버가 오리진입니다. CloudFront가 지원하는 오리진은 다음과 같습니다. S3 버킷 : 가장 기본적인 오리진입니다. EC2 인스턴스 : 웹서버를 구축하면 오리진으로 사용할 수 있습니다. ELB : ELB도 오리진으로 사용 가능합니다. AWS 이외의 웹서버 : 온프레미스환경에 구축해놓고 오리진으로 사용할 수 있습니다. - CloudFront 배포..