전체 글
-
[AWS] VPC 란 무엇인가Infra/aws 2024. 5. 23. 08:05
공부하기에 앞서..필자는 인프라 구축을 담당하고 있다.그러던 중 멀티 리전간의 통신을 가능하게 하기 위해VPC Peering 설정을 하려던 중무언가 잘못건드려 인터넷 통신을 끊어버렸던 전적이 있다... 결국 이사님께 전달하여 해결해주셨다... 혼나느라 원인을 여쭙질 못해서..스스로 공부해 원인을 파악해보려 한다.ㅠㅠ VPC 는 Virtual Private Cloud 의 약어이다.기존 EC2-Classic Platform이라는게 VPC가 나오기 전에는 있었다는데EC2 인스턴스들이 거미줄처럼 연결되어복잡도가 매우 높았다고 한다. 그런데 VPC를 적용하고 나면 VPC 별로 네트워크를 구축할 수 있으니VPC 별로 다르게 네트워크 설정을 줄 수도 있고VPC Peering을 통해 VPC 끼리 연결할 수도 있다..
-
[GitLab] EC2 인스턴스에 깃랩 러너 동작원리 + 등록하기 + SSL 구성Infra/gitlab 2024. 5. 12. 16:51
깃랩 러너란? GitLab Runner는 GitLab CI/CD와 함께 파이프라인에서 작업을 실행하는 애플리케이션이다. 기본적으로 CI/CD 파이프라인이 동작하면 뒤에서깃랩 러너는 프로젝트를 클론하고 .gitlab-ci.yml 파일을 읽는다. 그래서 연관된 task들을 실행시키고 최종적으로 그 실행 결과를 깃랩 인스턴스에게 전달한다. 위와 같이 내부적으로 priviliged 를 받은 러너가 호스트 머신에 docker container 를 동작시키고 있었다. 깃랩 러너들의 동작을 관리하는 것이 깃랩 콘솔이다. Go Language로 작성되어 있는 오픈 소스이다. 한 깃랩 아키텍처에서 여러 러너들을 추가하거나 삭제할 수 있다. Saas 형식으로 제공받을 수도 있고 온디맨드로 직접 깃랩 러너를 운영할 수 있..
-
[GitLab] 한 ec2 인스턴스로 여러 서비스 배포하기 - 1 (ec2 인스턴스에 gitlab-runner 설정하기까지)Infra/devOps 2024. 5. 5. 17:09
내가 다니고 있는 회사는 B2B 비즈니스를 하는 곳으로일반적인 사이트보다 트래픽이 적은 편이다. 위의 사진은 기존 우리가 사용하던 아키텍처이다. 간단히 설명을 하자면백엔드는 gitlab-ci를 통해 빌드된 도커 이미지를 ecr 에 올린 후 그 이미지를 우리의 elastic beanstalk 가 지정하고 있는 s3 버킷에 올려,ec2 인스턴스에 컨테이너로 동작시키고, 로드밸런서와 acm 과 도메인 설정을 해준다. 프론트는 빌드된 정적 파일을 s3 버킷에 올려 그 버킷을 원본으로 지정하는 클라우드 프론트를 동작시키는 것이다. 백엔드인지 프론트엔드인지 구분하는 것은 gitlab-ci.yml 의 rules 를 사용하였다. 이 배포 구조를 변경하려 했던 이유는ec2의 요금 정책과 관련이 있다. 위와 같이 인..
-
[JAVA]백준_1931_회의실 배정알고리즘/Greedy 2023. 7. 1. 11:53
문제: https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 유형: Greedy 코드: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { private static int count = 0; public static void main(String[] arg..
-
[JAVA]백준_18511_큰 수 구성하기알고리즘/BruteForce 2023. 6. 29. 13:45
문제 : https://www.acmicpc.net/problem/18511 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 www.acmicpc.net 문제 유형: 재귀, 부르트포스 코드: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class BOJ_18511_큰수구성하기 { private static int max = -1; publ..