본문 바로가기
AWS

단톡방 질문 긁어놓기

by ballena 2022. 1. 23.

AWS 관련 오픈채팅방에 올라온 질문들을 보니, 굉장히 유익한 질문들이 많았다.

이제 갓 입문한 나에겐 귀한 지식들이기에 정리하려 한다.

나중에 다시 찾아보고 싶다면 이 페이지에서 검색하면 되겠지.

 

 

1. Route 53에서 별칭으로 A 레코드 라우팅을 하면 TTL이 따로 존재하나요?

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html

 

별칭 또는 비 별칭 레코드 선택 - Amazon Route 53

Route 53 호스팅 영역(동일한 호스팅 영역 또는 다른 호스팅 영역)에 있는 다른 레코드의 이름으로 리디렉션되는 CNAME 레코드를 생성하는 경우 각 DNS 쿼리는 다음 두 개의 쿼리로 요금이 부과됩니

docs.aws.amazon.com

-> Alias 대상 리소스의 TTL을 사용합니다. ELB로 했다면 60초.

-> dig로 측정해보면 된다. Cloudfront나 S3도 60초라고 한다.

 

2. 교차 계정을 사용해 S3에 교차 계정만 접근 가능하게 하려는데 접근이 거부된다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/cross-account-access-s3/

 

S3 버킷의 객체에 대한 교차 계정 액세스 권한 제공

객체 ACL을 사용하여 특정 시나리오와 ACL이 IAM 및 S3 버킷 정책보다 요구 사항을 더 잘 충족하는 경우에만 권한을 관리합니다. 자세한 내용은 ACL 기반 액세스 정책(버킷 및 객체 ACL)을 사용하는 경

aws.amazon.com

 

3. appstream을 구축 중입니다. fleet 스케일링 정책이 on-demand일 때 desire 갯수는 항상 요금이 나가는 것일까요?

-> 아닙니다. 실행 준비가 완료된 인스턴스 기준, 단위 시간 당 비용입니다. Always-on이면 그대로 실행 비용이 나오고, on-demand면 꺼져있는 비용이 나올 것입니다. 실제 접속하면 켜져있는 비용.

-> 인스턴스가 생성조차 안된 상태라면 비용 X. 생성 후 부팅되지 않은 상태로 대기하는 것이 on-demand 모드. 부팅 후 앱 접근을 하니 접속 시 1~2분 걸린다.

+ appstream은 딜리버리하기 어려운 서비스. 프론트성 포털을 개발해야 좀 쓸만해진다고 한다.

 

4. filebeat으로 로그 전송이 가능한데 왜 logstash까지 쓰는 걸까요?

-> 일반적인 기준에서 그냥 단일 텍스트 형태로 들어가기 때문입니다. 각 필드별로 구분해서 데이터를 넣어야 필드별 조건으로 검색이 가능합니다. 대충 데이터 변환 계층이라 생각하면 될 듯?(+ 버퍼의 성격 포함)

 

5. AWS MGN 리소스는 어떻게 삭제하나요?

-> 아카이브시키는 것이 삭제하는 것입니다.

 

6. S3 Object Lambda를 통해 OneTime URL을 구현하려 합니다. 람다에 들어오는 페이로드에 inputS3url이 호출될 때마다 재생성되어 들어오는데, 원타임 URL에서는 알맞지 않은 방법일까요?

-> 대충 한 번 불리면 더 이상 불리지 않게 구현하려는 것인데...실제로 그렇게 구현해야한 하는 사례가 있는가?

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/PresignedUrlUploadObject.html

 

미리 서명된 URL을 사용하여 객체 업로드 - Amazon Simple Storage Service

미리 서명된 URL을 사용하여 객체 업로드 미리 서명된 URL의 생성자가 해당 객체에 대한 액세스 권한을 보유할 경우, 미리 서명된 URL은 URL에서 식별된 객체에 대한 액세스를 부여합니다. 즉, 객체

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html

 

