728x90

일반적으로 다중 구현용 타입으로는 이터페이스가 가장 적합하다. 복잡한 인터페이스라면 구현하는 수고를 덜어주는 골격 구현을 함께 제공하는 방법을 꼭 고려해보자. 골격 구현은 '가능한 한' 인터페이스의 디폴트 메서드로 제공하여 그 인터페이스를 구현한 모든 곳에서 활용하도록 하는 것이 좋다. '가능한 한'이라고 한 이유는, 인터페이스에 걸려 있는 구현상의 제약때문에 골격 구현을 추상 클래스로 제공하는 경우가 더 흔하기 때문이다.

728x90
728x90

상속용 클래스를 설계하기란 결고 만만치 않다. 클래스 내부에서 스스로를 어떻게 사용하는지(자기사용 패턴) 모두 문서로 남겨야 하며, 일단 문서화한 것은 그 클래스가 쓰이는 한 반드시 지켜야 한다. 그러지 않으면 그 내부 구현 방식을 믿고 활용하던 하위 클래스를 오동작하게 만들 수 있다. 다른 이가 효율 좋은 하위 클래스를 만들 수 있도록 일부 메서드를 protected로 제공해야 할 수도 있다. 그러니 클래스를 확장해야 할 명확한 이유가 떠오르지 않으면 상속을 금지하는 편이 나을 것이다. 상속을 금지 하려면 클래스를 final로 선언하거나 생성자 모두를 외부에서 접근할 수 없도록 만들면 된다. 

728x90
728x90

상속은 강력하지만 캡슐화를 해친다는 문제가 있다. 상속은 상위 클래스와 하위 클래스가 순수한 is-a 관계일 때만 써야 한다. 

is-a 관계일 때도 안심할 수만은 없는게, 하위 클래스의 패키지가 상위 클래스와 다르고, 상위 클래스가 확장을 고려해 설계되지 않았다면 여전히 문제가 될 수 있다. 상속의 취약점을 피하려면 상속 대신 컴포지션과 전달을 사용하자. 특히 래퍼 클래스로 구현할 적당한 인터페이스가 있다면 더욱 그렇다. 래퍼클래스는 하위 클래스보다 견고하고 강력하다.

 

 

is-a관계 

A는 B다  OOP 의 상속개념

 

 

has-a 관계 

A는 B를 가진다.  A가 B를 가지고 있다. 

728x90
728x90

EC2/RDS/ ELB 생성

 

1. 사용할 ec2 생성

 

2. RDS 서브넷 그룹 생성

 

RDS DB 생성

 

 

단일 DB

기존에 생성해둔 VPC 와 서브넷 그룹  보안그룹을 선택

 

아래와 같이 생성 완료

 

 

ELB 생성

 

ELB 대상그룹  설정

 

http 80 대상그룹 생성

아래와 같이 고급 상태 검사  재정의로 변경 

 

이후 8080 대상그룹 추가 생성 하여 할당 (spring boot 테스트용)

 

ELB 생성

Application LoadBalancer 생성

아래 요약과 같이  보안그룹과 매핑  및 리스너 정보 추가

 

 

생성 완료

인증서 문제로 https 설정 하지 않는걸로

728x90

'인강 정리 > DevOps & MSA' 카테고리의 다른 글

소규모시스템 구축(4)  (1) 2024.10.19
소규모시스템 구축(3)  (2) 2024.10.18
소규모시스템 구축(1)  (1) 2024.08.01
VPC Peering  (0) 2024.07.30
OpenVPN  (0) 2024.07.30
728x90

구축 목표

 

Route 53 / ACM 생성(비용 문제로  방법만 확인)

AWS Certificate Manager (ACM) 은 웹 사이트와 애플리케이션을 보호하는 공개 및 사설 SSL/TLS X.509 인증서 및 키를 생성, 저장 및 갱신하는 복잡한 작업을 처리합니다. AWS ACM에서 직접 발급하거나 서드 파티 인증서를 ACM 관리 시스템으로 가져오는 방법으로 통합 AWS 서비스에 대한 인증서를 제공할 수 있습니다. ACM 인증서는 단일 도메인 이름, 여러 특정 도메인 이름, 와일드카드 도메인 또는 이러한 도메인의 조합을 보호할 수 있습니다. ACM 와일드카드 인증서는 원하는 만큼의 하위 도메인을 보호할 수 있습니다. 또한 내부 PKI의 어느 곳에서나 사용할 수 있도록 서명한 ACM 인증서를 내보낼 수 있습니다. 

 

 

보안그룹 생성(ALB / EC2 / RDS)

보안그룹 목표

 

위 표를 참조하여 보안그룹 생생

728x90

'인강 정리 > DevOps & MSA' 카테고리의 다른 글

소규모시스템 구축(3)  (2) 2024.10.18
소규모시스템구축(2)  (1) 2024.08.01
VPC Peering  (0) 2024.07.30
OpenVPN  (0) 2024.07.30
bastion host 구성 및 NAT GW  (0) 2024.07.30
728x90

VPC Peering 이란?

VPC Peering이란 서로 다른 VPC간 통신이 가능하도록 연결하는 것을 말한다.

 

대표적으로 서비스 구분이나 관리 목적에 따라 VPC를 구분해놓았는데 부득이하게 각 VPC간 통신이 필요할때

또는 구성해놓은 VPC 에 더 이상 사용할 수 있는 IP가 없을때 사용한다.

단. CIDR  대역이 겹치면 안된다.

 

 

728x90

'인강 정리 > DevOps & MSA' 카테고리의 다른 글

소규모시스템구축(2)  (1) 2024.08.01
소규모시스템 구축(1)  (1) 2024.08.01
OpenVPN  (0) 2024.07.30
bastion host 구성 및 NAT GW  (0) 2024.07.30
VPC  (0) 2024.07.30

+ Recent posts