AWS 스토리지 추가기능
2023. 5. 30. 22:08
TIL/AWS
AWS Snow Family 보안성이 뛰어난 휴대용 장치의 모음 두 가지 경우 사용 엣지에서 데이터를 수집하고 처리하기 위해 사용 Snowcone, Snowball Edge AWS 안팎으로 데이터를 마이그레이션 할 때 Snowcone, Snowball Edge, Snowmobile Snow 사용 사례 - 데이터 마이그레이션 네트워크를 통해서 많은 데이터를 전송하려면 오랜 시간이 걸림 100TB 데이터를 1Gbps로 전송하는 경우 12일이나 걸린다 빠르게 AWS에 접속해야할 때가 있는데 이런 경우 전송 가능한 데이터의 양이 적다는 것과 제한된 연결 제한된 대역폭 등 네트워크를 통한 데이터 전송 비용이 발생 대역폭 공유, 연결 불안정성 등 문제가 발생할 수 있음 이런 이유들 때문에 Snow Family가 사..
AWS CloudFront
2023. 5. 30. 22:01
TIL/AWS
CloudFront Content Delivery Network (CDN) → CDN을 본다면 CloudFront라고 생각하면 된다 서로 다른 엣지 로케이션에 미리 캐싱하여 읽기 성능을 높이는 것 우리의 컨텐츠가 네트워크 전체에 캐싱되므로 적은 지연시간으로 UX 향상 전세계 216개의 엣지 로케이션으로 구성됨 → 지속적으로 추가 중이다 컨텐츠가 전체적으로 분산되어 있어 DDOS에 대해 보호받을 수 있다 호주에 S3 버킷에 웹사이트를 만들었다 하더라도 CloudFront를 이용해 엣지에 컨텐츠를 요청하여 캐싱됐는지 확인하고 없다면 캐싱 있다면 가져옴 CloudFront의 원본 제공 방식 S3 bucket CloudFront를 활용해 파일 분산, 캐싱 버킷에는 CloudFront만 접근할 수 있도록 보장할 ..
AWS S3 보안
2023. 5. 29. 22:33
TIL/AWS
객체 암호화 4가지 방법이 있다 SSE(서버사이드 암호화) Amazon S3 관리형 키를 사용 → SSE-S3 KMS 키를 사용해서 암호화 키를 관리하는 → SSE-KMS 고객이 제공하는 키 → SSE-C 클라이언트 암호화 클라이언트에서 암호화해서 업로드 어느 것이 어떤 상황에 해당하는지 이해해야한다 S3 SSE-S3 AWS에서 처리, 관리 및 소유하는 키로 암호화를 진행 사용자는 접근 불가 AWS에 의해 서버측에서 암호화 AES-256 방식 헤더를 "x-amz-server-side-encryption": "AES256"로 설정해서 SSE-S3 매커니즘으로 객체를 암호화하도록 S3에 요청해야한다 SSE-KMS AWS에서 소유하는 키에 의존하는 대신 KMS(Key Management Service)로 자신..
고급 Amazon S3
2023. 5. 28. 14:50
TIL/AWS
스토리지 클래스간 데이터 이동 스토리지 클래스 간에 객체를 이동시킬 수 있다 자신보다 아래있는 계층으로 이동할 수 있다 수동으로 옮기거나 라이프사이클을 활용하여 자동으로 옮길 수 있다 각 클래스가 무슨 역할을 하는지 이해하면 됨 Lifecycle Rules Transition Actions(전환 작업) - 다른 스토리지 클래스로 객체를 전환하도록 구성 60일 후에 Standard IA로 옮기도록 설정 등 Expiration Actions(만료 작업) - 일정 시간이 지나면 객체가 삭제 또는 만료되도록 설정 365일 후에 로그 파일을 삭제 한달 후 이전 버전의 파일을 삭제 완료되지 않은 멀티파트 업로드 부분을 삭제 특정 접두사를 사용해 Rules를 전체 혹은 일부 경로에만 적용할 수 있고 특정 객체 태그에..
Amazon S3
2023. 5. 28. 09:07
TIL/AWS
Amazon S3 S3는 AWS의 주요 구성 중 하나이며 무한하게 확장할 수 있는 스토리지라고 설명한다 많은 웹이 S3를 활용하고 있으며 많은 AWS 서비스 자체도 아마존 S3를 통합을 위해 사용한다 S3 use cases 백업과 스토리지로 사용 재해 복구의 용도 아카이브용 -> 추후 매우 손쉽게 검색 하이브리드 클라우드 스토리지 동영상 파일이나 이미지등 미디어 호스트 대규모 데이터 분석 소프트웨어 배포 정적 웹사이트 호스팅(나스닥은 7년간 데이터를 S3의 저장) S3 - buckets S3는 파일을 버킷에 저장하는데 버킷은 상위 레벨 디렉토리로 표시됨 S3 버킷의 파일은 객체라고하며 버킷은 모든 계정, 리전을 포함하여 고유한 이름을 가져야 한다 버킷은 리전 레벨에서 정의됨 전역 서비스처럼 보이지만 리전..
애플리케이션을 빠르게 인스턴스화 & Elastic Beanstalk
2023. 5. 27. 11:04
TIL/AWS
클라우드 방식을 통해 애플리케이션을 빠르게 인스턴스화 EC2 인스턴스를 빠르게 구성하고 쉽게 배포할 수 있어야 한다 Golden AMI 애플리케이션과 OS 종속성등 모든 것을 사전에 생성하고 AMI를 만듬 이후 AMI를 통해 실행 User data를 통한 Bootstraping 매우 느리고 다른 EC2 인스턴스가 했던 일들을 반복함 Hybrid - Elastic Beanstalk Golden AMI와 User 데이터 혼합 RDS 스냅샷을 통해 복원되고 데이터베이스에 스키마, 데이터가 준비되어있다 EBS 스냅샷을 통해 복구되고 디스크는 미리 포맷되어있고 데이터를 가지고 있다 Elastic Beanstalk 개발자는 배포할 수 많은 애플리케이션이 있고 이를 매번 다시 설치하고 구성 작업을하는 것은 힘들다 다..
AWS Route 53
2023. 5. 25. 15:06
TIL/AWS
Route 53 고가용성 확장성을 갖춘, 완전히 관리할 수 있고 권한있는 DNS 서비스 권한이 있다는 말은 DNS를 완전히 제어할 수 있다는 뜻 도메인 Registrar로 도메인이름을 등록 가능 리소스 관련 상태 확인 가능 100% SLA 가용성을 제공하는 유일한 AWS 서비스 53은 DNS 서비스에서 사용하는 전통적인 포트 Records 레코드를 통해 특정 도메인으로 라우팅하는 방법을 정의 각 레코드는 도메인과 서브 도메인 정보를 가짐 레코드 타입: e.g. A or AAAA … 레코드 값: e.g., 123.456.789.123 라우팅 정책: Route53이 쿼리에 응답하는 방식 TTL: DNS Resolver에 레코드가 캐싱되는 시간 지원하는 레코드 타입 A, AAAA, CNAME, NS (adva..
Route 53을 이해하기 위한 DNS의 개념
2023. 5. 25. 15:01
TIL/AWS
DNS란 Nomain Name System → 호스트 이름을 IP주소로 바꿔준다 인터넷의 중추로 URL과 호스트이름을 IP로 변경 계층적 이름 구조가 있다 .com / example.com / www.example.com / api.example.com 도메인 관련 용어 Domain Register: 도메인 이름을 등록하는 곳 DNS Records: A, AAAA, CNAME, NS Zone File: 모든 DNS 레코들르 포함 호스트 이름과 IP주소를 일치 Name Server: DNS 쿼리를 실제로 해결하는 서버 Top Level Domain: .com… Second Level Domin: amazon.com, google.com… DNS가 동작하는 방법 Local DNS Server에 저장된 도메인..
Amazon ElastiCache
2023. 5. 24. 22:41
TIL/AWS
Amazon ElastiCache RDS와 동일한 방식으로 관계형 DB를 관리할 수 있다 Redis, Memcached같은 캐시 기술을 관리할 수 있다 읽기 집약적인 워크로드의 부하를 줄이는데 도움이 된다 RDS와 유사하기 떄문에 AWS가 RDS와 비슷하게 관리한다 엘라스틱 캐시를 사용할 때 에플리케이션에 관해 몇 가지 어려운 코드 변경을 요청할수도 있다 캐시를 쿼리하도록 변경해야함 Amazon ElastiCache를 사용하기 위한 아키텍쳐 DB Cache 애플리케이션은 일래스틱 캐시로 쿼리한다 → 이미 생성되어 저장됐는지 확인하고 저장됐다면 엘라스틱 캐시에 있는 데이터를 가져옴 ( Cache hit ) 없다면 RDS에서 데이터를 가져온다 (Cache miss ) 이후 다시 캐시에 기록 RDS의 부담을 ..
Amazon RDS Proxy
2023. 5. 24. 22:40
TIL/AWS
Amazon RDS Proxy RDS를 위한 완전 관리형 데이터베이스 프록시도 만들 수 있다 프록시를 사용하면 애플리케이션이 db내에서 연결 풀을 만들어 공유할 수 있다 애플리케이션을 RDS 데이터베이스에 일일히 연결하는 대신 프록시에 연결하면 프록시가 하나의 풀에 모아 RDS 데이터베이스 인스턴스로 가는 연결을 최소화하여 부담을 줄인다 애플리케이션 코드 수정이 필요 없고 RDS 프록시에 연결해놓기만 하면 된다 완전한 서버리스 기능이며 오토스케일링과 다중 AZ , 높은 가용성 장애 조치가 발생하면 대기 인스턴스로 실행되며 프록시 때문에 장애 조치 시간을 66%까지 줄일 수 있다 메인 RDS 인스턴스에 모든 애플리케이션을 연결하고 장애 조치를 각자 처리하게 하는 대신 장애와 무관한 RDS 프록시에 연결한다..