미리 서명된 URL로 객체 공유 - Amazon Simple Storage Service

미리 서명된 URL로 객체 공유 모든 객체는 기본적으로 비공개이며, 객체 소유자만 이러한 객체에 액세스할 수 있습니다. 그러나 객체 소유자는 필요할 경우 자신의 보안 자격 증명을 사용하여 일

docs.aws.amazon.com

https://www.sitepoint.com/generating-one-time-use-urls/

 

PHP Master | Generating One-Time Use URLs

A one-time URL is a specially crafted address that is valid for one use only. See how to generate, implement, and expire one-time URLs.

www.sitepoint.com

보안 URL 같은 경우는 비밀번호 재설정 인증링크 같은 경우에서 사용한다. 딱 1회에 대한 보장을 하려면 DB를 사용해야 할 듯?

 

7. 갑자기 AWS ELB가 503을 띄우는데 왜 이러죠?

-> 일단 헬스체크 확인. 그 후에는 백엔드 로그를 보고, 백엔드 리소스가 부족한 것이 아닌지 확인

 

8. 인스턴스 생성 후 스프링부트로 헬로우 월드 띄워놓은 후 로그아웃하면 외부 접속 안되는거 맞나요?

-> 일단 백그라운드 모드로 실행하지 않으면 쉘 빠져나오면 바로 죽습니다. 외부 접속이 안되는 것이 서비스가 죽어서인지, 네트워크 문제인지 확인이 필요합니다. 서비스가 죽어서면 백그라운드로 올린 후 들어가서 ps -ef나 netstat으로 프로세스가 떠있는지 확인, 외부 접근이 안되면 네트워크 확인

https://victorydntmd.tistory.com/338

 

[SpringBoot] 게시판 (5) - AWS EC2에 배포하기 (feat. AWS RDS)

Springboot로 디자인이 하나도 없고 매우 간단한 게시판을 구현하는 시리즈입니다. 최종 소스는 깃헙에서 확인하실 수 있습니다. [SpringBoot] 게시판 (1) - 준비작업 [SpringBoot] 게시판 (2) - 게시글 추

victorydntmd.tistory.com

 

9. cloudwatch에서 여러 ec2에 메모리 사용률 알람을 설정하려 합니다. 다중지표로 알람 설정이 가능한가요?

-> Cloudwatch agent가 깔려있어야 할 것 같고, cloudwatch 경보로 메트릭 임계치를 설정한 뒤 SNS/Lambda 트리거로 하면 될 것 같습니다.

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

 

CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버에서 지표 및 로그 수집 - Amaz

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

-> 서버마다 따로따로 알람 설정하셔야 합니다. 고로 이벤트 트리거 기반으로 알람 등록/제거를 자동화해야 할 것입니다. 람다를 쓴다고 2개 지표를 선택할 수 있는건 아닙니다.

 

10. Intellij에서 자바로 개발한 람다 함수를 업로드하려 하면 에러가 발생합니다.

-> 로컬 머신에 Maven이 설치되어 있는지 확인해야 합니다.

https://github.com/aws/aws-toolkit-jetbrains/issues/1792

 

Aws Sam build failed Error: JavaMavenWorkflow:Resolver - No Maven executable found! on my hello world project · Issue #1792 ·

Your Environment OS:Windows 10 JetBrains product: Intellij Idea JetBrains product version: 2019.3.3 Question I just started building serverless application with aws toolkit in intellij, and I got s...

github.com

-> Maven을 설치하고 PATH 환경 변수에 추가되었는지 확인/컨테이너에서 SAM의 빌드 기능을 사용하여 이미 이미지에 Maven이 있는 도커 내부에서 빌드 실행

https://aws.plainenglish.io/aws-lambda-testing-and-debugging-using-intellij-aws-sam-and-docker-f489f1d39b0d

 

AWS Lambda Testing and Debugging using IntelliJ, AWS SAM, and Docker

