티스토리

KK_Ryong
검색하기

블로그 홈

KK_Ryong

kk-young.tistory.com/m

까먹을까봐

구독자
0
방명록 방문하기

주요 글 목록

  • AWS Log EC2 to S3 .sh (이전 30일 치) 기존에 있는 로그 30일치 업로드 시  #!/bin/sh for day in {30..1}; do     BASE_DT=$(date -d "$day days ago" +%Y-%m-%d)     SOURCE_DIR=/app/server/was-tomcat-9.0.83/logs/     S3_BUCKET=hm-shopby-logs     S3_PATH=s3://$S3_BUCKET/was-access-log/year=${BASE_DT:0:4}/month=${BASE_DT:5:2}/day=${BASE_DT:8:2}     UPLOAD_LOG=/app/aws-cli/util/log/was-access-log.$BASE_DT.log     INST_ID=$(ec2-metadata -i | awk -F' ' '{pr.. 공감수 0 댓글수 0 2024. 11. 1.
  • AWS Log EC2 to S3 .sh #! /bin/sh BASE_DT=`date +%Y%m%d -d -1days` SOURCE_DIR=/app/server/was-tomcat-9.0.83/log/ S3_BUCKET=hm-shopby-logs S3_PATH=s3://$S3_BUCKET/service-log/year=${BASE_DT:0:4}/month=${BASE_DT:4:2}/day=${BASE_DT:6:2} UPLOAD_LOG=/app/aws-cli/util/log/service.log.$BASE_DT INST_ID=`ec2-metadata -i | awk -F' ' '{print $2}'` S3_FILE_LIST=() S3_LS_RESULT=`/app/aws-cli/bin/aws s3 ls $S3_PATH/$INST_ID --profi.. 공감수 0 댓글수 1 2024. 10. 28.
  • S3 비용 최적화 검색 GB 당 비용이 스토리지 클래스 및 수명주기 적용자주 접근 하지 않는 버킷 폴더에 지능형 계층화로 변경1달 이상 접근 하지 않을 자료의 경우는 Standard-IA 로 전환 버킷 - 관리 - 수명 주기에서 설정 가능 / (폴더 및 단일로 할 수 있지만 사본이 생기므로 수명 주기가 깔끔)지능형 계층화 - 가장 비용 절감에 효과적인 티어Standard-IA - 접근이 자주 있진 않지만 빠르게 접근 할 떄 사용 / 스토리지 및 검색 GB 당 비용 청구One Zone-IA - 단일 AZ에 저장하여  Standard-IA 보다 20% 저렴 / 다른 클래스는 최소 3개 AZGlacier - 장기적으로 접근 하지 않는 클래스류 공감수 0 댓글수 0 2024. 7. 19.
  • Redis용 Amazon MemoryDB 구성 채팅 서버에서 활용 할 redis 구성 중 채팅 내용을 가지고 있어야 할 이슈가 있었는데 기존 redis 는 휘발성이여서 Hot Data가 필요하여 AWS 서비스인 Redis용 Amazon MemoryDB 사용 ■ Redis용 Amazon MemoryDB 이동 ■ 클러스터 생성 전에 보안그룹 | 서브넷 그룹 생성 (Private) | 파라미터 그룹도 생성 ■ 새 클러스터 생성 - 이름,서브넷,클러스터 설정 후 다음으로 ■ 보안그룹 적용 후 전송 중 암호화에서 암호화 없음으로 (TLS로 한뒤 ACL 설정을 제대로 해주지 않으면 소스에서 접속 자체가 되지 않음) (ACL 적용 되면 관리 포인트가 늘어남으로 접근제어는 보안 그룹으로 해주고 암호화 필요 시 소스에서 할 것) ■ 스냅샷, 유지 관리는 필요 시 설.. 공감수 0 댓글수 0 2024. 3. 7.
  • AWS EC2 blue/green Deploy (신규 서비스 생성) AWS 정책 변경으로 인해 콘솔에서 블루/그린 배포로 생성 할 수 없게 되었다 클러스터 까지는 생성 하고 서비스 단에서 aws cli + code deploy 각각 활용 하여 블루/그린화 시켜야 한다 기존 클러스터와 태스크 생성은 동일 하나 서비스 생성은 아래와 같이 하면 된다 ecs.json 파일로 저장 (D:\) { "cluster": "walk-stg-cron", "serviceName": "walk-stg-cron", "taskDefinition": "walk-stg-cron", "loadBalancers": [ { "targetGroupArn": "타겟그룹 ARN", "containerName": "WALK-CRON", "containerPort": 8080 } ], "launchType": ".. 공감수 0 댓글수 0 2023. 10. 12.
  • ECS blue/green | jenkins ECS 클러스터 생성 후 서비스 생성 시 좌측 상단에 새로운 ECS 환경 체크 해제 후 생성 해줘야 블루그린 옵션 선택 가능 (서비스 생성 시 deploy 생성 가능 하며 따로 deploy 생성 후 연결 해줘도 됨) ■ESC update■ 기존 ecs 서비스 강제 업데이트 시 deploy 에 물려있어 ecs 업데이트 명령어가 먹히지 않는다 deploy 업데이트 해주는 방식으로 변경 S3 appspec.yaml 생성 해서 넣어두기 (아래는 ecs 블루그린으로 생성 하면 자동으로 deploy 에 생성 되는 값을 S3에 위치 { "version": 1, "Resources": [ { "TargetService": { "Type": "AWS::ECS::Service", "Properties": { "TaskDe.. 공감수 0 댓글수 0 2023. 9. 18.
  • ecs container access log > cloudwatch ■ecs IAM 역할에 CloudWatchAgentServerPolicy 넣어주기 sudo su yum install -y awslogs sed -i "s/region = us-east-1/region = ap-northeast-2/g" /etc/awslogs/awscli.conf mkdir /access_logs echo -e '/usr/bin/find /var/lib/docker/volumes/ -name "access_log.*" -exec cp -f {} /access_logs \;' >> /home/ec2-user/accesslog.sh echo -e 'systemctl restart awslogsd' >> /home/ec2-user/accesslog.sh cat /etc/awslogs/awsl.. 공감수 0 댓글수 0 2023. 6. 30.
  • Docker 설치 스크립트 sudo yum update -y ################### sudo yum install docker -y sudo service docker start sudo usermod -aG docker ec2-user sudo chmod 666 /var/run/docker.sock sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo .. 공감수 0 댓글수 0 2023. 6. 2.
  • EC2 사용자 데이터 #!/bin/bash sudo su yum update -y yum install -y vim sudo rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime echo -e "\nalias vi='vim'" >> /etc/profile echo -e "\nexport TMOUT=60000" >> /etc/profile #all user history echo -e '\nHISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S: >> "' >> /etc/profile echo -e "\nexport HISTTIMEFORMAT" >> /etc/profile echo -e "\nalias ll='ls -al'" >> /et.. 공감수 0 댓글수 0 2023. 6. 2.
  • ecs 생성 로그 logrotate.conf sudo su echo -e "\n /var/log/ecs/audit.log.* { rotate 100 daily missingok maxage 7 } /var/log/ecs/ecs-agent.log.* { rotate 100 daily missingok maxage 7 } /var/log/ecs/ecs-volume-plugin.log.*{ rotate 100 daily missingok maxage 7 }" >> /etc/logrotate.conf cat /etc/logrotate.conf exit 공감수 0 댓글수 0 2023. 6. 2.
  • ECS+ECR+Jenkins+Github ■■■■■Jenkins > Github■■■■■ 키 생성 후 스프링 부트 파일을 jenkins 서버로 가져오게끔 설정 해두고 진행 Github 는 배포와 웹훅 설정 ■■■■■Jenkins Project 설정■■■■■ ■■■■■가져온 jar 파일 컨테이너화 ■■■■■ Dockerfile FROM openjdk:17-alpine # export port EXPOSE 8080 # set spring profiles ARG JAR_FILE=webtoon_api.jar # copy project -> /docker COPY ${JAR_FILE} /usr/src/springboot/app/webtoon_api.jar # ENV -Dspring.profiles.active=stg # run application EN.. 공감수 0 댓글수 0 2023. 4. 21.
  • ECS+ECR 업데이트 도커 파일 (같은 디렉토리) FROM openjdk:17-alpine # export port EXPOSE 8080 # set spring profiles ARG JAR_FILE=webtoon_api.jar # copy project -> /docker COPY ${JAR_FILE} /usr/src/springboot/app/webtoon_api.jar # ENV -Dspring.profiles.active=stg # run application ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=stg", "/usr/src/springboot/app/webtoon_api.jar"] 실행 sh 파일 profile="--profile toon" ecr="****.. 공감수 0 댓글수 0 2023. 4. 14.
  • CF+ALB+EC2(Thumbor)+S3=이미지 리사이징 서버(테스트) Route53 에서 도메인 생성 후 CF 로 연결 CF 에서 원본을 ALB로 설정 한 뒤 HTTPS로 설정 후 포트는 ALB HTTPS 로 받을 포트로 설정 (9000port) 동작에서는 Redirect http to https 로 설정 후 캐시 설정 해주고 원본 요청 정책을 AllViewer 로 해줘야 HTTPS 설정으로 Thumbor 실행이 자연스럽게 됨 EC2에 Thumbor 설치 후 보안 및 대상 그룹 설정(HTTP) (외부 통신 가능해야함) S3는 Private로 설정 후 아래 정책으로 Thumbor EC2만 오픈 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObje.. 공감수 0 댓글수 0 2023. 4. 6.
  • AWS 도메인 오픈 순서 Route53에서 ALB로 도메인 추가 ALB 생성 및 해당 포트 연결 (http,https) TG 대상 그룹 생성 (포트 별로) ALB+EC2 SG 추가 EC2 TG 는 ALB 로 연결 80으로 여러 도메인 붙을 경우 Rule 로 도메인 마다 TG 설정 Route53 > ALB-SG > ALB > TG > EC2-SG > EC2 공감수 0 댓글수 0 2023. 3. 16.
  • AWS MSK+Docker+Prometheus+Grafana(테스트) aws 문서 https://catalog.us-east-1.prod.workshops.aws/workshops/c2b72b6f-666b-4596-b8bc-bafa5dcca741/en-US/openmonitoring/installwithdocker 도커 설치 sudo yum install docker -y 도커 서비스 실행 sudo service docker start sudo 명령어 없이 commands 실행 sudo usermod -aG docker ec2-user 디렉토리 생성 /home/ec2-user/prometheus yml.json 파일 생성 -------------------------------------------------------------------------------------.. 공감수 0 댓글수 0 2023. 3. 6.
  • AWS 정적 사이트 구축 (GitAction,S3,CloudFront,Route53) (간단히) ■■■S3 버킷 생성■■■ Redirect HTTP to HTTPS / GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE / Caching Optimized / 액세스 모두 차단 / 정적 웹 호스팅 활성화 버킷 정책은 CF 만든 후 원본액세스를 활용 하여 넣어주기 ■■■CloudFront■■■ CloudFront 생성 (원본액세스 권장으로 하여 생성) (도메인과 SSL 은 없을 시 새로 발급 받기 ) 정적 웹 사이트 시 오류페이지에 403,404 /index.html 넣어주기 ■■■Route53■■■ Route53 으로 도메인 별 CF 와 연결 시켜주기 A레코드,Cname ■■■접속 테스트■■■ aws s3 cp [올릴파일 위치] [S3버킷] --profile [접근할 계정.. 공감수 0 댓글수 0 2023. 3. 3.
  • AWS MSK 구축 ■■■VPC 생성 (coco-VPC) - 20.0.0.0/16 ■■■ Subnet 생성 (coco-dev-subnet) - 20.0.0.0/24 public1 - 20.0.1.0/24 public2 - 20.0.2.0/24 private1 - 20.0.3.0/24 private2 ■■■ 보안그룹 생성 - coco-MSK-sg ■■■ MSK Cluster 생성 (coco-MSK-cluster-02) - kafka 2.8.1 (권장) 버전 - 영역 수 2 (테스트용) - 영역당 브로커 1 - 스토리지 20G - AWS MSK 기본 구성 - 서브넷 private1,private2 에 생성 - 액세스 IAM 방식 - AWS 관리형 키 사용 - 기본 모니터링 + Prometheus 사용 가능 - CloudWatc.. 공감수 0 댓글수 0 2023. 2. 28.
  • AWS Route53-CloudFront-S3 연동 ●●●S3 버킷 생성●●● 객체에 index.html 넣어두기 속성 - 기본암호화 (SSE-S3,버킷키 활성화) | 정적 웹 사이트 호스팅 index.html 설정 권한 - 퍼블릭 액세스 차단(모든 버블리기 차단 | 버킷 정책 - Front 원본 액세스에서 ID(레거시) 생성 후 배포 원본 설정에서 S3 버킷 액세스 Legacy 로 설정 해주면 정책이 들어가짐 객체 소유권 - ACL 비활성화 ●●●CloudFront 생성●●● 보안 원본 액세스 - ID(레거시) 생성 배포생성- 원본 도메인-S3 만들어둔 버킷 선택 버킷 액세스 - Legacy 로 한 뒤 원본 액세스에서 생성한 OAI 선택 설정 - CNAME 실제 접속할 URL 설정 (Route53 레코드 이름) 인증서- 발급 받아둔걸로 설정 (없으면 새.. 공감수 0 댓글수 0 2023. 2. 17.
  • AWS EC2,RDS 스케쥴 가동(자동 시작/종료) 적용 할 EC2 Tag로 auto-schedule / True 추가 RDS Tag에는 autostart / autostop 추가 ㅁㅁㅁㅁㅁIAM 역할 추가 ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁEC2 정책 시 lambda 로 생성 한 뒤 넣어 주기 { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:Start*", "ec2:Stop*" ], "Resource": "*" } ] } ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁRDS 역할 및 정책ㅁㅁㅁㅁㅁ ㅁㅁㅁㅁㅁ ㅁㅁㅁㅁㅁ ㅁㅁㅁㅁㅁ AWSLambdaBasicExecutionRole 정책 추가 및 아래 정책 생성 후.. 공감수 0 댓글수 0 2023. 2. 15.
  • AWS S3 버킷 다른 Account로 복제 소스 버킷 확인 후 옴겨질 타겟 버킷 생성 및 속성 세팅 (111.co.kr > 222.co.kr) (같은 이름 생성 안되어 1.이동 2.원본삭제 3.원본 이름으로 생성 4.복제에서 다시 복제 5.첫 복제본 삭제) ㅁIAM 생성 옴겨질 Account IAM 정책 생성 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::소스 버킷", "arn:aws:s3:::소스 버킷/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:PutO.. 공감수 0 댓글수 0 2023. 2. 14.
  • AWS Route53 호스팅 영역 다른 Account Route53으로 이전 Route53 호스팅 영역 다른 Account로 이전 AWS CLI 설정 후 -이전 할 기존 Route53 호스팅 영역의 레코드 파일 만들기- (CLI 설정 한 프로파일로 접근) aws route53 --profile [이름] list-resource-record-sets --hosted-zone-id hosted-zone-id [호스팅 영역ID] > C:\test.txt -해당 레코드 파일 편집- 두 번쨰 줄의 ResourceRecordSets > Changes 로 변경 각 레코드 별로 { "Action": "CREATE", "ResourceRecordSet": { } } 추가 json 문법이 맞는지 확인은 json validator 검색하여 확인 아래 커맨드로 레코드 업데이트 (업데이트 시 새로운 a.. 공감수 0 댓글수 0 2023. 2. 13.
  • AWS VPC Peering VPC 생성 - Peering 연결 - 라우팅 테이블 설정 - 테스트 공감수 0 댓글수 0 2022. 6. 7.
  • AWS EKS Lens(Kubernetes IDE tool Lens) Kubernetes IDE tool Lens 간단 소개 https://k8slens.dev/ Lens | The Kubernetes IDE Lens IDE for Kubernetes. The only system you’ll ever need to take control of your Kubernetes clusters. It's open source and free. Download it today! k8slens.dev 설치 하여 실행 하면 자동으로 $HOME/.kube/config 정보를 읽어옴 공감수 0 댓글수 0 2022. 5. 12.
  • AWS EKS 외부 노출 테스트 https://kubernetes.io/ko/docs/tutorials/stateless-application/expose-external-ip-address/ 외부 IP 주소를 노출하여 클러스터의 애플리케이션에 접속하기 이 페이지에서는 외부 IP 주소를 노출하는 쿠버네티스 서비스 오브젝트를 생성하는 방법에 대해 설명한다. 시작하기 전에 kubectl을 설치한다. Google Kubernetes Engine 또는 Amazon Web Services와 같은 클라 kubernetes.io 테스트용 Hello World 애플리케이션 실행 kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml 디플로이먼트 확인 kubectl get.. 공감수 0 댓글수 0 2022. 5. 12.
  • AWS SpaceOne 등록 방법 여러 Account의 정보를 한곳에서 보기 위함 공감수 0 댓글수 0 2022. 5. 11.
  • AWS 신규 Account 모니터링 셋팅 신규 Account 받았을 시 모니터링 설정 이벤트 알림용 뉴렐릭과 PHD용 Chatbot 설정 1.뉴렐릭 Account 셋팅(EC2 Agent 설치) 2.뉴렐릭에 람다를 사용 하여 템플릿 적용 알림 항목은 (내부)구글 클라우드에서 받아서 Json 형식으로 추출 후 뉴렐릭 Stream_Template에 입력 해주면 됨 3.뉴렐릭 알람 설정(WebHook) 4.MARK 추가 (MARK 를 통해서 Slask 알람 전달) ----------------------------------------------------------- 5.PHD 용 AWS Chatbot 설정 (Chatbot,SNS,EventBridge) ========================================== 1. 아래쪽 글에 있.. 공감수 0 댓글수 0 2022. 5. 4.
  • AWS Elasticsearch 구성 (OpenSearch Service) AWS Elasticsearch 구성 Amazon OpenSearch Service 로 이름이 바뀌었다 생성 시 은근 시간이 오래 걸린다 (약 20분) 공감수 0 댓글수 0 2022. 4. 25.
  • AWS 보안 Services [Security Hub] GuardDuty - 외부 위협 탐지 (탐지 기반) Inspecter - 취약점 점검 / 보안 분석 Cognito - 간단 자격 증명 Detective - 보안 문제 조사 (분석 조사) WAF & Shield - DDoS 및 악성 웹 보호 Security Hub - 전체적인 보안 검사 ■Security Hub 보안 검사 자동화 및 보안 경고 중앙 집중화 처음 활성화 하게 되면 검사를 위해 최대 2시간동안 확인이 진행 되어 완료 되기 전까진 표시가 되지 않아 기다려야 한다 공감수 0 댓글수 0 2022. 4. 22.
  • AWS 보안 Services [WAF & Shield] GuardDuty - 외부 위협 탐지 (탐지 기반) Inspecter - 취약점 점검 / 보안 분석 Cognito - 간단 자격 증명 Detective - 보안 문제 조사 (분석 조사) WAF & Shield - DDoS 및 악성 웹 보호 Security Hub - 전체적인 보안 검사 ■WAF & Shield 웹방으로 DDos나 웹앱공격 방어용이다 WAF는 위치 설정이 가능하여 어디에 두는지에 따라 보안 관점이 달라진다 보안에서 가장 많이 사용 할 것 같다 *Web ACLs *bot control (봇 트래픽 탐지) 웹 사이트 내 불필요한 트래픽 감소 기능 공감수 0 댓글수 0 2022. 4. 22.
  • AWS 보안 Services [Detective] GuardDuty - 외부 위협 탐지 (탐지 기반) Inspecter - 취약점 점검 / 보안 분석 Cognito - 간단 자격 증명 Detective - 보안 문제 조사 (분석 조사) WAF & Shield - DDoS 및 악성 웹 보호 Security Hub - 전체적인 보안 검사 ■Detective GuardDuty 가 탐지면 Detective 분석이다 로그,Trail,Duty 값들을 분석 하고 시각화 한다 Organizations 지원 하므로써 조직 계정을 활성화도 가능 하다 (Duty,Hub,Detec 세트로 같은 계정을 관리자로 사용 하는 것이 좋다 ) 공감수 0 댓글수 0 2022. 4. 22.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.