AWS 관련 오픈채팅방에 올라온 질문들을 보니, 굉장히 유익한 질문들이 많았다.
이제 갓 입문한 나에겐 귀한 지식들이기에 정리하려 한다.
나중에 다시 찾아보고 싶다면 이 페이지에서 검색하면 되겠지.
1. Route 53에서 별칭으로 A 레코드 라우팅을 하면 TTL이 따로 존재하나요?
-> Alias 대상 리소스의 TTL을 사용합니다. ELB로 했다면 60초.
-> dig로 측정해보면 된다. Cloudfront나 S3도 60초라고 한다.
2. 교차 계정을 사용해 S3에 교차 계정만 접근 가능하게 하려는데 접근이 거부된다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/cross-account-access-s3/
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
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html
https://www.sitepoint.com/generating-one-time-use-urls/
보안 URL 같은 경우는 비밀번호 재설정 인증링크 같은 경우에서 사용한다. 딱 1회에 대한 보장을 하려면 DB를 사용해야 할 듯?
7. 갑자기 AWS ELB가 503을 띄우는데 왜 이러죠?
-> 일단 헬스체크 확인. 그 후에는 백엔드 로그를 보고, 백엔드 리소스가 부족한 것이 아닌지 확인
8. 인스턴스 생성 후 스프링부트로 헬로우 월드 띄워놓은 후 로그아웃하면 외부 접속 안되는거 맞나요?
-> 일단 백그라운드 모드로 실행하지 않으면 쉘 빠져나오면 바로 죽습니다. 외부 접속이 안되는 것이 서비스가 죽어서인지, 네트워크 문제인지 확인이 필요합니다. 서비스가 죽어서면 백그라운드로 올린 후 들어가서 ps -ef나 netstat으로 프로세스가 떠있는지 확인, 외부 접근이 안되면 네트워크 확인
https://victorydntmd.tistory.com/338
9. cloudwatch에서 여러 ec2에 메모리 사용률 알람을 설정하려 합니다. 다중지표로 알람 설정이 가능한가요?
-> Cloudwatch agent가 깔려있어야 할 것 같고, cloudwatch 경보로 메트릭 임계치를 설정한 뒤 SNS/Lambda 트리거로 하면 될 것 같습니다.
https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html
-> 서버마다 따로따로 알람 설정하셔야 합니다. 고로 이벤트 트리거 기반으로 알람 등록/제거를 자동화해야 할 것입니다. 람다를 쓴다고 2개 지표를 선택할 수 있는건 아닙니다.
10. Intellij에서 자바로 개발한 람다 함수를 업로드하려 하면 에러가 발생합니다.
-> 로컬 머신에 Maven이 설치되어 있는지 확인해야 합니다.
https://github.com/aws/aws-toolkit-jetbrains/issues/1792
-> Maven을 설치하고 PATH 환경 변수에 추가되었는지 확인/컨테이너에서 SAM의 빌드 기능을 사용하여 이미 이미지에 Maven이 있는 도커 내부에서 빌드 실행
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
커넥션 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 중 선택을 해야 합니다.
-> 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
코드 파이프라인과 통합이 잘 안되는 것 같은데 단계 구성이 어떻게 될까요?
-> CDK 수정/배포 > S3에 올라가서 Pipeline 트리거
-> 코드커밋이나 S3로 소스 잡아서 트리거하고, 빌드하고 파이프라인 업로드해서 적용하기 전 approval 단계 넣어서 체크
-> pipeline은 dev qa prd 3개로 나누고요.
CDK deploy는 어디서 하나요?
https://docs.aws.amazon.com/cdk/v2/guide/cdk_pipeline.html
-> 코드빌드로 전부 하거나, 최초 1회는 cdk deploy를 이용해 배포하고 이후에는 파이프라인 등으로 배포
GitLab을 사용하기도 하는데, 회사 정책에 따라 다를 것 같습니다.
https://docs.gitlab.com/ee/user/infrastructure/iac/
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 |
댓글