인프라 9

젠킨스 플러그인 설치 오류 - java.net.sockettimeoutException

상황 프리티어 EC2에 Swap 메모리를 설정하고 도커를 설치한다음 Jdk 11버전 Jenkins 최신버전 이미지를 run 했다. 그리고나서 추천플러그인을 설치하는데..(참고로 이후에도 jenkins/jenkins:latest 로 최신버전 이미지를 pull했는데도 같은 상황이다) 다음과 같이 몇 개의 플러그인들은 설치가 됐지만 다른 것이 설치가 안되었다. 도커 로그 명령어 (docker logs -f [컨테이너명])을 봤는데 네트워크 오류인가 SocketTimeoutException: connect timed out이라는 에러가 생겼다. 정말 여러 상황이 있는데 차근 차근 본인이 속한 오류가 뭔지 생각해보자 네트워크 연결 확인 젠킨스 이미지를 실행시킬 때 볼륨 생략하고 보통 이렇게 띄울 수 있다.`sud..

인프라 2024.02.06

github actions를 통한 CI/CD 구축 (+ 도커)

CI(Continuous Integration): 지속적 통합, 배포 가능한 아티팩트(Jar / Image)를 빌드하는 단계 CD(Continuous Delivery/Deployment): 지속적 배포, 실제 환경에 아티팩트를 배포하는 단계 CI/CD 파이프라인을 구축해야 하는 이유 파이프라인은 소스코드에서 시작해서 배포 환경 관리까지의 모든 프로세스를 자동화하는 것을 의미한다. 파이프라인이 없을 경우 사람이 직접 빌드 및 배포를 수행해야하고, 휴먼 에러가 발생하고 표준화가 어려워진다. GitHub Actions 장점 - 깃허브는 파이프라인을 구성하고 자동화할 수 있는 깃허브 액션을 제공한다. - 깃허브에 소스코드를 푸시하면 깃허브 액션에서 CI/CD 파이프라인을 자동으로 실행시킬 수 있다. - 깃허브 ..

인프라 2024.02.01

리눅스 서버에서 자주 쓰는 명령어 모음

서버에 접속하기 서버간 ssh 연결 구성 - Bastion Server를 사용할 별도의 EC2를 생성하고, Bastion Server에서 서비스용 서버에 ssh연결을 설정하는 단계이다. - 서비스용서버에 Bastion Server, 즉 관리자용 서버만이 접속할 수 있게 rsa 로그인 방식으로 공개키/개인키를 생성한다. - id.rsa.pub을 실행하면 공개키 값이 나오는데 그걸 복사하고 서비스용 서버에 접속하여 authorized_keys에 붙여넣기하면 이제 개인키를 가지고 있는 Bastion Server만이 서비스용 서버에 접속할 수 있다. 별칭 설정 예시 위와 같이 설정을 하면 IP입력 없이 서비스용 서버로 접속도 쉽게 할 수 있다 Shell 사용환경 바꾸기 복사용도 더보기 $ sudo vi ~/.b..

인프라/linux 2024.01.19

망 구성하기(외부망/내부망)

이번 글은 목차대로 원하는 곳에 가서 보는 방식의 구성을 하기가 조금 어려웠다. 결국 이번엔 위를 수행해야 아래를 수행할 수 있는 실습 방식으로 글을 썼다. VPC 생성 EC2 인스턴스들이 그냥 서로 막 연결되고 인터넷에 연결만 되는 요구사항이라면 VPC 생성할 필요가 없다. 그런데 이런식으로 망을 구성하면 (구성도 아니고 그냥 인스턴스만 생성한 것이다) 시스템의 복잡성도 올라가고 하나의 인스턴스가 추가되면 그에 대해 누구랑 연결해야 할지 누구랑은 연결이 되면 안될지 구성하는 데 시간이 많이 걸린다. vpc를 적용하면 vpc별로 네트워크를 구성할 수 있다. 하지만 내가 하는 프로젝트는 가장 작은 규모의 프로젝트이기 때문에 하나의 VPC만을 생성하면 된다. 1. aws VPC 들어가서 VPC 생성 클릭 2..

인프라/aws 2024.01.17

본인 PC에서 네이버 서버까지 연결하는 전체적인 그림

1. 동그라미 친 PC가 새로 산 본인 PC라 가정하자. 먼저 컴퓨터를 키면 IP, GateWay, DNS, Subnetmask 가 빈칸인 상태이다. 이때, 자동설정으로 둔 경우 동그라미 친 PC는 이 4가지를 알기 위해서 DHCP 서버를 찾는 broadcast를 보낸다. 그러면 스위치를 거쳐 분산 스위치를 거쳐 여기저기로 해당 내용을 보낸다. (단, 해당 LAN영역에만 보낸다. 인터넷 너머로는 보내지 않는다) 2. 그렇게 각종 호스트는 이 응답내용을 받을 것이고 본인이 DHCP가 아니면 폐기한다. DHCP 서버는 이 내용을 받고 새로 할당한 IP 주소 + GateWay 주소 + DNS 주소 + SubnetMask 주소를 해당 PC에 보내준다. + 집 공유기가 보통 DHCP 서버 기능을 내장하고 있다. ..

1.4MB 사진 파일이 서버에서 클라이언트로 전송되는 방식

예를들어, 네이버라는 서버가 있고 한 클라이언트가 네이버서버에 사진 파일 (약 1.4MB 정도의 크기. 패킷 MTU 보다 약 1400배 큰 크기)을 요청 한다고 하자. 네이버 서버는 먼저 HDD / SDD 에 저장된 1.4MB 파일을 애플리케이션에 올린다. 그러나 보통은 1.4MB라는 방대한 크기를 한꺼번에 읽어서 올리지는 않는다. 예를들면 애플리케이션 내에 버퍼 (자료구조 중 하나를 이용할거라 추측된다) 크기가 15바이트 정도라면 1.4MB의 사진 파일 중 5픽셀 정도(RGB 채널 이라면 1픽셀당 3바이트 이기 때문에) 만큼 NIO Buffer를 활용해서 copy 작업을 한다. 이제 socket 파일의 출력 스트림에 버퍼에 저장되있던 데이터를 I/O Copy를 한다. (Send / Receive 작업..

Wireshark 단순하고 기본적인 사용법

설치 https://www.wireshark.org/download.html 접속 본인 운영체제에 맞는 프로그램 설치 Read me first.html을 열어 추가적으로 설치해야 될 부분을 확인 패킷을 capture 하는 것이 필요하기 때문에 ChmodBPF 패키지도 설치한다. 그리고나서 Wireshark 애플리케이션을 실행시킨다. Capturing packets capture 섹션에서 NIC들을 확인이 가능하고 네트워크에 연결된 부분을 확인할 수 있다. 현재 이더넷은 연결 안되있고 WIFI만 연결되있는 상태임을 확인할 수 있다. 이제 네트워크에 연결되있는 NIC 중 하나를 선택하여 더블 클릭하면 그 NIC에서 전송되고 있는 여러 패킷들을 확인할 수 있다. 여기서 캡처하는 동안 특정 웹사이트에 접속해보고..

Ubuntu에서의 X 서버 연결 문제 해결 방법(cannot open display)

문제 상황 'dconf-editor'라는 GUI 애플리케이션을 콘솔에서 실행하려 했지만 "cannot open display"라는 오류가 발생했다. 이는 X 서버에 연결하지 못했을 때 나타나는 오류이다. 해결 전략 이 문제를 해결하기 위해 KDE라는 그래픽 사용자 인터페이스를 설치하고, SSH의 X11 포워딩 기능을 사용하여 원격에서 그래픽 애플리케이션을 실행하는 방법이 있어 먼저 KDE를 설치했다. apt-get -y install kubuntu-desktop 명령으로 KDE Plasma를 설치 설치가 완료되면 reboot 명령으로 재부팅한다 SSH 서버가 설치되있지 않거나 실행되지 않고 있다면 1. apt-get -y install openssh-server 명령으로 SSH 서버를 설치 2. 다음 명..

인프라/linux 2023.11.24