본문 바로가기

728x90

웹 운영

(18)
[AWS] Certified Developer - Associate (DVA-C02) 자격증 후기 SQLD 이후로 약 1년만에 또다른 자격증 시험을 보게 되었다. 시험 준비하면서 많은 후기들을 봤지만 대부분 짧게 준비한 것 같다. 나는 블로그 정리한걸 보면 알겠지만 Udemy 강의는 거의 작년 내내 들은 것 같다... 시험 등록하고 본격적으로 Udemy 강의 복습 및 기출 풀이는 3주 정도 한 것 같다. 회사가 여유로운 때라서 정말 다행이였다..  1. 공부  방법  뭐 나도 다른 블로그들과 크게 다를바 없이 공부한 것 같다. 애초에 공부 시작할 때 많은 블로거분들이 뚫어놔주신 길대로 공부했기 때문에...  (1) Udemy 강의 완강 (https://www.udemy.com/course/best-aws-certified-developer-associate/) (⭐)- 제일 오래걸렸다.. 거의 작년 ..
[PV, VG, LV] LV 분할하여 Ubuntu /var 용량 확장하기 프로젝트에서 mongodb 를 사용하던 중, Data Insert 시에 DB 가 down 되는 상황이 발생해서, 로그를 확인해보니 다음과 같았다.   {"s":"F",  "c":"CONTROL",  "id":6384300, "ctx":"ftdc","msg":"Writing fatal message","attr":{"message":"terminate() called. An exception is active; attempting to gather more information\n"}}{"s":"F",  "c":"CONTROL",  "id":6384300, "ctx":"ftdc","msg":"Writing fatal message","attr":{"message":"DBException::toString(..
[CDA] 섹션 30 - AWS 보안 및 암호화 : KMS, SSM Param 스토어 > 시험에서 보안문제 많이 물어봄> 지금까지 종종 나왔지만, 정확하게 이해가 필요함 - KMS , Param Store 등등> 기본적으로 보내기 전에 encrypt 를 하고, 받을 때 decrypt 를 하는 것임> Encryption 을 진행할 때 TLS Certificate (인증서) 가 사용된다 - https 프로토콜을 사용할 때 적용된다> 하는 이유 : 네트워크를 통해 (종종 public network 를 통해) 여러 서버들을 왔다 갔다 하는데, 중간에 공격을 받을 수 있기 때문 - MITM (man in the middle attack)>> 서버로 전송 중인 packet 을 관찰하는 것! 보안화가 필요한 이유>> SSL 을 적용하는 것은 수신하는 서버만이 Client 가 보내는 Data 를 Dec..
[CDA] 섹션 27 - 유저가 누군지 알아보는 Cognito > User 에게 Identitiy (자격 증명) 를 부여, 웹 앱과 상호작용할 수 있도록 함> AWS 계정 외부에서 접근 (일반 유저) 하기 때문에 우리가 모르는 사람들임. > 두가지 기능으로 정리된다 > User Pool>> 사용자들에 대한 로그인 Sign In 기능을 제공>> API Gateway / ALB 와의 Integration 이 매우 유용 > Cognito Identity Pool (Federated Identity)>> 외부 유저들에게 AWS 리소스에 직접 접근할 수 있도록 일시적인 AWS Credential 을 제공하는 것 > Cognito 는 IAM 과는 다르게 외부의 유저들을 인지하기 위한 것으로, Keyword 로는 "수많은 유저", "모바일 유저", "SAML 인증" 등등이 있다..
RaspberryPi + Cloudflare 서비스로 LAN 내에서 서버 구축하기 개발 서버로 AWS Ec2 를 운영하고 있었는데 너무 비싸서 Raspberry Pi 로 내가 사용하는 LAN 내에서 서버를 구축을 해봤다. AWS EC2 로 프리티어를 사용해봤는데 앱 하나랑 DB 만 띄우고 좀만 운영해도 다운되길래, 하나 살짝 더 높은걸로 했는데 그거 마저도 너무 비쌌다 ㅠㅠ (개발 안하는 시간에 껐는데도 달에 3,4만원..)   1) 스펙 Raspberry Pi 4B 로 준비- 4 CPU- 4GB 메모리- 16GB SD 카드- 이정도만 해도 아주 기본적인 운영에는 충분한 것으로 판단된다.    2) Ubuntu 20.04 OS SU - 하단 영상을 참고해서 SU 을 진행했다- https://www.youtube.com/watch?v=zasvSKaobVI  - 참고로 내 컴퓨터에서 SS..
[CDA] 섹션 23 - AWS 서버리스 : API Gateway > 서버리스 람다, 서버리스 DD 를 배웠다. 함수를 웹에 노출시키고 싶다면? (REST API 를 사용해서 사용자들이 앱에 접근할 수 있게 해주고 싶다면?)> 서버리스로 앱 API 를 제공해줄 수 있다 (API Gateway)> 클라이언트도 이 람다 함수를 호출할 수 있게 해주고 싶다 (지금까지 우리가 직접 호출하는 다양한 방법들에 대해서 배움)> 다양한 방법들이 있었다 (지금까지 배웠던)>> Client 가 람다 함수를 직접 호출, 클라이언트가 IAM 권한이 있어야 함 (이거 좋은건 아니라고 전 강의에서 배움)>> ALB 를 둬서 Client 와 람다 함수 사이에서 상호작용 시킴 (람다를 Http 엔드포인트로 노출 가능)  > 마지막 방법은 API Gateway 이다  >> 서버리스 서비스로, Cli..
[CDA] 섹션 22 - AWS 서버리스 : Dynamo DB > 서버리스 DB 에 대해 배워보자 (스케일링을 자동으로 해주고, Lambda 및 다른 서비스와 잘 연계된다) > DD 는 NoSQL 서버리스 DB 이다  > 위와 같은 저통적인 구조가 있음 (위에서 RDS 는 MySQL, PostgreSQL 로 지원)>> 이는 RDBMS 를 활용하고, SQL 쿼리가 있어 데이터 모델링, 테이블, 스키마 등에 대한 강력한 규약이 있다. >> Join / Aggregation 등 복잡한 상황을 잘 해결한다 > 하지만 이 모델링에서 스케일링 관점에서는 수직 스케일링인데, DB 계층에 관해서 본다면, 수직 스케일링시 DB 자체를 교체해야 한다> 수평 스케일링도 어느 정도 가능하긴 하지만, reading capability 상향정도이다 (Ec2 증가, RDS Read Repli..
[CDA] 섹션 21 - AWS 서버리스 : Lambda (II) > 람다 함수의 networking 에 대해서 좀 더 살펴보자 > 람다 함수는 기본적으로, 너의 VPC 에서 배포되는게 아니라, AWS-owned-manged VPC 에서 배포된다>> 따라서 너의 VPC 에 있는 Resource (RDS, ElastiCache, internal ELB 등) 에는 접근할 수가 없다!!  > 위와 같은 양상을 기본적으로 띈다> 외부 Websited (외부 API 사용 가능) 은 접근 가능, Dynamo DB 와 같은 서비스 접근 가능>> 하지만 자체 VPC, 자체 서브넷 내에서 운영중인 RDS 와 같은 건 접근할 수 없다!>> 그래서 이런게 필요할 경우, 람다 함수를 자체 VPC 에서 배포해야 한다 > VPC ID / Subnet / SG  등을 잘정의해야 한다> 우리가 선..
[CDA] 섹션 21 - AWS 서버리스 : Lambda (I) > 시험에서 서버리스 지식에 대해 꽤 깊게, 그리고 많이 물어봄 (개발자 시험이라 그런것! 개발자랑 가장 가까운 배포 영역이다) > 다른 시험은 람다에 대해서 그렇게 많이 안물어보는 듯 (개발자 영역에서 매우 중요한가봄)> 람다는 서비스 업계의 파라다임을 바꿔놓을 정도로 많이 사용되는 서비스> 서버리스란? >> 개발자들이 직접 서버를 직접 provision & 관리할 필요가 업다는 것. (사실 없다는게 아니라, 직접 관리할 필요성이 사라진걸 말함)>> function / code 만 배포하기 때문에, FaaS 단위의 서비스이다 (Function as a  Service)> 태초에 서버리스는 람다로 인해 개척된 영역이였으나, 현재는 "DB, Messaging, Storage 등등" 관리의 영역에서 지원된다..
[CDA] 섹션 20 - AWS 모니터링 및 감사 (Audit): CloudWatch, X-Ray > 너가 설계한 시스템을 클라우드에 잘 띄워놨음. 근데 동작하다가 새벽 두시에 PM 으로 부터 동작안한다고 연락을 받음> 모니터링은 정말 매우매우매우 중요하다고 함> AWS 내에서 누가 무엇을 만들었고, Metric,  로그, 추적, 감시 등등> 모니터링 없이 AWS 앱을 배포한 적은 단 한 번도 없다고 함> 우리 앱은 배포되었지만, 사람들은 사실 별로 관심없다. Beanstalk 을 썼는지, IaC 를 썼는지, 뭔지 아무 상관 없음> 사용자들이 관심있는건 앱의 동작 여부 뿐이다. 중요한 건 다음 정도로 나열할 수 있다>> Latency :  시간이 지남에 따라 앱 지연 시간이 늘어나는가?>> Outages (정지) : 그렇게 가용성 신경써서 배치해놓고 정지되는 경험을 제공하면 안됨>> 유저들이 항의하게..