반응형 [AWS-FRF]114 [중요2][AWS][BACKUP] 백업파일 보관 쉘스크립트 !! ## vi backup.sh 참고 #!/bin/bash # 백업 디렉토리 경로 설정BACKUP_DIR="/home/XXXadm/service/XXX/bin/backup" # 21일 이상 지난 백업 파일 삭제echo "Deleting backup files older than 21 days..."find "$BACKUP_DIR" -type f -name "*.jar" -mtime +21 -exec rm -f {} \;echo "Old backup files deleted." # 백업할 JAR 파일의 경로 설정 (경로를 실제 JAR 파일 경로로 수정하세요)JAR_FILE="/home/XXXadm/service/XXX/bin/XXX-module.jar" # 현재 날짜와 시간을 포맷팅 (예: 2024-08-26.. 2024. 9. 25. [중요][AWS] Simple SSM automation scripts in Amazon EC2!! ## 적용 SSM 배포 스크립트--- schemaVersion: "2.2" description: "Command Document Example JSON Template" mainSteps: - action: "aws:runShellScript" name: "deploy" inputs: runCommand: - "/home/XXXcomadm/service/XXXmq/bin/ssm_command.sh" ========================================================= ## EC2 에서 자동화 스크립트 실행 방법############################ While launching the EC2, use the below user da.. 2024. 9. 24. [참고][AWS] AmazonMQ (feat. ActiveMQ) AmazonMQAmazonMQ는 AWS에서 제공하는 관리형 메시징 서비스입니다. 현재 AmazonMQ는 Apache ActiveMQ와 RabbitMQ 브로커 엔진을 지원합니다. 본 포스팅에서는 AmazonMQ 브로커 엔진 중 ActiveMQ에 대해 알아봅니다.ActiveMQ지원되는 와이어 레벨 프로토콜AMQPMQTTMQTT over WebSocketOpenWireSTOMPSTOMP over WebSocker브로커 엔진ActiveMQ용 AmazonMQ 브로커의 배포 모드는 단일 인스턴스 브로커나 활성/대기 브로커로 생성할 수 있습니다.단일 인스턴스 브로커단일 인스턴스 브로커는 하나의 가용 영역(AZ)에 있는 하나의 브로커로 구성됩니다.브로커는 "애플리케이션(Client) Amazon EBS 또는 Amaz.. 2024. 9. 24. [참고] Basics of Amazon MQ!! ## 콘솔 화면 ## 웹접속 화면 ## 큐 생성 - 메시지 생성 (Send 클릭) - 메시지 ID확인 ## MQ보다 AWS SQS & SNS 사용 권장 ================ 실습 ==================## Amazon MQ 생성 https://www.youtube.com/watch?v=1WGtEGzQOyo 2024. 9. 24. [중요][AWS] Systems Manager용 Cron 및 비율 표현식!! ## 매주 월~금 아침 8시 30분에 시작 명령cron(0 30 8 ? * MON-FRI *) cron 및 rate 표현식에 대한 일반 정보 다음 정보는 유지 관리 창과 연결에 대한 cron 및 비율 표현식에 적용됩니다.단일 실행 일정연결 또는 유지 관리 창을 만들 때 UTC(협정 세계시) 형식으로 타임스탬프를 지정하여 지정된 시간에 한 번 실행되도록 할 수 있습니다. 예: "at(2020-07-07T15:55:00)"일정 오프셋연결 및 유지 관리 창은 cron 표현식에 대해서만 일정 오프셋을 지원합니다 . 일정 오프셋은 연결 또는 유지 관리 창을 실행하기 전에 cron 표현식에서 지정한 날짜와 시간 이후에 기다리는 일 수입니다. 유지 관리 창 예연관 예다음 명령에서 cron 표현식은 매월 셋째 화.. 2024. 9. 23. [중요][WAF] 실습으로 살펴보는 AWS WAF !! ## AWS WAF DOCS 조회 =================== 실습 ============================## WAF 설정 (정책없이 생성) ## WAF & ALB 연동 - Default Web ACL 은 Allow 설정 - 정책이 없어서 모두 허용됨 - WAF 로그 확인 (차단 필요) ## WAF Rule 생성- Add managed rule groups 클릭 - SQL Injection 공격시, 403 에러 발생 ==================================================================== ## WAF 로그 장기저장 방법 ## WAF 운영 방안 https://www.youtube.com/watc.. 2024. 9. 19. [중요2][AWS] WAF 기준 규칙 그룹!! ## GITLAB 에서 An error occurred editing the blob 에러시 WAF 확인 할 것!! ## WAF 적용룰 참고!! 기준 관리형 규칙 그룹은 다양한 일반적인 위협에 대한 일반적인 보호 기능을 제공합니다. 이러한 규칙 그룹 중 하나 이상을 선택하여 리소스에 대한 기준 보호를 설정합니다.참고 AWS 관리형 규칙 규칙 그룹의 규칙에 대해 게시하는 정보는 규칙을 사용하기에 충분한 정보를 제공하는 동시에 악의적인 공격자가 규칙을 우회하는 데 사용할 수 있는 정보는 제공하지 않기 위한 것입니다. 이 설명서의 내용 외에 더 많은 정보가 필요한 경우 AWS Support 센터에 문의하십시오.핵심 규칙 세트(CRS) 관리형 규칙 그룹 VendorName:AWS, 이름:AWSManage.. 2024. 9. 19. [중요2][AWS][JENKINS] HOW TO PUSH WAR FILE TO S3 BUCKET THROUGH JENKINS !! (젠킨스 S3 IAM 정책 설정 포함) ## 톰캣 재시작- sh shutdown.sh- sh startup.sh ## 젠킨스 플러그인 설치- github ## 프로젝트 생성- 빌드시 성공 ## Maven 설정- Manage Jenkins ==> Global Tool Configuration ==> Maven ## 프로젝트 추가 설정- maven3 선택- package - 빌드시 성공 ## 젠킨스 Plugin Manager ==> S3 publisher 설치 (S3 업로드용) ## 젠킨스 Configure System ==> Amazon S3 profiles 이동 및 설정 - S3 버킷 생성 (차단 설정) - S3용 액세스/시크릿키 생성 ## 프로젝트 추가 설정 (Post-build action)- Publish a.. 2024. 9. 19. [중요][AWS][S3] Configure AWS Backup for AWS Services | How to use AWS Backup and Restore | AWS Backup & Restore!! =================== 실습 ==================== ## S3버킷 생성 (버전 관린 활성화 할것!!) - 업로드 후, 버전닝 활성화 =================================== ## AWS Backup 이동1. Backup Plan 클릭 - 매일-35일-유지 템플릿 활용 1-1. Add Backup Rule 생성 (Backup Frequency 선택) : DailyBck 생성 - Backup Window 설정 2. Assign Resources 생성- S3backupdaily 생성 - 추가 창열고, IAM Role 생성 (AWSBckForS3) - 정책 2개 지정 - IAM 생성 후, 새로고침 (Assign Resources 재시도) - S3 자.. 2024. 9. 18. [중요][AWS] ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml 해결!! changed 1 package in 1s 1 package is looking for fundingrun `npm fund` for detailsScope: all 12 workspace projects ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with package.json Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile" Failur.. 2024. 9. 13. [중요][AWS] npm ERR! Missing script: "build:dev" 에러 해결!! > vite-base@0.0.0 bootstrap > npm install -g pnpm && pnpm install changed 1 package in 1s 1 package is looking for funding run `npm fund` for details WARN Unsupported engine: wanted: {"node":">=16.00"} (current: {"node":"v18.16.0","pnpm":"9.10.0"}) Scope: all 12 workspace projects Lockfile is up to date, resolution step is skipped Already up to date Done in 3.2s + npm run build:dev npm ERR! .. 2024. 9. 13. [중요][AWS] 젠킨스 Build step 'Invoke Gradle script' marked build as failure 에러 발생 해결!! * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.orgBUILD FAILED in 4m 52s 7 actionable tasks: 7 executed Build step 'Invoke Gradle script' changed build result to FAILURE Build step 'Invoke Gradle script' marked build as failure SSH: Current bui.. 2024. 9. 13. [참고][AWS] Direct Connect와 Site to Site VPN 비교하기!! ## Site to Site VPN & Client VPN 차이 ## Site to Site VPN (일반적인 사용 방법) ## 하나의 VPC당 하나의 가상 프라이빗 게이트웨이 연결 가능- 한 리전당 가상 프라이빗 게이트웨이 최대 5개 생성 가능 ## Direct Connect ## Site to Site VPN과 DX의 차이점 https://www.youtube.com/watch?v=Gj2Q2vkalfY 2024. 9. 12. [참고][Git] 원본 저장소 fork(포크) 및 동기화!! ## Fork 안되서, Import Project 수행 Git: 원본 저장소 fork 및 동기화프로젝트를 수행하다보면 Github에 공개된 오픈 소스 프로젝트들을 기반으로 코드를 수정해 사용하는 경우가 많습니다.보통 git clone을 이용해 원본 저장소의 소스 코드를 복제하고 해당 소스를 기반으로 수정해 자신의 저장소에 push해 사용합니다.그러다가 원본 저장소의 소스 코드가 업데이트될 경우, 해당 업데이트 내용을 내가 수정한 소스 코드에도 반영하고 싶은 순간들이 오게 됩니다.이럴 때 필요한 것이 fork 및 동기화입니다. Git 저장소 fork\n\n"}}" data-parsoid="{"dsr":[0,86,2,2]}"># 프로젝트 복제git clone 우선 자신이 사용할 프로젝트를 clone해 로.. 2024. 9. 12. [중요2][AWS][장애처리] EC2 루트/EBS볼륨 Attach 장애복구!! ## sudoers 파일 권한 변경후, 리부팅 안될시!! Amazon EBS 볼륨을 탑재할 수 없는 이유는 무엇입니까? Amazon Elastic Block Store(Amazon EBS) 볼륨을 탑재하려고 할 때 다음과 같은 오류가 발생합니다. root@:~# mount /dev/nvme2n1 /lv2mount: /lv2: wrong fs type, bad option, bad superblock on /dev/nvme2n1, missing codepage or helper program, or other error. 해결 방법Amazon EBS 볼륨을 탑재할 때 XFS 파일 시스템과의 UUID 충돌 문제로 인해 이 오류가 발생할 수 있습니다.UUID 충돌 문제인지 확인UUID 충돌 문제인지 확인하려면.. 2024. 9. 10. [중요][AWS] Internal NLB 연동시 중요사항!! ## NLB 연동은 정상이지만, 서비스 및 포트가 비활성화인 경우!! Trying 10.100.2.100... telnet: connect to address 10.100.2.100: Connection refused Trying 10.100.3.100... telnet: connect to address 10.100.3.100: Connection refused ## NLB 포트 차단시 증상 확인 할것!! (보안그룹 확인) Trying 10.100.2.100... ## 자신 EC2 ==> 내부 NLB ==> 자신 EC2 서비스 호출 불가- Looping 방지 목적 추정!! 2024. 9. 9. [참고][AWS][FastAPI] 307 temporary redirect 해결 방법 (Python) ## Vault 헬스체크 경로 (상태검사 307 발생시, 경로 설정 할것!!) vault health check path : /v1/sys/health FastAPI로 API를 제작하고 테스트 하면서 나는 분명히 한 번만 요청했는데 제대로 요청을 받았다는 200OK 응답이 나오기 전에> 307 temporary redirect위 코드를 복사하려면 여기를 클릭하세요.위와 같이 307 temporary redirect 라는 메세지가 한 번 나오고 나서 200OK가 나올 경우가 있습니다. 이 문제의 원인은 본인의 코드에서 endpoint 설정하는 부분을 보면 알 수 있습니다.@app.post(path="/api/v1/testAPI/", response_model=TestResponse)위 코드를 복사.. 2024. 9. 6. [중요][AWS] S3버킷 권한 정책변경 작업 !! ## devadm 사용자 권한 정책 변경 - 기존 정책 : AmazonS3FullAccess (모든 S3 권한, 모든 S3 버킷) - 변경 정책 : dev-file-***-allow-policy dev-file-***-allow-policy 정책 내용 ======================================= { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::dev-file-???", "arn:aws:s3:::dev-file-???/*".. 2024. 9. 3. [참고] AWS Systems Manager : Execute commands & scripts on EC2 Linux instance Remotely | AWS SSM | 2021 1. 우분투 설치2. IAM (Instancecore) & Attached2. System Manager ==> Managed Instance (Online 확인)4. 명령어 실행 ==> Run Command ==> aws-runshellscript ==> command parameter (실행자 확인 할것!!)---- deploy.sh#! /bin/shsudo -isu frf~~cd .systemctl stop ~~~sleep 3aws s3 cp s3://~~ /home/~~sleep 3backup.shsleep 3systemctl start ~~~ https://www.youtube.com/watch?v=FOBueFDPVF4 2024. 9. 1. [중요][젠킨스] Item Description ( 설명 ) HTML 형식으로 작성하기!! 먼저 플러그인이 필요하다.Jenkins 관리 -> 플러그인 관리 로 들어간다. 설치 가능 탭을 클릭하고 OWASP Markup Formatter 을 검색하고 설치한다.설치 후 재시작이 필요하다. ※ 폐쇄망 또는 내부망 사용으로 설치가 되지 않는다면 아래 방법으로 설치하자. 플러그인 다운로드 링크 : https://plugins.jenkins.io/antisamy-markup-formatter/#releasesOWASP Java HTML Sanitizer to allow safe-seeming HTML markup to be entered in project descriptions and the like." data-og-title="OWASP Markup Formatter" data-og-.. 2024. 8. 30. [중요][AWS] ElastiCache Redis 클러스터 생성 방법!! Redis란?Redis(레디스)는 Remote Dictionary Server의 약자로 "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 2009년 살바토르 산필리포가 처음 개발했다. 2015년 부터는 Redis Labs가 지원하고 있다. 모든 데이터를 메모리로 불러와 처리하는 메모리 기반 DBMS이다. ElastiCache for Redis란?Redis용 Amazon ElastiCache는 인터넷 규모의 실시간 애플리케이션을 지원할 수 있도록 1밀리초 미만의 지연 시간을 제공하는 놀랍도록 빠른 인 메모리 데이터 스토어입니다. 오픈 소스 Redis를 기반으로 구축되고 Redis API와 호환되는 Redis용 ElastiCache.. 2024. 8. 30. [중요][AWS][Linux] systemctl 명령어로 서비스 등록, 생성, 삭제!! Linux Systemd란 무엇인가? https://en.wikipedia.org/wiki/Systemd 리눅스를 실행시키면 systemd라는 프로세스를 한번 쯤 보신 적이 있으실 겁니다. systemd는 PID1에 속해있을 만큼 굉장히 중요한 역할을 하는데 바로 Linux 운영체제용 시스템 및 서비스를 관리하는 역할을 수행합니다.PID1이므로 부모 프로세스가 없고 Linux가 부팅되었을 때 가장 먼저 실행되며 사용자가 Linux를 사용할 수 있도록 초기 서비스들을 병렬적으로 실행시켜주는 역할을 합니다. 그리고 가장 마지막에 종료되어 시스템 및 서비스를 종료시키는 역할도 합니다. 기존에는 가장 오래된 init 시스템 중 하나인 Unix System V init system(SysV)와 같은 init 시스.. 2024. 8. 30. [Spring] bootjar과 그냥 build의 차이!! 개요프로젝트 배포를 진행하기 위해 빌드를 진행하던 와중 아래와 같은 오류가 뜨며 빌드가 진행되지 않았다.그래서 백엔드 챕터를 맡고있는 팀원에게 물어보니 ./gradlew bootjar 로 빌드를 해보란다. 그래서 그냥 했더니어레 왜 되냐 이거 제대로 빌드가 안된거 아닐까 하고 실행해보니실행까지 잘 돼서 이게 대체 뭐가 다른걸까 하고 궁금증이 들어 조사하고 공부해보게 되었다.Gradle buildgradle build는 bootjar과 달리 내부 동작이 더 많으며 길다.(그 내부동작에 bootjar도 포함되어있다) build는 test 코드가 있다면 테스트도 수행을한다.모든 테스트 실행, 프로덕션 아티팩트 생성 및 문서 생성을 포함하여 모든 것을 구축하기 위한 것이다.build가 bootjar과 다른 것들.. 2024. 8. 29. [중요][AWS] 호환되지 않는 파라미터 상태에서 멈춘 Amazon RDS DB 인스턴스 해결!! ## max_connections 값 1000 ==> 500 으로 변경 후 해결!!(멀티AZ 설정 후, 값 조정 필요) Amazon Relational Database Service(Amazon RDS) 인스턴스가 파라미터가 호환되지 않는 상태로 멈췄습니다. DB 인스턴스에 연결하거나 수정할 수 없습니다. 삭제하거나 재부팅하는 것만 가능합니다. 이 문제를 해결하려면 어떻게 해야 하나요?간략한 설명Amazon RDS DB 인스턴스가 incompatible-parameters 상태라는 것은 연결된 그룹의 파라미터 중 하나 이상이 현재 엔진 버전 또는 DB 인스턴스 클래스와 호환되지 않는 값으로 설정되었음을 의미합니다.다음과 같은 원인으로 발생할 수 있습니다.이전 인스턴스보다 사용 가능한 메모리가 적은 인스턴.. 2024. 8. 27. [중요2][AWS] GitLab 저장소 이전하기!! GitLab 인스턴스의 프로젝트를 다른 GitLab 인스턴스로 옮기는 방법을 소개하겠습니다.Git 커멘드를 사용하는 방법 원격 저장소 URL 변경 가장 간단한 방법은 git remote의 URL을 변경하는 것입니다. 이 방법은 기존의 커밋 히스토리, 브랜치, 태그 정보를 그대로 유지하면서 저장소의 위치만 변경합니다. Git 미러링 `git mirror`를 사용하는 방법입니다. 기존 저장소를 새 저장소로 완전히 복제합니다. 이 방법 역시 커밋 히스토리, 브랜치, 태그 정보를 그대로 유지합니다. 위 두 방법은 모두 MR(Merge Request)이나 사용자 설정등은 복제되지 않습니다. MR이나 사용자 설정까지 복제하기 위해서는 GitLab Export/Import 기능을 사용해야 합니다. Gi.. 2024. 8. 27. [중요2][AWS] 깃랩 Import and export settings !! ## 타 깃랩 ==> 깃랩 이전시 GitLab Export 활성화 필요!!- Admin 계정 ==> Setting ==> General ==> Import and export settings Import and export settingsTier: Free, Premium, UltimateOffering: Self-managedSettings for import- and export-related features.Configure allowed import sourcesBefore you can import projects from other systems, you must enable the import source for that system.Sign in to GitLab as a user wit.. 2024. 8. 27. [중요][AWS] 기본 KMS 키를 사용하여 암호화된 RDS를 다른 AWS 계정으로 복사하는 방법!! ## 해결 방안!!Restoring db instance from cross account storage encrypted snapshot is not supported 일반적으로 데이터베이스 복제는 덤프 및 복원을 통해 매우 쉽습니다 . 그러나 AWS RDS에 데이터베이스가 있고 해당 RDS가 기본 제공 AWS KMS 키로 암호화된 경우 그렇게 간단하지 않습니다. AWS에서는 스냅샷을 다른 계정과 공유할 수 없습니다.이 문제를 극복하기 위해 몇 가지 추가 단계가 필요합니다. 이 문서에서는 스냅샷을 복사하는 방법을 보여드리고, 마지막으로 공유된 스냅샷을 사용하여 RDS를 복원합니다.소스 데이터베이스다음과 같이 소스 계정에 간단한 Postgres 데이터베이스를 생성했습니다.앞서 언급했듯이 이 RDS .. 2024. 8. 26. [중요][AWS] Putty 자동로그인 설정 / GITLAB 터널링 설정!! ## MSSQL 접속을 위한 SSMS 사용시, XSHELL 로 터널링 구성할 것!! ## Putty 자동로그인 설정 - 사용자 계정 확인 할것!! ## GITLAB 터널링 설정 - 노트북 사용포트 : 8888 - Bastion 정보 : 10.0.X.X:8091 - 노트북에서 로컬 접속 테스트 : telnet localhost 8888 ## 웹브라우저 접속 성공 2024. 8. 26. [중요] Jenkins(젠킨스), GitLab ↔ Jenkins ↔ EC2 연동하여 CI/CD 구축!! 🔍 Jenkins(젠킨스)소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴 = CI (Continuous Integration)젠킨스는 서브버전, Git 과 같은 버전 관리시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다.✅ 설치조건최소 하드웨어 요구 사항256MB RAM1GB 드라이브 공간(Jenkins를 Docker로 실행하는 경우 최소 10GB 권장) 📌 GitLab 설정1. Access Tokens 발급## 프로젝트 별로 액세스토큰 발급 필요 프로젝트 → Settings → Access Tokens → 화면에 나온대로 입력, 체크 → Create project access token( access token은 한번만 볼수있기 때.. 2024. 8. 26. [중요2][AWS] Jenkins + Spring Boot 배포!! ## 젠킨스 설치 ## https://bit.ly/okdevtv2311 접속 https://docs.google.com/spreadsheets/d/1zfIfuxFNIvnLxMeQ3mifyzRfmO9u-Qniyn6jzpxr34M/edit?pli=1&gid=190218357#gid=190218357젠킨스 인스턴스 생성 zshsudo dnf install zsh git util-linux-user htop -yoh-my-zshsh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"exitexitjava11 mavensudo dnf install java-11-amazon-corretto-headle.. 2024. 8. 23. 이전 1 2 3 4 다음 반응형