본문 바로가기

학원

2023/08/31 AWS




데이터 마이그레이션 도구


어떻게 하면 비교적 짧은 시간 내에 대량의 데이터를 클라우드로 옮길 수 있을까?
해서 나온 것


 

데이터 마이그레이션 도구


 

 

마이그레이션 도구 중 Storage Gateway


 

Storage Gateway 유형


 

 

DataSync


 

 

Snow 패밀리 서비스 모델






모듈 6 : 데이터베이스 서비스


데이터를 효율적으로 처리해주는 시스템


 

데이터베이스 서비스 비교
보통은 쓰던 것 쓰지만 요즘은 대체할 것이 많이 나왔다.

 

 

 

관계형 데이터베이스, 비관계형 데이터베이스
관계형 DB는 수평확장이 안된다. 수평적 확장시 형태가 깨진다.
비관계형 DB는 오픈소스이더. 단점은 지원이 없다 문제가 생기면 직접 해야함
요즘은 관계형 데이터베이스를 고집하지않음.


 

관리형 서비스와 비관리형 서비스


 

Amazon RDS 기능
데이터 베이스 엔진 


 

 

다중 AZ 배포


 

 

쓰기는 절대로 분산시키면 안된다.
읽기는 분산시켜도 된다.



 

 

저장 데이터 암호화


 

 

DB의 관리형서비스 중 하나인 Amazon Aurora


 

 

Aurora DB 클러스터

Aurora로 읽기전용복제본(Replica) 복제시 빠르다(호환성이 높다)
멀티 AZ 배포가 없는 대신 읽기전용복제본(Replica) 이용

다른 DB엔진들은 읽기전용복제본(Replica) 사용 시 실시간으로 확장 축소 불가(만들어놓고 사용해야 함)



 

비관계형, 완전관리형 데이터 서비스 DynamoDB
관리해줄것이 없기 때문에 완전관리형이고 관리할 서버가 없기 때문에 서버리스이다.
갤럭시에 빅스비도 DynamoDB를 사용한다.


 

DynamoDB 테이블
테이블 이름이랑 키만 지정해줘도 테이블이 만들어진다. 다른 테이블은 사용할 때 만들어도 된다.


 

 

이런 DynamoDB는 타이틀 페이지를 확인할 때도 사용하고
그리고 전자상거래 애플리케이션에서도 많이 사용한다. 장바구니기능, 관심물품기능
비관계형 데이터는 읽기요청보다 쓰기요청이 많을 때 훨씬 좋다.


 

 

DYnamoDB 용량 및 크기 조정
요즘은 그냥 온디맨드를 선택한다.
비용 때문에 용량을 딱 저장해두고 사용한다.
Dynamo On-demand가 가장 효율적이다.


 

 

DynamoDB 글로벌 테이블
DynamoDB는 리전을 통해서 만든다.
글로벌 테이블은 서로 다른리전에 있는 리전이 동기화가 가능하다.

DynamoDB는 월요일 화요일에 했던 과목에서 실습 3으로 가면 된다.



 

데이터베이스 캐싱
데이터베이스의 성능을 높이기 위한 방법


 

 

캐시를 해야하는 목록


 

 

캐싱 아키텍처

 

 

일반적인 캐싱 전략 - 레이지 로딩
내가 읽어서 사용한 데이터니까 조만간 다시 사용할 가능성이 있으니 캐싱해주는 느낌


 

 

이것에 문제가 있다면 데이터가 업데이트가 되었으면 원래 있던 데이터랑 달라진다. 그렇기 때문에 라이트 스루라는 전략도 사용한다.
최근에 만들어진 데이터는 또 사용할 가능성이 높다.
단점으로는 사용이 안되는 데이터는 정리를 해줘야함


 

 

캐시 관리


 

 

Amazon ElasitiCache는 캐시환경을 원할하게 설정, 관리 및 확장할 수 있는 웹서비스이다.


 

 

DynamoDB는 응답시간이 밀리초 단위로 측정되지만 더 빠른 환경이 필요하다면 DAX를 사용하면 된다.


 

 

데이터 마이그레이션 도구


 

 

Database Migration Service는 데이터베이스 이전작업을 도와주는 서비스이다.


 

 

