전체 글159 [콘솔과 테라폼 구현] 사용자 > 100 : EC2, DB 분리 단일 EC2를 사용하는 아키텍처의 문제점 단일 EC2를 사용하는 아키텍처의 문제점 SPOF, EC2에 장애 발생 시 비즈니스 연속성에 바로 영향을 미침 페일오버 없음 이중화 없음 → 한 바구니에 계란을 모두 담지 말자! 인스턴스 역할 분리하기 단일 EC2가 하나의 기능을 하도록 인스턴스 역할을 나눈다. 웹 서버용 EC2 인스턴스 DB용 EC2 인스턴스 혹은 AWS DB 관리 서비스 (운영 부담 덜함) 구현 사항 EC2에 웹서버와 PHP를 설치하고 워드 프레스를 실행한다. AWS RDS에 MySQL 엔진을 실행해 워드 프레스 애플리케이션의 백엔드로 사용한다. 콘솔 구현 자료 https://aws.amazon.com/ko/tutorials/deploy-wordpress-with-amazon-rds/modul.. 2023. 10. 22. [콘솔과 테라폼 구현] 첫 사용자 1명 : 단일 EC2 + EIP 아키텍처 단일 EC2 인스턴스 : 웹 서버, 데이터베이스, 파일 저장 등을 처리 단일 Elastic IP : 한대의 EC2 인스턴스가 사용하는 고정 public IP (사용 지양) Route 53 : Elastic IP를 등록하고 DNS name을 제공하는 AWS의 DNS 서비스 문제점 페일오버 없음 이중화 없음 → 한 바구니에 계란을 모두 담지 말자 구현 사항 EC2 인스턴스 생성 Elastic IP 할당 EC2를 웹 서버로 만들기 콘솔 구현 자료 EC2 Web Server with User Data : https://www.geeksforgeeks.org/create-an-ec2-instance-with-ec2-user-data-script-to-launch-website/ EIP 할당 : https.. 2023. 10. 22. 테라폼 실습 : 천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 2023년 10월 중순, 클라우드 클럽 4기 테라폼 스터디에 참여하고 있습니다! (੭˙ ˘ ˙)੭ 테라폼 교재 챕터1 까지 읽은 상태, 그냥저냥 책만 읽고 넘기는 기분이라 인프라 아키텍처를 직접 테라폼으로 만들어보자고 제안했습니다. 그래서 이번주부터 원하는 AWS 아키텍처를 정해 분석하고 테라폼으로 프로비저닝하는 방식으로 스터디 목표를 변경했습니다. 어떤 아키텍처를 만들어볼까, AWS 아키텍처 백서나 모범 사례 등등 여러 아키텍처를 살펴봤는데, 선택의 폭이 너무 넓어 어느 하나를 정하기 어려웠습니다. 나같은 클라우드 뉴비가 인프라 공부도 하면서 테라폼 연습도 할 수 있는 방법이 뭐가 있을까 유튜브를 찾아보다가 ****라는 엄청난 세션 영상을 발견했습니다. 사용자의 규모가 증가함에 따라 늘어나는 트래픽을 .. 2023. 10. 22. Item 32. 제네릭과 가변인수를 함께 쓸 때는 신중하라 ☁️ 가변인수와 제네릭은 궁합이 좋지 않다. 가변인수 기능은 내부적으로 배열을 사용하는데, 배열과 제네릭의 타입 규칙이 달라서 타입 안전하지 않다. (다만 제네릭 배열과 달리 제네릭 가변인수는 실무에서 매우 유용하게 사용되므로 제네릭 가변인수의 사용을 허용했다.) 제네릭 가변인수를 사용할 때는 배열에 값을 저장하거나 배열 참조를 외부에 노출해서는 안된다. 두 조건을 만족한다면 타입 안전한 것이므로 @SafeVarags을 사용해 경고를 무시한다. 혹은 가변인수 대신 List를 사용한다. Item 28. 제네릭과 배열 제네릭과 배열은 매우 다른 타입 규칙이 적용된다. 배열 : 공변이므로 컴파일타임에 안전하지 않지만, 실체화되므로 런타임에는 안전하다. 제네릭 : 공변이 아니므로 컴파일타임에 안전하고, 실체화되.. 2023. 7. 11. Item27. 비검사 경고를 제거하라 요약 비검사 경고는 런타임에 ClassCastException을 일으킬 수 있는 잠재적 가능성을 뜻하므로, 가능한 모든 비검사 경고를 제거해야한다. 비검사 경고를 없앨 방법을 찾지 못한다면, 그 코드가 타입 안전함을 증명하고 가능한 범위를 좁혀서 @java.lang.SuppressWarnings("unchecked") 애노테이션으로 경고를 숨겨라. 그리고 경고를 숨기기로 한 근거를 주석으로 남겨라. 비검사 경고의 제거 비검사(unchecked) 경고는 컴파일러가 타입 안정성을 확인하는데 필요한 정보가 충분하지 않을 때 발생시키는 경고이다. 모든 비검사 경고는 런타임에 ClassCastException을 일으킬 수 있는 잠재적 가능성을 뜻하므로, 가능한 모든 비검사 경고를 제거해야한다. 대부분의 비검사 경.. 2023. 7. 11. RDB Index 참고 자료 [MYSQL] 📚 인덱스(index) 핵심 설계 & 사용 문법 💯 총정리 [MYSQL] 📚 인덱스(index) 핵심 설계 & 사용 문법 💯 총정리 인덱스의 개념 인덱스란 데이터의 저장(INSERT, UPDATE, DELETE) 의 성능을 희생하고 그 대신에 데이터의 읽기 속도를 높이는 테이블의 동작속도(조회)를 높여주는 자료구조이다. 쉽게 예를 들어보면 inpa.tistory.com https://www.youtube.com/watch?v=IMDH4iAQ6zM Index 유무에 따른 성능 차이 where first_name = ‘Minsoo’; 쿼리를 날렸을 때 성능을 비교해보자. first_name에 Index가 걸려 있지 않다면, 테이블의 로우를 순차 탐색하므로 O(N) first_name.. 2023. 7. 8. 이전 1 ··· 7 8 9 10 11 12 13 ··· 27 다음