분류 전체보기 62

[AWS] EC2의 Hibernate

EC2 Hibernate(절전 모드)인스턴스가 절전 모드가 되면 RAM에 있던 인 메모리 상태는 그대로 보존된다.  = 인스턴스 부팅이 더 빨라진다. 왜냐면 운영 체제를 완전히 중지하거나 다시 시작하지 않고 그대로 멈춰뒀기때문이다.절전 모드가 되고 백그라운드에서 RAM에 기록되었던 인 메모리 상태는 루트 경로의 EBS 볼륨에 기록되기 때문에 루트 EBS 볼륨을 암호화해야 하고, 볼륨 용량도 RAM을 저장하기에 충분해야한다.지원하는 제품군이 많고, 인스턴스 RAM 크기는 최대 150GB이다.  : 베어 메탈 인스턴스에는 적용할 수 없다.  : Linux, Windows 등의 여러 운영체제에서 사용할 수 있다.  : 루트 볼륨(EBS)에만 저장이 가능하다이후에 변동될 수도 있지만 현재까지는 최대 60일까지 ..

[AWS] EC2의 ENI

Elastic Network Interfaces(탄력적 네트워크 인터페이스)VPC의 논리적 구성 요소이며 가상 네트워크 카드를 나타낸다.ENI는 EC2 인스턴스가 네트워크에 액세스 할 수 있게 해준다.(출처 : 구글이미지)하나의 EC2 인스턴스가 있고 기본 ENI인 Eth0에 연결되어 EC2 인스턴스 네트워크 연결을 제공한다.  : 예를 들어 사설 IP로!   : 주요 사설 IPv4와 하나 이상의 보조 IPv4를 가질 수 있다.위의 이미지에서는 Eth0 하나만 있지만, EC2에 보조 ENI를 얼마든지 추가해도 된다.  : Eth1도 추가를 한 것이고, 또 다른 사설 IPv4를 갖거나 혹은 하나의 공용 IPv4를 가질 수 있다.위의 이미지에서처럼 또 EC2 인스턴스와 독립적으로 ENI를 생성하고 즉시 연결..

[AWS] EC2의 Placement Groups(배치 그룹)

Placement Groups(배치 그룹)EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할 때 사용한다.AWS의 하드웨어와 직접적인 상호 작용을 하지는 않지만 EC2 인스턴스가 각각 어떻게 배치되기를 원하는지 AWS에 알려주는 것이다. Strategies for creating Placement groups1. Cluster(클러스터) 배치 그룹단일 가용 영역 내에서 지연 시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화한다.높은 성능을 제공하지만 위험 또한 높다.모든 EC2 인스턴스가 동일한 가용영역에 있고, 모든 인스턴스 간에 초당 약10기가비트의 대역폭을 확보하여 향상된 네트워킹을 활성화할 수 있다.(= 지연 시간이 짧고 처리량이 많은 네트워크를 확보할 수 있다.)단점  : 가용 영역에..

[AWS] Private vs Public IP (IPv4)

IPv4네 개의 숫자가 세 개의 점으로 분리된 형태이다.  예시 : 1.160.10.240가장 널리 사용되는 형식이다.공용 공간에서 37억 개의 서로 다른 주소를 허용한다. cf ) IPv6정말 길고 독특한 숫자 기호와 문자로 이뤄진 이상한 문자열 형태로 되어있다.  예시 : 3ffe:1900:4545:3:200:f8ff:fe21:67cfIoT(사물 인터넷)에 많이 쓰인다.  Private vs Public IP (IPv4)(출처 : saa 강의)2개의 공용 웹서버들은 공용 IP를 사용해서 서로 통신할 수 있다.왼쪽 밑 파란색 회사 A  : 회사에는 사설 네트워크가 있고, 기본적으로 사설 네트워크 내의 모든 컴퓨터가 사설 IP를 사용하여 서로 통신할 수 있다.  : 반면 공용 게이트웨이인 인터넷 게이트웨..

[AWS] Spot Instances 및 Spot 집합

Spot Instances(스팟 인스턴스)아주 짧은 워크로드를 위한 것이다.아주 저렴하다. 하지만 언제라도 그 인스턴스들이 손실될 수 있어서 신뢰성이 낮다.온디맨드에 비해 최대 90%까지 할인이 된다.배치 작업 및데이터 분석, 장애 복원력이 뛰어난 워크로드 등에 사용한다.  : 아주 중요한 작업이나 데이터베이스에는 적절하지 않다.인스턴스의 스팟 가격이 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스를 유지하게 된다.  : 시간당 스팟은 오퍼와 용량에 따라 달라진다.스팟 가격이 정의된 최대 가격을 초과하면, 두가지를 선택할 수 있다.(2분의 유예시간이 주어진다.)  - 하던 작업을 모두 중지하고 인스턴스를 중지한다. 그러다가 스팟 가격이 최대 가격 아래로 내려가면, 인스턴스를 다시 시작하고 중단했던 곳..

[AWS] EC2 Instances Purchasing Options(구매옵션)

On-Demand Instances(온디맨드 EC2 인스턴스)필요한 대로 인스턴스를 실행할 수 있다.단기적인 워크로드에 사용하기 좋다.비용을 예측할 수 있었고, 초 단위로 요금을 지불하면 된다.비용이 가장 많이 들지만 바로 지불할 금액은 없고, 장기적인 약정도 필요 없다.단기적이고 중단 없는 워크로드가 필요할 때, 또는 애플리케이션의 거동을 예측할 수 없을 때 가장 추천할 만하다. Reserved(예약 인스턴스)기간은 1년 또는 3년이 있다.장기간의 워크로드를 위한 것이다.온디맨드에 비해 72%할인을 제공한다. 부분 선결제 또는 선결제 없음 중에 선택 할 수 있는데, 선결제를 하면 최대 할인을 받을 수 있다.Reserved Instances(예약 인스턴스)  : 오랫동안 데이터베이스를 실행할 계획이라면 ..

[AWS] SSH 관련

SSH명령줄 인터페이스 도구이다.Mac과 Linux에서 사용할 수 있다.Windows는 10이상의 버전에서 사용할 수 있다. Putty(퍼티)SSH 프로토콜을 사용해 EC2 인스턴스에 연결하도록 한다.모든 버전의 Windows에서 사용 가능하다. EC2 Instance Connect터미널, 퍼티가 아닌 웹 브라우저로 EC2 인스턴스에 연결한다.모든 버전의 Mac과 Linux 그리고 Windows에서 사용 가능하다.   SSH 문제 해결SSH 트러블 슈팅 1) 연결 시간 초과가 발생하는 경우보안 그룹에 문제가 있는 경우 발생합니다. 모든 유형의 시간 초과(SSH뿐만 아니라)는 보안 그룹 또는 방화벽과 관련 있습니다. 보안 그룹이 다음과 같이 설정되었는지 확인하고, EC2 인스턴스에 올바르게 할당되었는지 확..

[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..