일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- spring batch
- 도커
- 웹 서버
- virtualization
- web server
- 스프링 시큐리티
- 영속성 컨텍스트
- 가상화
- 컨테이너
- ORM
- CI/CD
- spring boot
- 백엔드
- 스프링 배치
- Container
- 데이터베이스
- Java
- JPA
- 자바
- 스프링
- mysql
- 스프링 부트
- vm
- HTTP
- Spring
- spring cloud
- 배포
- Spring Security
- computer science
- CS
- Today
- Total
목록전체 글 (138)
개발 일기

NAT Gateway"NAT Gateway는 Amazon Virtual Private Cloud(VPC)의 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스" NAT Gateway / NAT InstancePrivate 인스턴스가 외부의 인터넷과 통신하기 위한 통로NAT Instance는 단일 EC2 인스턴스 / NAT Gateway는 AWS에서 제공하는 서비스NAT Gateway / Instance 모두 서브넷 단위Public Subnet에 위치해야한다. Bastion Host"외부에서 사설 네트워크에 접속할 수 있도록 경로를 확보해주는 서버"Private 인스턴스에 접근하기 위한 EC2 인스턴스Public 서브넷에 위치해야한다.

보안 그룹(Security Group)"보안 그룹은 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다."NACL과 함께 방화벽의 역할을 하는 서비스Port 허용기본적으로 모든 포트는 비활성화선택적으로 트래픽이 지나갈 수 있는 Port와 Source(From) 설정 가능Deny는 불가능하다 ➜ NACL로 가능인스턴스 단위하나의 인스턴스에 하나 이상의 SG설정 가능NACL의 경우 서브넷 단위설정된 인스턴스는 설정한 모든 SG의 룰을 적용 받음기본 5개, 최대 16개Inbound : 들어오는 포트 + 요청을 받는 포트Outbound : 보내는 포트 + 응답을 보내야하는 포트Stateful : 외부에서 서버로 들어오는 트래픽이 있을 때(예: HTTP 요청), 해당 요청에 대한 ..

VPC(Virtual Private Cloud)우리가 흔히 사용하는 서비스들은 Public Internet에 존재하여 사용할 수 있는 것이다.AWS DynamoDB, S3, ECR 등 VPC 외부에 있는 AWS 서비스 들 또한 Public Internet을 통해 엑세스 한다. 그러나 VPC는 Public Internet을 통해 접속할 수 있는 것이 아니기 때문에 외부에서 다이렉트로 엑세스 할 수 없다.이때 AWS Services 또한 다이렉트로 VPC 내부에 엑세스 할 수 없는 것은 마찬가지이다.그래서 예를 들어 VPC 내부의 한 EC2 인스턴스에서 S3에 엑세스하고자 한다면 Internet Gateway를 통해 Public Internet으로 나간 다음에 다시 AWS Services의 Amazon S3..

Amazon SageMaker, Amazon Lex, Amazon Polly, AWS Batch 등이 ECS를 기반으로 동작한다. Built for Security, Reliability, Availability, and Scale 컨테이너 오케스트레이션 도구의 구조는 Control Plane과 Data Plane이 있는데 사용자가 원하는 상태로 동작하도록 관리하는 것이 핵심이다.Amazon ECS Construct크게 3가지로 구성된다. 첫번째로 Cluster테스크가 실행되는 논리적 그룹Region 내 서비스 및 작업의 논리적 그룹화IAM은 클러스터에 대한 사용자 권한 제어기본 인프라를 EC2를 사용할지 Fargate로 사용할지클러스터 생성 시 EC2 선택하면 ECS AMI 사용한 AutoScaling..

이슈처음에 아래와 같은 구조로 스프링부트 멀티모듈 프로젝트를 구성했다.그런데 기존에는 api모듈을 하나로 해서 진행했는데 장기간 개발해야하는 프로젝트여서 각 기능별로 분리해서 모듈화하기로 했다.그런데 기존에는 api가 하나로 되어있어서 단순히 bootJar를 true, jar를 false로 해놓고 jar로 묶어 도커 이미지를 만들어 배포를 했었느데 bootJar와 jar에 대해 잘 알지 못한 상태로 개발을 진행하여 모든 api모듈들의 build.gradle을 bootJar {enabled = true}jar {enabled = false}위와 같이 설정하였고 execute-app하위에 생긴 jar파일을 통해 도커 이미지를 묶었더니 domain-rds,common과 같은 의존성은 정상적으로 주입되었지만 C..

다익스트라 알고리즘(Dijkstra Algorithm)3학년 1학기 Computer Network 강의에서 처음 접하게 되었다. 이 알고리즘은 다이나믹 프로그래밍을 활용하여 하나의 정점에서 다른 모든 정점까지의 최단 경로를 구할때 사용한 알고리즘이였다.코딩 테스트에서는 위에서 말했듯이 정점간의 가중치가 있을 때 하나의 특정 정점에서 다른 모든 정점까지의 최단 경로를 구할때 사용할 수 있다.자바 코드import java.util.*;public class Dijkstra { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // 노드 개수 ..

그전에 JVM에 대해 다시 떠올려보자. JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고 한다.자바 애플리케이션을 실행하기 위한 가상 환경자바 바이트코드(.class 파일)를 특정 운영체제나 하드웨어 환경에 상관없이 실행할 수 있게 해준다.JVM은 OS와 독립적이므로 한 번 작성된 자바 코드가 다양한 플랫폼에서 실행될 수 있는 "Write Once, Run Anywhere"의 핵심적인 역할을 한다.컴파일 단계: .java 파일을 자바 컴파일러(javac)를 통해 .class 파일로 컴파일한다.클래스 로드: 컴파일된 .class 파일은 JVM의 ClassLoader에 의해 로딩된다.메모리 할당: ClassLoader는 .class 파일을 Runtime Data Area(런..
Iterator iter = combSet.terator()https://creampuffy.tistory.com/124 모의면접 복기 (1) - Hash, HashMap (완주하지 못한 선수)9월 24일 금요일, 모의 면접을 진행할 기회를 갖게 되었습니다. 부족했던 부분을 복기하며 하나씩 채워가고자 합니다. 1. 첫 풀이 완주하지 못한 선수를 IDE 도움 없이 라이브 코딩으로 풀어보는creampuffy.tistory.com // map의 각 키-값 쌍에 접근for (Map.Entry entry : hm.entrySet()) { if (entry.getValue() == maxScore) { winners.add(entry.getKey()); }} Iterator란? 반복자Ite..