Amazon S3에는 데이터가 버킷 내에 객체로 저장.
버킷과 버킷 내 객체에 대한 엑세스를 제어할 수 있다.
ex) https://my-bucket.s3.amazonaws.com/2024-07-04/cat.png
(버킷, 접두부, 객체 키)
기본적으로 Amazon S3 리소스들은 프라이빗으로 설정되어 리소스 소유자만 리소스에 접근 가능. 퍼블릭 엑세스 차단 기능이 포함되어 있어서 고객 데이터 노출을 방지하기 위한 보호 계층 역할을 한다.
Amazon S3 엑세스 포인트를 활용하면 Amazon S3의 공유 데이터 집합에서 데이터 엑세스를 대규모로 관리할 수 있다. GetObject, PutObject 등의 S3 객체 작업을 수행하는 데 사용할 수 있는 명명된 네트워크 엔드포인트이다.
Amazon S3 멀티파트 업로드 : 이를 이용하면 대용량 객체를 관리 가능한 파트로 분할하여 일관되게 업로드 할 수 있다. 이는 업로드 시작/ 객체 파트 업로드/ 멀티파트 업로드 완료 총 세가지 단계를 수행한다. 멀티파트 업로드의 장점은 다음과 같다.
Amazon S3 Transfer Acceleration : S3 버킷으로 데이터를 빠르고 쉽게 전송할 수 있다. 전 세계 고객이 중앙 버킷에 데이터를 업로드할 수 있다.
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
관계형 데이터베이스 : 열과 행으로 이루어진 테이블 집합으로 구성되며, 스키마가 고정이다.
ex) Amazon RDS, Aurora
비관계형 데이터베이스 : 키, 값, 와이드 컬럼, 그래프, 문서 또는 기타 모델이며, 스키마가 동적이다.
ex)DynamoDB, ElastiCache
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Aurora
목표
(퍼블릭 서브네에 ALB를 생성 -> 브라우저에서 애플리케이션에 엑세스한다.)
+로드 밸런서는 클라이언트에 대한 단일 접점 역할을 수행합니다. 클라이언트는 로드 밸런서에 요청을 전송하고, 로드 밸런서는 EC2 인스턴스와 같은 대상에 요청을 전송한다. 로드 밸런서를 구성하려면 대상 그룹을 생성한 다음 대상 그룹에 대상을 등록한다.
대상 그룹 생성
ALB 생성
콘솔을 통해 Amazon RDS DB 인스턴스 메타데이터 검토하기
데이터베이스 연결하기,
Endpoint : Databases 탭에서 이름이 aurora인 클러스터 링크를 선택해
Connectivity & security 탭에서 writer 인스턴스의 Endpoint name 값을 복사.
모니터링을 하는 이유 :
Amazon CloudWatch : 실시간에 가까운 시스템 이벤트 스트림을 제공하는 AWS 서비스. AWS 관리 콘솔을 사용하여 게시한 지표의 통계 그래프를 확인할 수 있다.
로그 유형
Amazon CloudWatch Logs : 로그 데이터, 저장소 및 엑세스 로그 파일을 사용하여 앱을 모니터링 한다.
AWS CloudTail : 사용자 활동 및 API 사용량을 추적합니다. 이러한 이벤트 기록은 보안 분석, 리소스 변경 추적 및 문제 해결을 간소화한다.
VPC 흐름 로그 : VPC의 네트워크 인터페이스에서 송수신되는 IP 트래픽에 대한 정보가 캡처된다.
로드밸런싱 : 로드밸런서로 전송된 요청의 상세 정보를 캡처하는 엑세스 로그를 제공한다.
로드 밸런싱
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
코드형 인프라(IaC) : Iac를 사용하면 AWS의 리소스를 간편하게 배포할 수 있다.
빠른 속도와 높은 안정성, 재사용성, 문서 및 버전 제어, 유효성 검사가 가능하다.
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
인프라를 코드형으로 구축하는 경우, 환경을 구축하면서 반복성과 재사용성의 이점을 활용할 수 있다.
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
이 기능을 사용하면 리소스를 일관된 방식으로 더 간편하게 유지 관리할 수 있으며, 작업을 병렬 처리할 수 있다.
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudFormation은 이러한 API를 사용한다. AWS관리 콘솔에서와 같이, CloudFormation 템플릿에서 정의하는 리소스가 AWS 서비스로 전송되는 API 호출로 변환된다.
인프라 관리 도구
© 2023 Amazon Web Services, Inc. or its affiliates. All rights reserved
목표
+Auto Scaling 그룹을 생성하려면 먼저 AMI의 ID 및 인스턴스 유형 등 EC2 인스턴스를 시작하는 데 필요한 파라미터가 포함된 시작 템플릿을 생성해야 한다.
유저 데이터의 경우, ec2 인스턴스의 Instance Settings/Edit user data 페이지에서 복사하여 사용.
(프라이빗 서브넷에 EC2 인스턴스를 배포하는 Auto Scaling 그룹을 생성. 프라이빗 서브넷의 인스턴스는 인터넷에 엑세스 x, 애플리케이션을 배포할 떄는 밑이 모범사례)
Auto Scaling 그룹 생성
EC2 인스턴스의 Desired capacity, Min desired capacity, Max desired capacity의 값을 2개로 설정하여 항상 2개의 인스턴스를 유지.
인스턴스 ID와 가용영역 확인
인스턴스 하나를 Terminate 한 후, 장애복구 되는지 테스트
장애 복구 확인
Aurora 복제본을 생성하여 데이터베이스의 고가용성을 높임
다른 가용 영역에 NAT 게이트웨이를 생성
새 라우팅 테이블 생성 및 구성
Private Subnet 2의 인터넷 바운드 트래픽을 동일한 가용 영역에 있는 NAT 게이트웨이로 보내도록 구성
데이터베이스를 failover하고 장애조치 되었는지 로그 확인.
이 게시글은 2024년 7월 1일부터 5일까지 진행하는
DSC 공유대학 AWS 클라우드 양성 캠프 프로그램에서 들은 수업 내용으로 작성하였습니다.