본문 바로가기
반응형

전체 글350

CloudFront & Global Accelerator CloudFront CloudFront란 CDN, 컨텐츠 전송 네트워크를 의미한다. CDN은 웹사이트의 컨텐츠를 서로 다른 엣지 로케이션에 미리 캐싱하여 읽기 성능을 높인다. 네트워크 전체에 캐싱되므로 전세계 사용자들이 낮은 레이턴시로 접근할 수 있어서 사용자 경험을 증대시킬 수 있다. 컨텐츠가 전체적으로 분산되어 있으므로 DDoS 공격에서 보호를 받을 수 있다. 호주에 위치한 S3 버킷에 웹사이트를 만들었다 하더라도 미국에 있는 사용자는 CloudFront를 이용해 미국에 있는 엣지에 컨텐츠를 요청하게 된다. 그럼 CloudFront가 호주에서 이 컨텐츠를 페치해서 가져온다. 그리고 미국의 다른 사용자가 똑같은 컨텐츠를 요청한다면, 이 컨텐츠는 호주에서 출발하지 않고 엣지에서 직접 컨텐츠를 제공받는다... 2023. 7. 7.
S3 고급 기능 및 보안 S3 수명 주기 규칙 S3 버킷 내부의 객체는 수명 주기 규칙을 이용해서 객체의 이동을 자동화할 수 있다. 수명 주기 규칙은 여러 가지로 구성된다. 전환 작업 다른 스토리지 클래스로 객체를 전환하도록 구성한다. 생성 60일 후에 Standard IA로 이동하도록 설정하거나 6개월 후에 Glacier에 아카이빙 되도록 설정할 수 있다. 만료 작업 설정 만료 작업을 설정할 수 있어 일정 시간이 지나면 객체가 삭제 또는 만료되게 할 수 있다. 365일 후에 액세스 로그 파일을 삭제하도록 하거나 버저닝을 활성화한 경우 이전 버전의 파일을 삭제하도록 설정할 수 있다. 규칙에는 특정 접두사를 사용하여 전체 버킷이나 버킷의 일부 경로에만 적용할 수 있고 특정 객체 태그에만 지정할 수도 있습니다 한 클래스에서 다른 클.. 2023. 7. 6.
S3 기초 S3 S3는 파일을 버킷에 저장한다. 버킷은 상위 레벨 디렉토리로 표시된다. 사실 S3 그 자체는 디렉토리의 개념은 없다 S3 버킷의 파일은 객체라고 하며, 이 버킷은 계정 안에 생성된다. 즉 객체란 S3 저장소에 저장되는 데이터를 의미한다. 버킷 이름은 계정에 있는 모든 리전과 AWS에 존재하는 모든 계정에서 유니크해야 한다. 버킷은 리전 수준에서 정의되므로, 반드시 특정 AWS 리전에서 정의되어야 한다. 객체나 파일에는 키가 있으며, 키는 Amazon S3 키는 파일의 전체 경로입니다. 키는 접두사와 객체 이름으로 구성되며, 키는 길이가 굉장히 긴 이름으로 슬래시를 포함하며, 키는 접두사와 객체 이름으로 만들어진다. 파일 등 원하는 것은 뭐든지 업로드 가능하며, 최대 객체 크기는 5TB이다. 업로드하.. 2023. 7. 5.
Route 53 Route 53 고가용성, 확장성을 갖춘, 완전히 관리되며 권한있는 DNS다. 권한이 있다라는 뜻은 우리가 DNS 레코드를 업데이트 할 수 있다는 의미다. 도메인 레지스트리로 도메인 이름을 등록한다. Route 53의 리소스 관련 상태 확인을 확인할 수 있다. 100% SLA 가용성을 제공하는 유일한 AWS 서비스입니다 Route 53에서 여러 DNS 레코드를 정의하고 레코드를 통해 특정 도메인으로 라우팅하는 방법을 정의한다. 레코드가 가지는 값 도메인/서브도메인 이름 레코드 타입 A: 호스트 이름과 IPv4 IP를 매핑 AAAA: 호스트 이름과 IPv6를 매핑 CNAME: 호스트 이름을 다른 호스트 이름과 매핑 대상 호스트 이름은 A나 AAAA 레코드가 될 수 있다. Route 53에서 DNS 이름 공.. 2023. 7. 4.
트랜잭션 수행 코드에 포함된 네트워크 통신 코드 분리하기 현재 프로젝트에서 관리자 권한을 가진 유저가 다수의 유저에게 초대 이메일을 보내는 비즈니스 로직이 존재합니다. 해당 로직을 수행하는 메서드에 트랜잭션이 걸리고, 메일 서버에 메일 전송 요청도 보내고 있습니다. 트랜잭션을 수행하는 중에 네트워크 통신을 진행하면 굉장히 안 좋다는 글을 본 적이 있습니다.(Real MySQL) 따라서 트랜잭션 수행 코드와 네트워크 통신 코드가 결합된 비즈니스 로직 코드를 개선한 과정을 포스팅으로 작성하려고 합니다. 시작하겠습니다. 비즈니스 로직 정리 멤버와 프로젝트 멤버 프로젝트는 M:N 관계이다. 비즈니스 로직을 수행하는 메서드의 로직은 다음과 같다. 로그인에서 사용하는 JWT 토큰에서 멤버 id를 얻는다. 트랜잭션 시작 멤버 id를 사용해 데이터베이스에서 멤버 엔티티를 조.. 2023. 7. 1.
RDS, Aurora, ElasticCache RDS Relational Database Service, AWS가 제공하는 관리형 서비스다. (프로비저닝과 OS가 자동화) 다음과 같은 데이터베이스 엔진을 제공한다. Postgresql Mysql MariaDB Oracle Microsoft SQL Server Aurora 지속적으로 백업이 되므로, 특정 시점으로 복원이 가능하다. 데이터베이스의 성능을 대시 보드에서 모니터링 가능하다. 읽기 전용 복사본을 생성해 읽기 성능을 올릴 수도 있다. 재해 복구 목적으로 다중 AZ 설정 가능하다. 유지 관리 기간에 업그레이드도 가능하다. 수직 확장하거나 읽기 전용을 추가해 수평 확장도 가능하다. 파일 스토리지는 EBS에 구성된다. (gp2, io1) RDS 인스턴스는 ssh 액세스가 불가능하다. EC2 인스턴스에.. 2023. 6. 30.
반응형