AWS Lambda is very popular nowadays. It is easy to develop and deploy without any hassle with providing and maintaining infrastructure…

aws.plainenglish.io

 

11. 모니터링 서버를 구축하고 Grafana로 시각화를 하려는데, 그라파나 대시보드에서 서버들 IP로만 보이는데 서버의 이름이나 태그명으로 할 수 있는 방법이 있을까요?

-> ALIAS BY에 써주면 될 것 같습니다.

-> legend에서 가능합니다.

 

12. 필요 사양에 '이중화 기능이 있는 1TB 엔터프라이즈 SSD'가 있는데, 인스턴스를 뭘 쓰면 좋을까요? 나머지 스펙은 'VCPU 8개/메모리 64GB' 정도입니다.

-> EBS 볼륨은 자체적으로 내구성을 보장합니다. 디스크 레벨에서 논하는 이중화니까 RAID 기술을 의미하는 것 같은데, 신경쓰지 않으셔도 될 것 같습니다.볼륨 성능 옵션만 요구사항에 맞추시면 될 것 같습니다. 

스펙은 인스턴스 타입 보고 고르세요. 혹은 상용 제품 도입을 검토 중이시라면 역으로 뭐가 적합한지 업체측에 문의하세요. 그 정도 정보로는 누구도 확언할 수 없습니다. 같은 수치라도 인스턴스 유형에 따라 칩셋이 다르기에 추천이 어렵습니다.

참고로 i3에 달린 SSD는 인스턴스가 HW 이슈로 재가동되면 다 날아가는 인스턴스 스토어입니다.

 

13. RDS의 audit 로그를 cloudwatch에 쌓고 있습니다. Log insight를 이용하여 쿼리 중인데, 자꾸 타임아웃이 걸립니다.

-> limit을 더 낮게 걸어보세요.

 

14. ECS로 Fargate를 이용해 서비스를 운영 중입니다. 가끔 서비스 버벅임이 보이는데, mem/cpu limit을 올려주면 해결이 될까요?

-> 먼저 서비스가 버벅이는 이유를 찾는 것이 먼저 같습니다. 그 후 자원 사용량을 확인해보세요. 메모리가 부족하면 버벅이는 것으로 끝나지 않습니다. 보통 네트워크 트래픽이 부족해 발생할 수 있습니다.

 

15. 아마존 라이트세일 서버 재부팅 자주 해도 괜찮나요?

-> 상관 없습니다.

 

16. ipsec VPN 통신 확인은 간단하게 ping으로 확인이 가능할까요?

-> 고객사 사설 IP로 가능합니다.

 

17. Aurora 읽기 전용 복제본을 생성하고, jdbc로 연결해서 앱에서 사용하려 합니다. select는 읽기 전용 복제본으로, 그 외의 처리는 마스터 인스턴스로 보내고 싶은데, 이 경우 jdbc에서 어떻게 설정하면 될까요?

-> lazy connection이나 transition 옵션을 찾아보시면 금방 찾으실겁니다. 아니면 커넥션 2개를 유지하던가요.

https://sup2is.github.io/2021/07/08/lazy-connection-datasource-proxy.html

 

Sup2's blog-LazyConnectionDataSourceProxy 알아보기

 

sup2is.github.io

커넥션 2개를 유지하고 하나의 데이터소스로 관리할 때 트랜젝션에 따라 커넥션 분기

-> 쿼리 작성하는 로직에 transactional로 분기해야 한다.

 

18. appstream에서 squid 프록시로 화이트 리스트 정책으로 세팅했는데 S3에 접근을 못하네요.

-> 엔드포인트 달고 플릿에 s3 액세스 롤 추가하니 성공.

 

19. EC2에 EBS 볼륨 여러개 붙여서 마운트도 잘 해놨는데요, 재부팅하고나면 마운트는 잘 유지되는데 순서가 바뀝니다.

