Security Group · EC2 Instance의 기본 정책 → Outbound trafic Authorized → Inbound trafic Blocked· Security Group는 Region/VPC 결합으로 이루어져 있다. → Region을 전환하면 SG를 새로 생성해야 한다.· SSH Access를 위해 하나의 별도의 Security Group를 유지하는 것이 좋다. Referencing Security Group Security Group 특정 IP에 종속되는 것이 아닌, Security Group을 통해 트래픽 제어할 수 있다. (일반적인 패턴) Practices · Security Group도 ID를 가지고 있다. · Instance에 SSH로 접근하기 → 접근을 위해서는..
User Data 인스턴스가 처음 실행될 때, 즉 인스턴스의 전체 수명주기 중에 단 한번만 실행 Public IP 사용중인 Instance를 중단하고, 다시 Instance를 시작하게되면 AWS에서 Public IP를 재할당해준다.즉, Public IP는 변경될 수 있으나, Private IP는 항상 같은 상태로 유지된다. EC2 Instance Type ▶ Naming(e.g. m5.2xlarge) 1) m: instance class 2) 5: generation(AWS improves them over time) 3) 2xlarge: size within the instance size ## Test▶ General purpose ▶ Compute Optimized(High-lev..
IAM Roles 1) IAM Roles는 User나 Group에 묶이지 않는다. 대신 신뢰할 수 있는 User나 Application 또는 AWS Service(EC2 등)가 Role을 맡을 수 있다. "신뢰할 수 있다" → 신분이 증명되었다는 것 → IAM 사용자라면 로그인을 했거나 AWS CLI 또는 AWS SDK를 통한 Access Key/SecetAccess Key로 인증(Authentication)된 상태 EC2 같은 AWS 서비스는 이미 내 AWS 계정 안에서 실행되고 있어서 신뢰할 수 있다고 볼 수 있다. 2) Common Roles EC2, Lam..
MFA Device Option 1. Virtual MFA Device Google Authenticator Authy 2. Universal 2nd Factor (U2F) Security Key(Physical Device) Yubikey 3. Hardware Key Fob MFA Device 4. Hardware Key Fob MFA Device for AWS GovCloud(US) Access Key(CLI) IAM User로 로그인 후, Web Console에서 Access Key 생성 CLI에서 aws configure 명령어를 통해 CLI 자격 증명
IAM: Users & Groups ▶ IAM: Identity and Access Management, Global Service ▶ Root Account → Default 로 생성, Root 계정 사용은 권장사항 X▶ User를 생성하게 되며, User들은 모여서 Group을 생성 ① Group은 Group을 포함시킬 수 없다 ② User는 여러 Group에 포함될 수 있다 IAM: Permission 이렇게 생성한 User과 Group에게 Permission을 부여해야한다 ▶ IAM 정책 특정 User/Group 또는 모든 User들이 어떤 권한을 가지고 있는지를 설명해 놓은 JSON 파일 정책을 JSON 파일로 직접 만들거나, 작업 필터링으로 시각적으로 추가도 가능 ..
Region ▶ Region: 데이터센터의 집합 (데이터센터도 물리적으로 분리되어 있다)▶ 대부분의 서비스들은 특정 Region에 연결되어 국한된다 > Region A에서 서비스 사용했다가, 다른 Region에서 서비스 사용하려고 하면 처음 사용하게 되는 것 ▶ AWS 리전을 어떻게 선택하는지 묻는 문제가 시험 출제 가능Q: If you need to launch a new app, where you do it?A: It dependsAWS 리전 선택에 영향을 미칠 수 있는 몇 가지 요인들1. Compliance with data governance and legal requirements2. Proximity: reduced latency3. Available services within a re..
속도와 안정성을 중시하는 언어, Rust를 학습하고자 합니다. OS는 MAC(ARM), 개발 환경은 Visual Studio Code 에디터로 구축하고, Rust 설치부터 시작합니다. Rust 설치 우선 Rust를 설치합니다. $ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh Rust 프로젝트마다 이처럼 환경 변수를 초기화하는 것이 부담스럽기 때문에, source "$HOME/.cargo/env" 환경변수를 자체적으로 등록하겠습니다. # ~/.zshrc export PATH="$HOME/.cargo/bin:$PATH" cargo cargo라는 개념이 등장합니다. cargo는 Rust의 패키지 매니저 및 빌드 도구입니다. cargo를 통해 ..
1. QUIC 프로토콜이란?Quick UDP Internet Connections로, 지연 시간이 적은 인터넷 전송 프로토콜. 게임, 스트리밍 미디어, VoIP 서비스에 자주 사용 신뢰할 수 없고, 비연결성 프로토콜인 UDP를 왜 사용했을까? 2. 특징1) 전송 속도 향상QUIC은 TCP의 지연 시간을 줄이기 위해 등장했다. TCP에서는 연결 설정을 위해 수행하는 3-way handshake 과정과 암호화 통신을 위해 거치는 ClientHello, ServerHello, Sertificate 등의 과정을 생략하였기 때문에 Connection을 위한 속도 지연을 획기적으로 줄일 수 있다. UDP 프로토콜을 사용하기 때문에 연결 설정하는데 1개의 패킷만이 필요하다. (RTT 0) 또한 QUIC는 64bit..
BoB 12기 프로젝트에서의 User Management를 위한 1차 Web-WAS / DB에 대한 기능 요구사항입니다. # 1 Spring ㅣ User Entity, Controller, Repository, Service 구현 # 2 Node_Database, Node_Table, Node_Testdata를 생성하는 sql 파일 구현 # 3 Spring + JPA + MySQL 연동 # 4 Spring Dockerfile 작성 및 docker hub push # 5 MySQL docker-compose.yml 파일 작성 및 최종 연동 테스트 수행 # 6 hostname과 ip 주소를 추출 후 Database에 넣는 Bash 스크립트 개발 # 7 각 프로세스에 대한 Command 정리 및 윈도우 환경..
API도 Request와 Response로 데이터가 이동하기 때문에 Controller를 정의한다. 일반적으로 @Controller가 아닌 @RestController 어노테이션을 사용하는데, @RestController 는 @Controller에 @ResponseBody가 추가된 것으로 Json 형태로 객체 데이터를 반환할 수 있다. @RestController @RequiredArgsConstructor public class MemberApiController { ... } 1. Entity를 파라미터로 처리하지 않기(feat. 회원 생성) 하단의 코드는 회원을 추가하는 두 가지 방식이다. 첫 번째 방식은 Member Entity를 인자로 받아서 처리하고 있고, 두 번째 방식은 CreateMembe..