본문 바로가기

반응형

Ops/AWS

(151)
AWS EKS - POD 유지 관리 tip AWS EKS - POD 유지 관리 tip 오토 스케일 아웃이 실행된 후 다시 스케일 인이 되었을때 워커노드에 실행중인 파드는 서비스 연속성을 보장 하는지? 파드의 서비스 연속성에 대해서 Pod HealthCheck 설정(Liveness, Readiness 그리고 Startup Probes) 뿐만 아니라, 어플리케이션이 종료될 때에 graceful 하게 종료될 수 있도록 설정 작업이 필요합니다. 관련되어서 아래 Pod HealthCheck, Graceful shutdown of SpringBoot Pod, 그리고 Kubernetes Pod Lifecycle 관련 링크를 참고해주시면 감사하겠습니다. https://kubernetes.io/docs/tasks/configure-pod-container/con..
AWS CodePipeline - S3로 배포하기 AWS CodePipeline - S3로 배포하기 codepipeline 서비스에서 파이프라인 메뉴를 선택하고 오른쪽 상단의 '파이프라인 생성'을 선택합니다. 파이프라인 이름과 서비스 역할을 생성합니다. 아티팩트가 저장되는 위치를 지정하고 싶으시면, 고급설정 → 아티팩트 스토어 → 사용자 지정 위치를 통해 지정하시면 됩니다. (기본은 자동으로 생성) 소스를 가져올 위치를 선택합니다. GitLab은 지원하지 않습니다. 변경 감지 옵션을 상황에 맞게 설정합니다. ㆍ 파이프라인 자동 실행 : Amazon CloudWatch Events ㆍ 파이프라인 수동 실행 : AWS CodePipeline 웹페이지 프로젝트면, 빌드 스테이지를 건너뛰어도 됩니다. 소스를 배포할 버킷을 선택합니다. 기본적으로 아티팩트 형태로..
AWS CodeCommit - clone 가이드 cd directory git add . git status git commit -m "코멘트" git push origin master AWS CodeCommit - clone 가이드 git-remote-codecommit 설치 pip install git-remote-codecommit Local 저장소에 codecommit의 저장소를 clone git clone codecommit::리전://저장소명 Local의 변경 내용을 codecommit에 배포 cd directory git add . git status git commit -m "코멘트" git push origin master by mkdir-chandler
AWS CloudFront - Service port information AWS CloudFront - Service port information ■ 개요 ㆍ 침입 탐지 시스템에서 80 / 443 을 제외한 포트가 감지 ㆍ CloudFront 로부터 접근이 있었는지 확인 목적으로 Case Open ■ Port list ㆍ 2000 ㆍ 5060 ㆍ 8008 ㆍ 8015 ㆍ 8020 ■ 결론 ㆍ 특정 백엔드 요구 사항을 충족하기 위해 특정 포트를 열어 두고 있음 ■ 참고 Hello, Thank you for contacting AWS Premium Support. From the case details, I understand that you have performed a port scan on CloudFront's side, and have detected a list of..
AWS CloudFront - 502 / 504 error AWS CloudFront - 502 / 504 error ■ 개요 ㆍ 구성 : cloudfront - elb - ec2 ㆍ 상황 : 부하테스트를 진행하면서 cloudfront 에서 502 / 504 에러가 발생 ■ 원인 ㆍ 502 : 로그를 기반으로 보면 ELB 오리진에서 502 오류가 반환된 후 CloudFront에서 사용자에게 502 에러를 전달 ㆍ 504 : 오리진에서 현재 HTTP/HTTPS 트래픽을 허용하지 않는 경우 ■ 결론 ㆍ cloudfront의 timeout 시간을 늘려서 처리 ■ 첨언 ㆍ 해당 내용은 Case Open을 통해 어떤 상황인지 파악하고, 해결방법을 제안받아 처리한 내용입니다. ㆍ 특히나 일반적인 상황이 아닌 부하테스트를 진행하면서 발생한 문제로 부하가 몰린다고 꼭 발생하는..
AWS CloudFront - CDN 구성 방법 AWS CloudFront - CDN 구성 방법 (참고) url 혹은 특정 조건에 따라 보이는 페이지가 다른 경우 동작을 여러 개 생성해서 관리하면 됩니다. 원본 도메인은 S3 버킷을 선택하고, 필요하다면 이름을 직접 입력합니다. (자동으로 원본 도메인의 이름으로 들어갑니다.) S3 버킷 액세스 정보에 OAI 사용으로 선택하고, 새 OAI 생성을 선택합니다. (이미 생성한 버킷의 정보로 연결할 경우 만들어 둔 것을 선택해도 됩니다.) 원본 액세스 ID 이름을 지정하고 생성을 선택하면 자동으로 S3 Policy에 입력이 됩니다. 이름도 본인이 선택할 수 있는데, 기본적으로 오리진 이름이 포함되어 자동 생성되는 이름을 그대로 사용해도 됩니다. 버킷 정책은 업데이트를 선택합니다. S3 버킷으로 바로 연결하는 ..
AWS CloudFront - Homepage 모바일로 접속해도 PC 화면이 나올 경우 AWS CloudFront - Homepage 모바일로 접속해도 PC 화면이 나올 경우 먼저 전용 캐시 정책을 새로 생성합니다. 별다른 건 없고, 다른 설정과 동일하게 만들면 되는데요, 캐시 키 설정에서 헤더에 Mobile-viewer와 Desktop-viewer를 추가합니다. 압축은 필요하면 넣고 필요 없으면 넣지 않아도 됩니다! 이번에는 distribution 으로 이동하여 동작에서 새로운 동작을 생성합니다. 보통 PC 버전과 모바일 버전을 구분하는 콘텐츠가 있는 폴더를 /static/에 두기 때문에 해당 경로를 선택합니다. 캐시 설정에서 아까전에 만들어 놓는 캐시 정책을 선택하면 됩니다. 다른 설정들은 homepage 설정과 동일하게 마무리하면 됩니다. 이렇게 해두면 모바일로 접속했을 때, 모바일 ..
AWS CloudFront - connect to Homepage 설정 AWS CloudFront - connect to Homepage 설정 원본 도메인으로 ALB를 선택합니다. (ALB를 사용하지 않는다면 EC2를 바로 선택해도 되고, S3로 바로 연결한다면 S3 버킷을 선택하면 됩니다.) 원본의 이름은 필수이긴 하지만 원본 도메인을 선택하면 자동으로 입력이 되기 때문에 크게 신경 쓰지 않아도 됩니다. (다만 본인의 입맛에 맞게 구분하여 사용하고 싶다면 기본 값을 변경하여 사용하면 됩니다.) 그 외의 나머지는 기본값으로 설정하여 진행하면 됩니다. 뷰어 프로토콜의 경우 개발자의 취향에 따라 (어떤 코드로 어떻게 개발했는지) 좀 달라지는데요, 보통은 http redirect https로 많이 설정합니다. 해당 설정은 통신이 되는지를 체크하면서 설정을 바꿔주면 됩니다. 허용된..
AWS CloudFront - 홈페이지 점검 페이지로 Redirect AWS CloudFront - 홈페이지 점검 페이지로 Redirect AWS 환경에서 Homepage로 접속은 보통 CloudFront로 연결해서 사용하고 있을 텐데요, 점검 등의 이슈로 특정 이미지만 있는 페이지로 redirect 시켜야 할 때 활용하는 방법입니다. Lambda로 코드를 작성해서 Lambda@Edge로 등록하여 활용하시면 됩니다. 아래는 Lambda 코드입니다. exports.handler = (event, context, callback) => { const request = event.Records[0].cf.request; const headers = request.headers; console.log('request_ip', request.clientIp); if(request...
AWS CloudFront - invalidation (GUI + CLI) AWS CloudFront - invalidation (GUI + CLI) ■ GUI CloudFront 서비스로 이동하여 특정 Distribution을 선택한 다음 'Invalidations' 탭으로 이동합니다. 해당 탭으로 이동하여 여태가지 진행한 내역이 나오는데, 위쪽에 있는 'Create Invalidtaion' 버튼을 선택합니다. 그러면 'object Paths'를 입력하는 항목이 나오는데, 여기에 S3의 특정 경로 혹은 /* 방식으로 입력하여 진행하면 됩니다. ■ CLI aws cloudfront create-invalidation --distribution-id AAAAA1234AAAAA --paths "/*" ■ Policy { "Version": "2012-10-17", "Statemen..

728x90
반응형