그리고 스키마를 바꾸고싶다면 Schema Conversion Tool을 사용한다. 
물론 두개 다 100퍼센트 완벽하게 옮겨지는건 아니기 때문에 확인을 꼭 해줘야한다.

 






[ 실습 ]


1. Amazon RDS 데이터베이스 생성

 

 

 

RDS를 선택해주고 왼쪽에서 Databases를 선택해주고 Create database를 선택한다.


 

 

이런식으로 설정해주고 Create database를 선택해준다.


 

 

조금 기다리다가 이런식으로 상단에 표시되면 된것이다.

! 이러면 Amazon RDS 데이터베이스를 생성했다.

 




2.Application Load Balancer 생성 및 구성

2.1대상 그룹 생성

 

 

EC2를 검색하고 왼쪽 탐색 창에서 Load Balancing을 눌러주고 Target Groups를 선택하고 Create target group을 해준다.
 

 

 

이런식으로 설정해주고 Next로 넘어간다.


 

 

넘어온 페이지에서 이렇게 설정해주고 Create target group을 해줌


 

 

이렇게 상단에 표시된다.

 



2.2 APPLICATION LOAD BALANCER 생성


 

 

Load Balancing을 눌러주고 Load Balancers를 선택하고 Create load balancer을 선택한다.


 

 

Load balancer types 섹션의 Application Load Balancer에서 Create를 선택한다.


 

 

이런식으로 설정해주고 Create load blancer를 선택해서 넘어간다.


 

 

이런화면이 상단에 표시된다.

로드 밸런서가 몇분동안 Provisioning상태였다가 Active로 바뀌면 된 것

! 로드 밸런서와 대상 그룹을 생성했고 대상 그룹에 EC2 인스턴스를 등록했다.


 



3. 콘솔을 통해 Amazon RDS DB 인스턴스 메타데이터 검토


 

RDS를 검색하고 Databases를 선택한다. aurora인 클러스터의 링크를 선택한다.


 

 

writer인스턴스의 Endpoint name값을 이렇게 aurora.cluster-car3dz8wr1en.us-west-2.rds.amazonaws.com를 복사해준다.

그리고 아래 사진에 따라서 확인해본다.


! 이렇게 되면 콘솔을 통해서 Amazon RDS DB 인스턴스 메타데이터를 검토했다.


 



4. 애플리케이션의 데이터베이스 연결 테스트


 

EC2를 검색해서 들어가고 Target Groups를 선택하고 한다. Targets탭에서 인스턴스 상태가 저렇게 될때까지 기다린다.


 

 

Load Balancers를 선택한다. DNS값을 복사한 후 새브라우저 탭에 값을 붙여넣어 로드 밸런서를 호출한다.


 

 

 

위쪽에서 Settings 탭을 선택하고 설정한다. Endpoint에 전에 복사한것을 넣는다.
이런식으로 설정해서 넣어줌 그리고 Save를 해준다.


 

 

그러면 애플리케이션이 데이터베스에 연결되어, 기본 데이터를 가져오고 정보를 화면에 나타냅니다. 이 애플리케이션을 통해서 재고 항목을 추가, 수정, 삭제할 수 있다.


! 로드밸런서를 통해 EC2 인스턴스에 설치된 웹 애플리케이션에 액세스다.

 




선택 과제. 다른 AWS리전에 Amazon RDS 읽기 전용 복제본 생성


 

RDS를 검색해주고 Databases를 선택해서 aurora DB 인스턴스를 읽기 전용 복제본의 소스로 선택한다. 
그리고 Actions를 선택하고 Create cross-Region read replica를 선택한다.


 

 

여기 나와있는 설명대로 해주고 Create를 선택한다.


 

 

대상 리전의 교차 리전 읽기 전용 복제본을 검토하려면 같은 페이지에서 여기로 레이블이 지정된 하이퍼링크로 선택한다. 검토하지 않으려면 Close를 선택한다.


! 선택과제를 완료하고 Amazon RDS 데이터베이스의 교차 리전 읽기 전용 복제본 생성을 시작했다.

 



[ 실습 완료 ]



 

모니터링


 

 

모니터링을 하는 이유



 

 

