2024/09 34

[AWS] EC2의 Security Groups(보안 그룹)

Security Groups(보안 그룹)EC2 인스턴스의 방화벽이다.네트워크 보안을 수행하는 데 있어서 기본이 된다.오직 allow(허용) 규칙만 포함되어 있어서 무엇이 들어가고 나갈 수 있는지 알 수 있다.  - Inbound traffic(인바운드 트래픽) : 외부에서 EC2 인스턴스로 들어가는 것  - Outbound traffic(아웃바운드 트래픽) : 인스턴스에서 인터넷으로 나가는 것IP 주소를 기준으로 규칙을 설정할 수 있다.  : 즉, 컴퓨터의 출발지이다. 또는 다른 보안 그룹을 참조하여 설정할 수 있다.  Security Groups Diagram파란색 박스 = EC2 인스턴스노란색 박스 = 인바운드 규칙과 아웃바운드 규칙이 있는 하나의 보안 그룹이 연결되어 있다.설명  - 22번 포트에서..

[AWS] Amazon EC2(Elastic Compute Cloud)

Amazon EC2AWS에서 제공하는 Infrastructure as a Service(서비스형 인플라스트럭처)이다.AWS EC2의 사용법을 아는 것은 '클라우드 작동 방식'을 이해할 때 필수적이다.  - 클라우드는 필요할 때마다 언제든지 컴퓨팅을 대여할 수 있고 EC2가 바로 그 예시이다.   (= 원하는 대로 가상 머신을 선택하여 AWS에서 빌릴 수 있다.)하나의 서비스가 아니라, 많은 것을 포함하고 있다. - EC2 인스턴스 : 가상 머신을 EC2에서 임대할 수 있다. - EBS : 데이터를 가상 드라이브 또는 EBS 볼륨에 저장할 수 있다. - ELB : 일랙스틱 로드 밸런서로 로드를 분산시킬 수 있다. - ASG : 오토 스케일링 그룹을 통해 서비스를 확장할 수 있다. Amazon EC2의 종류..

[Java] Jwt Filter & 인증/인가 관련된 코드들 정리

JwtUtil 클래스package org.example.authfilter.config;import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import io.jsonwebtoken.security.Keys;import jakarta.annotation.PostConstruct;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import org.springframework.util.S..

[AWS] IAM서비스에서 AWS로 액세스하는 방법(3가지)

AWS에 액세스하는 방법(3가지) 1. AWS 콘솔 이용 2. CLI(Command Line Interface, 명령줄 인터페이스)명령줄 인터페이스를 의미한다.명령줄 셸에서 명령어를 사용하여 AWS 서비스들과 상화작용할 수 있도록 해주는 도구이다.커맨드라인으로 CLI를 사용하여 서비스를 관리한다.CLI를 사용하면 AWS 서비서의 공용 API로 직접 액세스가 가능하다.CLI를 통해 리소스를 관리하는 스크립트를 개발해 일부 작업을 자동화할 수 있다.CLI는 오픈 소스로, GitHub에서 모든 소스 코드를 찾을 수 있고, AWS 관리 콘솔 대신 사용되기도 한다.  3. SDK(Software Development Kit, 소프트웨어 개발자 키트)특정 언어로 된 라이브러리의 집합이다. 따라서 프로그래밍 언어에 ..

[AWS] IAM(Identity and Access Management)

IAM글로벌 서비스에 해당한다사용자를 생성하고, 그룹에 배치한다. Users(사용자)실제 AWS의 기능과 자원을 이용하는 사람를 의미한다.단일 개인 또는 애플리케이션에 대한 특정 권한을 가지고 있는 AWS 계정 내 ID이다.IAM 사용자는 회사 내의 실제 물리적 사용자와 매핑되어야한다.이 사용자는 AWS 콘솔 비밀번호를 갖게 된다. Groups(그룹)IAM 사용자 컬렉션을 지정하는 자격 증명이다.사용자를 그룹화 할 수 있다.(따라서 그룹에는 사용자만 있게되는 것이다.)하나의 그룹에 여러명의 사용자를 지정해서 공통적으로 권한을 주어야 하는 상황일 때 유용하다.그룹을 사용하여 여러 사용자의 권한을 한 번에 지정할 수 있다.그룹을 사용하면 대규모 사용자 집합의 권한을 더 쉽게 관리할 수 있다. Policies..

[AWS] AWS에 대해 들어가기 전에 알아두면 좋은 개념

Regions(리전)데이터 센터의 집합이다.각각의 리전은 네트워크를 통해 연결된다.(= AWS의 사설 네트워크, 밑의 이미지에서 하얀색 선들)리전 선택에 영향을 미칠 수 있는 요인1. 법률준수 : 애플리케이션을 베포하게 될 대상 국가 내에 데이터가 보관되기를 원할 때가 있다)2. 지연 시간 : 사용자와 가까이에 있는 리전에서 출시하는 것이 지연시간이 줄어든다)3. 모든 리전이 모든 서비스를 가지고 있지 않다. : 애플리케이션을 출시하려는 리전에 해당 서비스가 있는지를 당연히 확인해야한다.)4. 요금 : 리전마다 요금이 다르기 때문에 리전 간 요금의 차이를 확인하려면 서비스 요금 페이지를 참고해야 한다.전 세계에 걸쳐 있고 밑의 사진을 참고해주세요.  Availability Zones(가용영역)여분의 전원..

[AWS] 클라우드 모니터링

Important Metrics(중요한 지표들)EC2 인스턴스에 대한 지표▼ 밑의 3가지 지표들은 모두 5분마다 제공되지만, 더 비싼 옵션인 Detailed Monitorin을 활성화하여 1분마다 해당 지표를 제공받을 수도 있다.-  CPU UtiliztionCPU가 현재 얼마나 사용되고 있으며 사용량이 늘어나면 인스턴스의 작업량이 과도하게 늘기 때문에 스케일 업이나 아웃이 필요하다는 판단을 할 수도 있다.-  Status ChecksEC2 인스턴스가 제대로 작동하는지 확인하는 지표이다.-  Network얼마나 많은 네트워크가 인스턴스 안팎에서 실행되고 있는지를 살펴보는 지표이다. EBS volumes에 대한 지표-  Disk Read/Writes디스크에 읽고 쓰는 정보를 알 수 있다. S3 bucket..

[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) 두 번째, "비동기식 또는 이벤트 기반"          : 예를 들어, 구매 서비스가 뭔가를 판매할 때마다 대기열에 주문을 올려두면 배송 서비스가 대기열에서 읽어들여 주문을 받을때, 밑의 이미지 예시에서 볼 수 있듯이 구매 서..