분류 전체보기 168

[AWS] Global Applications Architecture

1. Single Region, Single AZ하나의 리전에 한 AZ에 EC2 인스턴스가 있고 이는 가용성이 높지 않다.글로벌 지연 시간도 좋지 않다.리전에서 멀리 떨어진 사용자가 이 기관에 접근한다면 지연 시간은 높을 것이기 때문이다.  2. Single Region, Multi AZ하나의 리전에 여러개의 AZ가 있다면, 고가용성을 가진다.글로벌 지연 시간은 역시 좋지 않다.  3. Multi Region, Active-Passive하나의 리전에는 EC2 인스턴스가 액티브되거나 애플리케이션이 액티브 된다.(= 사용자가 어디에 있든지 액티브된 리전의 EC2 인스턴스에 읽고 쓸 수 있다는 뜻이다.)다른 EC2는 패시브이다. 액티브 리전과 패시브 리전 간 데이터 복제가 일어나 사용자는 패시브 리전에서 읽을..

[MYSQL] 시간 차이 구하는 방법 3가지

안녕하세요!제목 그대로 MYSQL에서 시간 차이를 구하는 방법 3가지를 간단하게 요약해보겠습니다. 밑의 코딩테스트 문제로 설명하겠습니다. 1. DATEDIFF 함수 사용두개의 날짜값의 차이를 int로 반환하는 함수이다.사용 방법DATEDIFF(날짜_1,날짜_2)DATEDIFF를 사용한 정답 :   2. TIMESTAMPDIFF 함수 사용두개의 날짜값의 차이를 unit에 들어가는 타입을 기준으로 반환하는 함수이다.unit 단위 기준 : second(초), minute(분), hour(시간), day(일), week(주), month(월), quarter(분기), year(연도)사용 방법TIMESTAMPDIFF(unit, 날짜_1,날짜_2)TIMESTAMPDIFF를 사용한 정답 :  2. 빼기 부호 사용빼기..

[AWS] 클라우드 통합

클라우드 통합에 대하여어느 시점에 가면 애플리케이션이 여러 개 생겨서 서로 통신이 이루어지게 된다.두 가지 패턴 타입으로 애플리케이션을 서로 통신하게 만들 수 있다.       1) 첫 번째, "동기식 통신"          : 애플리케이션이 다른 애플리케이션에 요청을 한다. 예를 들어, 뭔가를 구매하는 서비스를 만들어서 판매한 물품을 배송하는 서비스에 연결해야 된다고 보면 구매 서비스와 배송 서비스를 동시에 통합해야 한다. ( 서로 직접 요청을 주고 받으니깐)        1) 두 번째, "비동기식 또는 이벤트 기반"          : 예를 들어, 구매 서비스가 뭔가를 판매할 때마다 대기열에 주문을 올려두면 배송 서비스가 대기열에서 읽어들여 주문을 받을때, 밑의 이미지 예시에서 볼 수 있듯이 구매 서..

[git/github] 중요한 정보가 담긴 내용까지 git push 안 하고 싶을 때

안녕하세요!제목 그대로 비밀번호, 포트 번호 등 중요한 정보를 git 안하고 싶을 때 사용하는 방법입니다. 간단하게 요약해서 정리하겠습니다.  1. ".gitignore" 파일은 push해도 github에 업로드가 되지 않는다.   2. 최상위 폴더 밑에 ".env" 파일을 만들어서 숨기고 싶은 내용들을 담는다.  3. resources 파일 밑에 "application.yml" 파일을 만들어서 중요한 정보를 가리고 push한다.(밑의 이미지에서 $ 표시를 사용하여 중요한 정보를 어떤 식으로 가리는지 알겠죠?!)

[AWS] AWS 글로벌 인프라 활용

Global Applications in AWSRoute 53- 관리 DNS(도메인 이름 시스템)이다.- 사용자를 가까운 배포로 라우팅하여 지연 시간을 최소화하는 좋은 방법이다.- 재해 복구 전략을 정의할 때 유용하다.- 라우팅 정책   → 밑의 이미지의 1번째는 "단순 라우팅 정책"이다. 상태 확인을 하지 않는 정책이고 웹 브라우저는 DNS 시스템에 가서 DNS 검색을 하고 예를 들어, IPv4를 결과로 얻습니다.   → 밑의 이미지의 2번째는 "가중치 기반 라우팅 정책"이다. 트래픽을 여러 기관의 인스턴스에 분산한다. 예를 들어, 70, 20, 10이다. 그러면 DNS는 클라이언트가 트래픽의 70%가 첫번째로 가고, 20%가 두 번째로 가고, 나머지 10%가 세 번째로 가도록 합니다. 로드 밸런싱을 ..

[AWS] 대규모 배포 및 인프라 관리