CloudWatch
내가 따로 설정하지 않아도 데이터를 자동으로 수집해준다.
Cloudwatch에 경고를 만들면 무언가 하지않아도 자동화를 할 수 있는 기능들이 있다.


 

 

로그 유형
CloudTrail : 작업 기록


 

 

Logs 예제
저장비용이 굉장히 비싸다 저장만 사용할꺼면 S3를 사용할 것이다. 
여기서 저장을 하는것이면 필터링해서 실시간 분석을 하기 위함이다.


 

 

AWS CloudTrail
기본적으로 무료로 가능하다.
CloudTrail을 사용하면 무언가 이상한게 있다면 로그를 확인해서 누가 뭘 했는지 확인할 수 있다.


 

 

흐름 로그
어디서 뭐가 잘못되었는지 찾기가 쉽지않기 때문에 흐름 로그라는 것을 확인하면 찾을 수 있다.






 

이것은 Topic의 구독자로 하기위해서 이메일을 입력해서 해준것이다. 작성한 이메일로 들어가서 컨펌해주면 이런식으로 confiremed으로 바뀐다. 


 

 

 

EventBridge로 들어와서 Rules로 들어와 Create rule을 해준다.


 

 

이런식으로 설정을 해주면서 Next로 넘겨주었다 Tag부분도 그냥 넘겨주었다. 그리고 마지막에 와서 Create rule을 해주면 정상적으로 생성이 된다.

그러면 내가 만들었던 인스턴스를 중지시키거나 다시 실행시키면 내가 저장한 메일로 메일이 오게된다.



 

 

로드밸런싱


 

 

디도스 공격이 들어와도 피해를 줄일 수 있다.


 

 

로드 밸런서 유형


 

 

로드 밸런서 구성요소



 

자동 크기 조정


 

 

오토 스케일링


 

 

Auto Scaling을 사용하는 크기 조정방법


 

 

Auto Scaling을 사용하여 비용 최적화


 


[ 실습 ]


Amazon VPC에서 고가용성 구성
시간이 부족해서 결과 캡쳐본은 따지못하고 하는 설명만 땄음

2023/08/31 AWS 실습4 사진 (tistory.com)

 

 

[ 실습 완료 ]





 

 

모듈8 : 자동화


 

 

코드형 인프라(IaC)





 

 

 

 

모듈9 : 컨테이너


 

 

마이크로 서비스


 

 

마이크로서비스를 이용하는 이유는 장애에 대한 용량부족에 대한 문제가 떨어진다.


 

 

이것을 전체를 적용한것이 마이크로 서비스이다.


 

 

컨테이너


 

 

컨테이너와 마이크로 서비스


 

 

 

AWS의 컨테이너


 

 

컨테이너 오케스트레이션 도구 - 쿠버네티스(Google)
그래서 AWS에서 쿠버네티스를 쉽게 사용하기 위한 도구가 EKS이다.
AWS에서 개발한 컨테이너 오케스트레이션 도구가 ECS이다. 대신 AWS에서밖에 사용을 못함

 




모듈10 : 네트워킹 2


 

VPC 엔드포인트


 

 

VPC엔드포인트 기능


 

 

VPC엔드포인트는 두가지가 있다.


 

 

VPC 피어링은 VCP는 동일한 리전에 있더라도 서로 다른 VCP라면 직접적인 통신이 안된다.
Public 통신 이외에는 VPC 통신할 방법은 피어링 뿐이다. (Public은 보안상 위험하다)
VPC피어링 조건 : IP가 달라야한다. VPC간에 IP주소가 같으면  서로 다른 VPC를 만들순 있지만피어링 안된다.



 

 

VPC피어링의 이점
인터넷 이용X -> 속도 빨라짐
거리가 가까움
리전 간 전송 시에도 보안 이슈를 잠재워준다.
단일 장애지점 없음



VPC피어링 실습 후 수업종료




'학원' 카테고리의 다른 글

2023/09/04 GCP  (0) 2023.09.04
2023/09/01 AWS  (0) 2023.09.01
2023/08/30 AWS  (0) 2023.08.30
2023/08/29 AWS ( 내용 날아감 )  (0) 2023.08.30
2023/08/28 AWS  (0) 2023.08.28