분류 전체보기 212

EKS 환경에서 오브젝트(GitLab-Runner) 배포 -2

EKS 환경에서 오브젝트(Sonarqube, ArgoCD) 배포 -1 에 이어서 작성하도록 하겠다. 2.4 GitLab Runner 배포# helm 저장소 추가 및 업데이트helm repo add gitlab https://charts.gitlab.iohelm repo update2.4.1 namespace 생성# Namespace 생성kubectl create namespace gitlab-runner 2.4.1 GitLab Personal Access Token 생성 전체 소스 코드 apiVersion: v1kind: Namespacemetadata: name: gitlab-runner---apiVersion: v1kind: ServiceAccountmetadata: name: gitlab-run..

IaC 2025.01.03

EKS 환경에서 오브젝트(Sonarqube, Argocd) 배포 -1

CloudFormation을 통해 VPC, EC2, EKS 등 인프라를 생성하고EC2의 Shell Script를 통해 EKS 오브젝트(EKS Pod, Ingress)를 배포할 예정이다. 1.  사전 작업IaC(Cloudformation) 기반으로 인프라를 생성한다.Private EC2를 생성하여 EKS를 관리하고자 한다.메인 작업을 위해 EC2에 필요한 솔루션 설치 및 IAM Role 설정하여 환경 구성을 한다.모든 작업은 IaC 및 Script 기반으로 수행한다. (코드는 github 게시 예정)1.1 EC2 생성1.1.1 eksctl 설치https://wrynn.tistory.com/62curl --silent --location "https://github.com/weaveworks/eksctl/..

IaC 2024.12.06

Sonarqube, GitLab-Runner, ArgoCD 개념

일반적인 워크플로우개발자가 코드 작성/수정GitLab Runner가 CI/CD 파이프라인 실행SonarQube가 정적 코드 품질 분석 테스트 통과 시 ArgoCD가 새 버전 배포 오픈소스 도구Sonarqube정적 코드 분석 도구주요 기능:코드 품질 분석버그, 취약점, 코드 스멜 감지코드 중복 검사코드 커버리지 분석코딩 표준 준수 여부 검사사용 목적:코드 품질 향상기술 부채 관리보안 취약점 조기 발견 GitLab-Runner주요 기능:CI/CD 파이프라인 실행자동화된 빌드, 테스트, 배포 수행GitLab CI/CD 작업 처리사용 목적:자동화된 빌드/테스트 환경 구축지속적 통합/배포(CI/CD) 구현코드 변경사항 자동 검증  ArgoCD주요 기능:Git 저장소의 상태를 Kubernetes 클러스터에 자동 동..

Solution 2024.11.21

crontab을 활용한 정기 스크립트 실행

금번 프로젝트에서 WAF Rule이 제대로 작동하는지 확인이 필요하여 WAF Rule에 위배하는 요청을 발생하기로 했다.WAF Rule에 위배하는 요청 내용이 담긴 스크립트를 작성 후 Crontab을 활용하여 정기적으로 실행시키도록 하겠다.1. 스크립트 작성wget은 /var/bin/ 아래에 있어서 어디서나 wget만 써도 실행이 된다. (구체적인 위치 경로 작성 필요 X)/home/ssm-user/waf-rule-batch.sh 생성하였다.#!/bin/bashwget --no-check-certificate https://my-site.jiho.com/waf-rule  파일 실행 권한 추가chmod +x /home/ssm-user/waf-rule-batch.sh이후 스크립트를 실행할 수 있도록 실행 권..

Linux 2024.11.15

EC2에서 SFTP 서버 구축하기 (2) - ssh, sftp 모두 사용

참고 사이트: https://aegypius.tistory.com/entry/CentOS-ssh와-sftp-설정 [기억과 흔적:티스토리] 프로젝트에서 개발자 분이 솔루션 계정과 개인 계정을 만들어달라고 요청하셨다.개인 계정은 ssh 통해 접속이 필요하고 솔루션 계정은 sftp 통해 파일 전송 용도라고 하셨다.일반 사용자들에게는 파일 전송만을 허용하고, 관리자가 사용할 계정은 sftp와 ssh모두를 허용하도록 설정해 볼 것이다. 1. ssh 설정 파일 수정SSH 사용하지 않고 SFTP만 사용하는 사용자 계정 설정 - 루트 디렉터리 제한$ sudo vi /etc/ssh/sshd_config 아래줄에 다음 내용 추가# override default of no subsystemsSubsystem sf..