-> uuid로 마운트하면 문제 없습니다. fstab에 uuid로 잘 박아놓기

 

20. 범용 및 AWS Native로 생태계 분류 : 인프라와 어플 등 파트로 나눠서 정하는게 명확

-> 인프라 : Terraform/Cloudformation

-> 이미지 : packer/image builder

-> 운영 자동화 : Ansible/System manager 일부

 

21. EC2 Windows 서버로 런치할 때 EBS를 MBR/GPT 중 선택을 해야 합니다.

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/modify-volume-requirements.html#window-volumes

 

Requirements when modifying volumes - Amazon Elastic Compute Cloud

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

-> MBR은 오래된 방식이라 GPT로 설정하는게 맞을 것 같습니다.

-> MBR은 2TB 제한이 있어서 무조건 GPT

 

22. AWS Lambda에서 S3와 같은 저장소를 이용하지 않고 데이터를 저장하는 방법이 있을까요?

-> 람다 로컬 스토리지는 휘발성입니다. EFS/기타 RDBMS/NoSQL/S3 등의 외부 스토리지를 사용하셔야 합니다.

 

23. Terraform/AWS CDK와 같은 IaC 도구를 사용하는데 있어 CI/CD를 진행하고 계신가요? AWS Native 도구들과도 통합이 잘 안되는 것 같기도 하고, 이런 파괴적인 작업에 CD를 하는게 맞나 싶네요. IaC를 수행/관리할 수 있는 시스템을 별도로 두고, 그에 대한 접근 제어를 수행하고, 해당 시스템에서만 배포가 가능하도록 수동제어하는 것이 더 일반적일 것 같은데요.

-> CDK와 Code Pipeline 함께 사용 중입니다.

https://mate-academy.notion.site/Devops-CDK-Codepipline-43c83ac953ef4e8db088b730d8ae74ee

 

Devops 구성 사례(CDK, Codepipline)

AWS CDK란?

mate-academy.notion.site

코드 파이프라인과 통합이 잘 안되는 것 같은데 단계 구성이 어떻게 될까요?

-> CDK 수정/배포 > S3에 올라가서 Pipeline 트리거

-> 코드커밋이나 S3로 소스 잡아서 트리거하고, 빌드하고 파이프라인 업로드해서 적용하기 전 approval 단계 넣어서 체크

-> pipeline은 dev qa prd 3개로 나누고요.

CDK deploy는 어디서 하나요?

https://docs.aws.amazon.com/cdk/v2/guide/cdk_pipeline.html

 

Continuous integration and delivery (CI/CD) using CDK Pipelines - AWS Cloud Development Kit (CDK) v2

Use administrative credentials only to bootstrap and to provision the initial pipeline. Afterward, use the pipeline itself, not your local machine, to deploy changes.

docs.aws.amazon.com

-> 코드빌드로 전부 하거나, 최초 1회는 cdk deploy를 이용해 배포하고 이후에는 파이프라인 등으로 배포

 

GitLab을 사용하기도 하는데, 회사 정책에 따라 다를 것 같습니다.

https://docs.gitlab.com/ee/user/infrastructure/iac/

 

Infrastructure as Code with Terraform and GitLab | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

GitLab이랑 테라폼 클라우드 연동해서 테스트해봤는데, 깃에 푸시하면 바로 플랜이 돌아서 승인 절차 받는 것까지 라인 만드는 것이 가능했습니다.

 

Build와 Deploy가 좀 헷갈리네요.

 

 

 

 

 

긁다보니 너무 많아서 포기

'AWS' 카테고리의 다른 글

DynamoDB 테이블 용량 조절 구조  (1) 2022.04.07
스냅샷 복원 후 성능 저하 문제  (0) 2022.04.05
단톡방 질문 긁어놓기 2  (0) 2022.01.29
AWS SAA 후기  (0) 2022.01.22
AWS SAA 덤프 공부 중 메모(21.12.23)  (0) 2021.12.23

댓글