본문 바로가기
반응형

[AWS-FRF]53

[중요][AWS] CloudWatch & SNS & Chatbot & 슬랙(Slack) 연동 ## 연동구조Cloudwatch --> SNS --> Chatbot --> Slack    AWS Chatbot은 Amazon Chime, 슬랙과 연동하여 업무 자동화를 구현할 수 있는 서비스이며 최근에 GA(General Available) 되었습니다. 슬랙이 지원하는 Webhook API를 람다(Lambda) 등을 사용하여 구현하는 것보다 훨씬 쉽고 간단하게 슬랙과 연동할 수 있습니다.​슬랙(Slack)은 Microsoft Teams와 더불어 협업 메시징 도구로 가장 많이 사용하는 소프트웨어입니다. 비단 채팅뿐만 아니라 오디오/비디오 대화, 파일 전송, 다양한 채널을 통한 인터랙션 등이 장점입니다. ​사람과 사람 간의 통신뿐만 아니라 API를 제공하는 다양한 도구에 접근할 수 있습니다. 즉 슬랙과 같.. 2024. 8. 23.
[중요][AWS][CI/CD] 환경 구성 - EC2(Jenkins, GitLab) 설치!! --------------------------------------------------------## 아마존 리눅스 Jenkins 설치 ( https://www.jenkins.io/doc/tutorials/tutorial-for-installing-jenkins-on-AWS )             sudo yum update –y             sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key            sudo yum upgrade             sudo dnf install java-17-amazon-corretto -y             sudo yum install jenkins -.. 2024. 8. 22.
[참고][AWS] 스프링 부트 jar 빌드와 AWS EC2 배포 방법!! ## 윈도우 ==> 인텔리J ==> 빌드(Gradle) ==> EC2 복사 (scp 활용)   00:00 - 개요 및 목차 00:34 - 간단한 스프링 어플리케이션 생성 04:41 - jar 파일로 생성 (Gradle) 05:40 - AWS EC2 빌리기 09:00 - EC2 접속 10:35 - EC2 자바 설치 12:15 - jar 파일 EC2로 전송 15:15 - EC2에서 jar 실행 2024. 8. 19.
[참고][AWS] ELB idle timeout !! AWS ELB idle timeoutAWS는 총 3개의 ELB를 갖고 있다.OSI 4계층 LB를 담당하는 NLB, OSI 7계층 LB를 담당하는 ALB 그리고 지금은 차차 없어지고 있는 구 버전의 Classic LB (OSI 4, 7 계층 담당)AWS에서 서서히 사라지고 있는만큼 이번 포스팅에서도 CLB에 대한 내용은 제외하기로 한다. ✋ (안뇽)본 포스팅에서는 이 LB들의 다른 옵션들은 모두 제치고 idle timeout에 대한 내용만 다룰 예정이다.이름에 걸맞게 역할을 달리 하는만큼 이 LB들의 connection idle timeout 값도 다르다.결론부터 정리하자면 connection idle timeout에 대해서는 아래 표와 같이 정리할 수 있다.출처:Network Load BalancersA.. 2024. 8. 16.
[중요][AWS] A도메인으로 온 요청을 B도메인으로 redirection 시키고 싶다면? (Route53 + S3) ## 도메인 마이그레이션시 필요!! 서비스를 운영하다보면 기존의 도메인을 새로운 도메인으로 바꾸는 상황이 발생하곤한다. 사용자들은 A라는 도메인으로 이 서비스를 알고있지만 앞으로는 B도메인으로 사용하도록 하길 원한다면 어떻게 해야할까?AWS Route53 과 S3와 함께라면 매우 간단하게 해결할수있다.이 튜토리얼은 A도메인이 Route53에 등록되어있다는 가정하에 진행된다.그리고 편의를 위해 기존 도메인인 A도메인을 http:// aexample.com이라 하고 새 도메인인 B도메인을 https:// bexample.com이라 하겠다. S3에서 기존 도메인 이름과 같은 버켓을 하나 생성한다. ( ex, aexample.com 이란 이름의 버켓으로 생성한다 )S3의 속성(Properties)메뉴에 들어가서.. 2024. 8. 14.
[중요][AWS] AWS Global Accelerator를 사용해서 애플리케이션 성능 개선하기!! Global Accelarator를 사용하여 다른 리전에서 접속하는 것을 확인해보도록 하겠다. 보통은 일반적으로 동적 컨텐츠를 서비스한다고 했을때, 위와 같이 Route53을 통해서 EdgeLocation의 DNS로 접속하고 Application Load Balancer를 통해서 웹서비스를 하고 있는 EC2로 접속하여 서비스를 확인한다.하지만 미국등 다른 글로벌 환경에서 접속을 한다고 가정했을때, Latency가 발생할수 있다.  그렇기 때문에 위와 같이 Global Accelerator를 활용한다면 User들이 AWS BackBone을 통해서 좀더 빠르게 접속 할 수 있다.      위 Joycity의 사례를 봤을때, User사 뭄바이 출장중 게임 접속했을때 Latency가 발생하여 게임 이용이 어려웠.. 2024. 8. 14.
[참고][AWS] ALB, NLB idle timeout, keepalive 차이점, 문제상황 및 해결방법!! ALB, NLB 차이점ALB는 http header까지 모두 확인하여 트래픽을 전달하고, NLB는 4계층 까지의 정보만 확인 후 전달한다. 이때 ALB에서는 이러한 트래픽을 Proxying 하게 되는데, 때문에 서버에서 tcpdump 시 반대쪽 IP가 alb의 IP로 찍히게 된다.(EC2에서 client로 전달되는 패킷은 DSR 방식으로 처리된다.)NLB에서는 client의 ip가 그대로 전달되며 proxying하지 않고 패킷 포워더와 같이 작동한다.client → NLB(80 listening) → ec2(8080 listening)일 때, NLB는 트래픽의 포트만을 변경하여 패킷을 ec2로 전송한다. 이때문에 NLB 활용을 위해선 EC2 측에서 인바운드 8080포트 트래픽을 허용하여야한다.ALB id.. 2024. 8. 13.
[중요][AWS] RDS에서 Slow Query 확인!! ## mariadb10.11 파라미터 기준     1) log_slow_query = 1      2) log_slow_query_time = 2      3) log_output = TABLE  ## mariadb 10.6 파라미터 기준     - max_connections (파라미터 그룹)          LEAST({DBInstanceClassMemory/25165760},12000)  --> 1000 수정        - lower_case_table_names=1        - time_zone              ==>  검색 후 time_zone 파라미터를 Asia/Seoul 로 변경합니다.        - char   ==>  검색 후 character_set ~ 나오는 항목의 값을.. 2024. 8. 13.
[참고][AWS] 로드밸런서의 keep-alive 옵션!! https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x Connection management in HTTP/1.x - HTTP | MDNConnection management is a key topic in HTTP: opening and maintaining connections largely impacts the performance of Web sites and Web applications. In HTTP/1.x, there are several models: short-lived connections, persistent connections, and HTTP pipeliningdeveloper.mo.. 2024. 8. 13.
[중요][AWS][JMeter] 서버의 성능을 JMeter로 테스트해보자 (+분산환경 테스팅, TPS) 만약에 내가 만든 서버가 너무 많은 요청들을 감당하지 못하고 죽게 되는건 아닐까? 하는 긍정적인 생각을 가지고 서버의 성능테스트를 습관화 하는 것은 좋다고 생각한다.이번에 회사업무를 통해 JMeter를 다루게 되어 간단한 사용법 등을 소개하고자 한다.소개풀네임은 APACHE JMeter이며 자바 앱으로 만들어진 오픈소스 툴이다. 그렇기 때문에 JMeter를 실행하는 환경에는 Java와 JVM이 설치 되어있어야 한다.설치 (방법 선택)홈페이지 소스 다운로드https://jmeter.apache.org/download_jmeter.cgi자바8 이상의 환경에서 Binaries / Source 를 받아 설치합니다brew 이용brew install jmeter실행방법GUI 모드와 Non-GUI 모드 두가지 방식이.. 2024. 8. 12.
[중요][AWS] Linux, 접속 로그 확인 !! 리눅스에서는 서버에 접속실패 정보와 접속정보를 기록하고 있다. 해커의 공격이나 침입 흔적을 찾기 위해서 로그 파일을 점검해 보자.접속 실패 로그 확인ssh 접속 시도 실패 로그는 “/var/log/btmp” 파일에 특수하게 저장된다. 이 파일을 보기 위해서는 “last -f” 명령을 이용하여 확인할 수 있다.root:~$last -f /var/log/btmproot ssh:notty 116.31.116.15 Tue Nov 1 06:26 - 06:26 (00:00)root ssh:notty 116.31.116.15 Tue Nov 1 06:26 - 06:26 (00:00)root ssh:notty 116.31.116.15 Tue Nov 1 06:.. 2024. 8. 8.
[참고][AWS] Shield vs WAF !! ShieldShield는 DDoS 공격으로부터 AWS의 애플리케이션을 보호합니다.Shield는 Shield Standard와 Shield Advanced로 나뉘는데, Shield Standard는 AWS에서 애플리케이션 리소스(EC2, ELB, CloudFront, Route 53)가 실행되면 무료로 작동합니다. 뿐만 아니라, Shield는 DDoS 이벤트에 대해 아래와 같이 좀 더 가시적으로 명확하고 이해하기 쉽게 보여줍니다.Shield Standard는 웹 사이트나 애플리케이션을 대상으로 가장 흔하고, 자주 발생하는 네트워크 및 전송 계층(3, 4계층) DDoS 공격을 방어합니다.Shield Advanced는 3 ~ 7계층의 DDoS 공격을 커버하고, 애플리케이션 계층(7계층)에 대한 공격을 자동으로.. 2024. 8. 8.
[참고][AWS] Global Accelerator란? 쉽게 개념 및 특징 정리!! AWS Global Accelerator Improve application availability, performance, and security using the AWS global networkAWS Global AcceleratorGlobal Accelerator는 전 세계적으로 분산된 AWS의 네트워크 인프라를 통해 사용자 네트워크 트래픽 성능을 최적화하고 가용성과 성능을 향상시키는 서비스이다. (성능을 최대 60% 개선)     → 애플리케이션의 네트워크 성능, 가용성, 안전성을 높일 수 있다.  주요 기능 정적 IP 주소:Global Accelerator는 2개의 정적 Anycast IP 주소를 제공한다. 이 정적IP 주소는 애플리케이션의 엔드포인트(i.e. ALB, NLB, EC2 인스턴스.. 2024. 8. 8.
[참고][AWS 보안] Network Firewall 이란? 쉽게 개념 정리 !! 참고) SAA 문제:더보기접기어느 회사에서, 프라이빗 서브넷 내의 EC2 인스턴스에서 데이터 분석 애플리케이션을 호스팅하고 있습니다. 이 애플리케이션은 인터넷에 공개된 외부 API에 정기적으로 접근하여 기상 정보 데이터를 얻습니다. 현재 회사에서는 네트워크 보안 강화를 요구하고 있으며, 인터넷을 통한 통신에 대해서는 API와 EC2의 애플리케이션 간의 통신만 허용하고자 합니다. 이러한 요구 사항을 충족시키는 방법은 무엇일까요?AWS Network Firewall을 구성하여, API와의 통신만 허용하는 도메인 이름 필터링 규칙을 작성합니다. 프라이빗 서브넷에서의 아웃바운드 통신이 Network Firewall을 경유하도록 라우팅 테이블을 수정합니다.EC2 인스턴스의 보안 그룹에서 API의 URL과의 인바운.. 2024. 8. 8.
[참고] Amazon GuardDuty (AWS의 관리형 유사 IDS) AWS 상에서 사용 가능한 IPS(침입 차단 시스템)/IDS(침입 탐지 시스템)을 AWS 마켓 플레이스에서 좀 찾아봤는데 유명한 보안 벤더사 제품들은 거의 다 UTM 형식으로 방화벽, IPS, 웹필터, vpn 등 기타 기능까지 다 합쳐진 형태로 제공하고 있어 IPS/IDS 만 제공하는 이미지는 없는 것으로 보여서 AWS에서 관리형 서비스로 제공하고 있는 IDS 유사 서비스인 GuardDuty에 대해 소개해드릴까합니다.Amazon GuardDuty 란AWS 에서는 "Amazon GuardDuty는 AWS 계정, 워크로드 및 Amazon S3에 저장된 데이터를 보호하기 위해 악의적 활동 또는 무단 동작을 지속적으로 모니터링하는 위협 탐지 서비스"라고 GuardDuty를 소개하고 있는데요. GuardDuty는.. 2024. 8. 8.
[중요][AWS] 키 페어 ppk To pem 파일 변환하기!! - pem ❓Privacy Enhanced Mail의 약어입니다.Base64의 인코딩으로 이루어진 인증서 파일입니다.- ppk ❓PuTTY Private Key File의 약어입니다.PuTTY에서 사용하기 위한 확장자입니다.- ppk To pem 🔑1. PuTTYgen 다운받기링크 : https://www.puttygen.com/download-putty중간 쯤 보시면 puttygen.exe 파일을 다운 받으실 수 있습니다.요렇게 생겼습니다. 실행 해 주세요!2. Private key 파일 가져오기Load 버튼을 눌러 .ppk 파일을 가져옵니다.3. 파일 변환하기파일을 불러오셨으면, Conversions -> Export OpenSSH key 클릭"예" 눌러주세요!파일 명 정해주시고 .pem 확장자를 .. 2024. 8. 6.
[중요][서브도메인 생성][EKS] alb-ingress-controller 사용해보기 !! ## ALB 리스너 규칙 작업## 호스트 헤더 & 갱로 패턴 사용법   주의 사항2022.08.10 수정해당 블로그에서 설치하는 AWS ALB Ingress Controller는 v1.1 버전으로 deprecated 상태입니다.최신 버전인 AWS Load Balancer Controller v2.4를 설치하는 것이 권장됩니다. https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/  테스트 순서EKS 클러스터 생성합니다worker node 역할에 추가로 정책을 붙입니다alb-ingress-controller 배포합니다ingress, deployment, service 배포합니다host에 따라 웹페이지가 바뀌는지 확인합니다  1. EKS .. 2024. 8. 6.
[중요][AWS][MariaDB] log_bin_trust_function_creators, ERROR 1418 (HY000) MariaDB에 데이터 덤프 파일 넣는 도중 발생.(MaraiDB 10.3.x 버전)ERROR 1418 (HY000) at line 17702: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)원인log_bin_trust_function_creators 변수는 바이너리 로깅이 활성화 된 경우 적용.기본값 0(OFF)로 설정된 경우 사용자는 함수를 수정 및 생성하지 못하며, SUPER 권한이 있는 사용자만 함.. 2024. 8. 5.
[참고] Using AWS CodeCommit with Jenkins 활용 방법 !! ## 젠킨스 LTS 2.319.1 설치  ## 젠킨스 ==> 코드커밋 연결용 사용자 생성 - 사용자명 : jenkins-codecommit- 정책 : AWSCodeCommitPowerUser - 액세스키 & 시크릿키 미사용으로 비활성 예정    ## 코드커밋 ==> 리포지토리 생성- Name : jenkins-example-cc - HTTPS & SSH 자격증명 방식이 다름 - Create File 클릭- Jenkinsfile 생성   ============================================= ## Clone URL ==> Connection steps 클릭 1) HTTP 자격증명 생성 방법- IAM ==> jenkins-codecommit ==> 보안자격증명  - 액세스키 비활성.. 2024. 8. 4.
[참고] GitLab과 GitHub 어떤걸 선택하는게 좋을까? ## GITLAB 은 B2B 서비스에 치중- GITHUB와 다르게 DevSecOps 를 지원 (개발, 테스트, 보안 통합지원)  ## GITHUB로 CICD구현하려면 젠킨스 같은 툴 필요!!   ## GITLAB CICD는 자체 파이프라인 보유로 통합 관리 가능!! 2024. 7. 28.
[참고] GitLab CI/CD와 GitHub Actions 뭐가 달라요? ## GITLAB CICD & GITHUB ACTION 차이점 2024. 7. 28.
[참고] EC2에 Apache를 설치해보고 웹 페이지 실행!! 인스턴스 보안 그룹에 80번 포트(http)가 반드시 열려있어야 합니다.1. EC2 리눅스 인스턴스에 웹 서버 설치 1) EC2 인스턴스에서 소프트웨어를 업그레이드최신 버그 수정 및 보안 업데이트 실시$ sudo yum update -y cf) sudo 명령어는 무엇인가? "SuperUser Do"라는 뜻으로root의 권한을 빌려서 사용한다는 뜻입니다. cf) '-y' 옵션은 무엇인가요? '-y' 옵션은 업데이트 과정에서설치 전 업데이트 정보를 확인하지 않고설치할 수 있게 해주는 옵션입니다! 2) 재부팅인스턴스 재부팅 실시$ sudo reboot 주의할 점! 아래 사진을 보시면, 재부팅 후, 바로 인스턴스 접속 시연결이 되지 않습니다. 재부팅하는데 시간이 짧게 걸리기 때문에약 40초 정도 뒤에 시도해주시.. 2024. 7. 25.
[참고] amazon linux2023에서 java17 설치하기!! aws ec2 OS : amazon linux2023이번 프로젝트의 OS는 amazon linux 2023으로 진행하게 되었습니다.기존에 사용하던 amazon linux2와 ubuntu와 다른 점은 아래의 링크에서 확인해 주시면 됩니다.https://aws.amazon.com/ko/blogs/korea/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/JAVA 설치sudo dnf updatesudo dnf install java-17-amazon-corretto-develjava -version//이때, java의 버전이 변경되지 않았다면 아래의 명령어로 수정합니다.sudo alternatives --config j.. 2024. 7. 25.
반응형