AWS/Project 2024.11.01

EC2에서 SFTP 서버 구축하기 (1) - 로그인 인증 방식(패스워드/키 페어)

프로젝트에서 SFTP 서버의 필요성이 제기되어 EC2에 SFTP 서버를 구축하고자 한다.SFTP 서버를 생성하여 별도의 SFTP 소프트웨어 설치 없이 SSH를 이용해 SFTP를 구성할 것이다. 특정 지역 센터에서는 키 페어 방식으로 붙고, 특정 사용자들에게는 패스워드 방식으로 로그인 인증을 진행하려고 한다.1. EC2 인스턴스 생성 및 SSH 설정2. 보안그룹 설정SFTP는 기본적으로 22번 포트를 사용하므로, 보안 그룹에서 포트 22에 대한 인바운드 규칙을 허용해준다. 3. 인증 방식 설정로그인 패스워드 인증 방식SFTP 사용자 계정 생성$ sudo user add sftpuser$ sudo passed sftpuser 키 페어 인증 방식클라이언트 측에서 공개 키 생성하고 SFTP 서버에 등록한다.$ ..

AWS/Project 2024.10.30

EC2에서 redis-cli를 통해 ElastiCache 접속

ElastiCache 클러스터 Redis OSS (Opensource Service) 생성하였다. EC2  ElastiCache EC2에 redis-cli를 설치하여 ElastiCache로 접속 테스트를 진행하도록 하겠다.사전 준비 사항 : EC2, ElastiCache 클러스터 생성, 서로 간 보안그룹(SG) 6379 포트 오픈Redis-cli 설치참고 문서:https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/nodes-connecting.html # gcc 설치$ sudo yum install -y gcc make# redis-cli 설치 및 압축 해제 후 소스코드 컴파일$ wget http://download.redis.io/redis-s..

AWS/Project 2024.10.30

시퀀스 다이어그램 작성법 (1)

참고 사이트: https://coding-factory.tistory.com/806  시퀀스 다이어그램 구성요소구성 요소표현 방법내용액터시스템으로부터 서비스 요청자로, 사람이나 외부 시스템을 표현객체메시지를 주고받는 주체생명선객체가 메모리에 존재하는 기간. 객체 아래쪽에 점선을 그어 표현함객체 소멸(X)이 표시된 기간까지 존재함실행 상자객체가 메시지를 주고받으며 구동되고 있음을 표현메시지객체가 상호작용을 위해 주고받는 메시지객체 소멸해당 객체가 더이상 메모리에 존재하지 않음을 표현프레임다이어그램의 전체 또는 일부를 묶어 표현.frame에는 다이어그램 이름을 표기. Sequence Diagram의 약자인 SD로 시작가드[ ]메시지가 송신되는 데 만족해야 하는 조건메시지 이름 앞에 [ ] 기호를 사용하여 G..

[정보보안기사] 06. 네트워크 활용(TCP/IP 구조)

애플리케이션 계층 (Application Layer) 애플리케이션 관련 서비스서비스내용FTP •File Transfer Protocol•사용자 파일의 업로드 혹은 다운로드를 수행하는 프로그램•파일 전송을 위한 인터넷 표준으로 제어 접속과 데이터 접속을 위한 분리된 포트를 사용함DNS •Domain Name System•DNS Query를 사용해서 DNS Server에 URL을 전송하고 해당 URL을 전송하고 해당 URL에 매핑되는 IP 주소를 제공하는 서비스HTTP •Hyper Text Transfer ProtocolTelnet •특정 지역의 사용자가 지역적으로 다른 곳에 위치한 컴퓨터를 온라인으로 연결하여 사용하는 서비스•4계층으로, 서버에서 HTTP 통신이 안될 경우, 통신 확인을 위해 사용SMTP ..