Deployment(배포)CloudFormation- Infrastructure as Code를 가능하게 하며 거의 모든 AWS 리소스와 호환된다는 특징이 있다. - 템플릿을 제작하고 이를 이용하여 AWS에 인프라를 배포하는 데 사용할 수 있다.- AWS 인프라의 모든 리소스에 대해 윤곽을 잡아주는 선언적인 방식이기 때문에 AWS에서 중요한 기술이다.- 비용을 절약 할 수있다.    → 예시 : 어떤 환경에서 오후 5시에 모든 템플릿을 자동으로 삭제할 수 있습니다. 그럼 템플릿과 연결된 모든 리소스를 삭제하고 오전 9시나 8시에 안전하게 다시 만듭니다. 따라서 오후 5시와 오전 8시 사이에 리소스가 없기 때문에, 비용을 절약할 수 있게됩니다. - 밑의 이미지 설명 : 도식을 만들 만큼 똑똑하고 모든 구성..

[AWS] Lambda & Batch에 대하여 (+ Lightsail)

Lambda서버가 필요하지 않고 가상 함수를 가지게 된다.(단, 시간의 제한을 받기 때문에  짧은 유형의 실행을 위한 것이다.)수요에 따라 실행한다.(= 반응형 서비스이다.)요청 당 및 컴퓨팅 시간당 비용을 지불하게 되는데 프리 티어도 넉넉하다.매달 백만 개의 Lambda호출과 40만 GB-초의 컴퓨팅 시간을 준다.(= 괜찮은 서비스를 Lambda에서 공짜로 실행할 수있다는 뜻이다.)전체 AWS 서비스와 통합이 된다. (단, 이벤트 기반이라는 점이다.)함수당 리소스를 가져오기 쉽다.함수당 10GB의 RAM을 사용할 수 있는데 RAM을 증가하면 CPU와 네트워크 품질 역시 개선되고 모든 것이 좋다.실제 도커 컨테이너를 Lambda에서 실행하게 해주지만 컨테이너 이미지를 반드시 Lambda 런타임 API에 ..

[AWS] Docker(도커)

Docker앱 배포를 위한 소프트웨어 개발 플랫폼이다.도커를 사용하면 컨테이너에 앱을 패키징하게 된다.앱이 컨테이너에 패키징되면 어떤 기계든 상관없이 호환성 문제가 없고, 동작을 예측할 수 있다.작업량도 적으며 유지 보수와 배포가 쉽다.모든 프로그래밍 언어로 작업할 수 있고 운영체제나 기술에도 구해받지 않습니다.도커는 시각화 기술에 해당하지만 정확히는 아니고, 리소스를 호스트와 공유한다.(= 하나의 서버에 여러 컨테이너를 둘 수 있다.)  ECS(Elastic Container Service)도커 컨테이너를 실행할 때 사용한다.ECS에서는 반드시 우리가 프로비저닝해야 하고, 인프라를 자체적으로 유지해야 된다.(= EC2 인스턴스를 사전에 만들어야 한다.)밑의 이미지 설명 : 사전에 EC2 인스턴스를 만들..

[AWS] AWS Snow Family(스노우 제품군) & Storage Gateway

AWS Snow Family매우 안전한 휴대용 장치이다.AWS 내부 및 외부로 데이터를 마이그레이션하는데 사용된다.스노우 제품군을 사용하여 데이터 마이그레이션을 수행하는 이유는 데이터를 AWS에 빠르게 전달되기를 원하기 때문이다.  유형1. Snowcone매우 작은 휴대용 장치이며 견고하다.(2.1kg 정도로 매우 가볍다)안전하고 열약한 환경을 견딜 수 있다.데이터 양이 적은 환경에 적합하다.엣지 컴퓨팅, 스토리지 및 데이터 전송에 사용될 것이다.유형 : "8TB의 HDD 스토리지가 포함된" / "14TB SSD 스토리지"의 스노우콘스노우볼이 맞지 않는 곳에서는 스노우콘과 배터리, 케이블을 직접 준비해야 한다. 2. Snowball Edge테라바이트 또는 페타바이트의 데이터를 AWS안팎으로 이동시키는 데..

[AWS] Amazon S3 storage에 대하여

Amazon S3 storage제한 없이 스케일할 수 있는 스토리지로 알려져있다.(= 백업과 저장소로 활용)S3에 아카이브해 두었다가 나중에 꺼내 쓰기도 한다.Disaster Recovery(재해 복구)를 위한 스토리지이다.하이브리드 클라우드 스토리로도 이용한다.Media hosting(미디어 호스팅)을 위해서도 사용한다.Data lakes(데이터 레이크)와 big data analytics(데이터 분석)을 위해서도 사용한다.Static website(정적 웹사이트) 호스팅을 위해서도 사용한다.   - BucketsS3의 파일을 "버킷"에 저장한다.(= 최상위 디렉토리라고 생각하면 된다)사용자 계정 안에서 생성된다.모든 리전, 모든 계정들을 통틀어 고유한 이름이여야 한다.cf ) 버킷 이름의 규칙  - ..