AWS 34

[AWS] aws 강의 섹션 23 (API GateWay)

API GateWay람다함수와 게이트웨이를 사용하면 완전히 인프라가 없는 서버리스 환경 구축이 가능하다.람다함수는 기본적으로 엔드포인트를 제공하지 않는다 때문에, 람다 함수를 호출하기 위해선 게이트웨이가 필요하다.VPC 외부에 람다함수를 두면 외부 인터넷과 통신이 가능하다는 말은, 람다함수 내부에서 외부 인터넷 호출이 가능하다는 얘기다.웹 소켓을 지원하기 때문에 실시간 스트리밍이 가능하다.버전 컨트롤이 가능하다.때문에, 다른 환경에서 운용이 가능하다.API 키를 만들어 많은 호출이 발생할 시, 쓰로틀링이 가능하다.스웨거 등을 통해 API를 빠르게 문서화 가능하다.API 게이트웨이 단에서 요청 및 응답을 변환하고 무효화 시켜, 호출이 올바른지 확인할 수 있다.SDK 및 API 규격을 생성하고 API 응답을..

AWS 2025.02.04

[AWS] aws 강의 섹션 15 (CloudFront [CDN Service])

Cloud Front콘텐츠 전송 네트워크, 즉 CDN이다.여러 엣지 로케이션에서 웹사이트의 콘텐츠를 캐시 처리해 읽기 성능을 높인다.전 세계에서 콘텐츠가 캐시 처리되기 때문에, 전 세계 사용자의 지연 시간이 줄고 사용자 경험이 향상된다.전 세계에 분포된 CDN 엣지 로케이션에서 컨텐츠가 캐시되어 읽기 성능을 높임클라우드 프론트는 전 세계 216개의 접속 지점이 있고 각각이, AWS 엣지 로케이션에 해당한다.AWS는 엣지 로케이션을 계속 추가해 사용자 경험을 향상 시키고 있다.sheild 와 web Application Firewall을 통해 디도스 공격에 대비한다. 뒤쪽에 자세히 나옴다음과 같이 엣지에 캐시된 데이터를 제공하기에 데이터가 먼 곳에 담겨있다고 하더라도 빠르게 컨텐츠를 제공할 수 있다.Clo..

AWS 2025.01.22

[AWS] aws 강의 섹션 31 (AWS의 기타 서비스들)

AWS SES - Simple Email Service이메일을 보내는데 사용된다.SMTP 프로토콜을 사용하며, AWS SDK로 이메일을 보낼 수 있다.여러 서비스와 통합이 가능하다.S3SNSLambda이메일을 발신, 수신하려면 IAM이 필요한데, IAM과도 통합이 되어 있다.OpenSearch ServiceElasticSearch의 후속작이다.다이나모 DB에서 인덱스나 기본키를 이용해서 데이터를 쿼리할 수 있다.하지만 opensearch를 사용하면 이부만 매칭되어도 모든 필드를 검색할 수 있다.예를 들어서 TAVE를 검색하고자 할 때, 기존 다이나모 디비는 정확히 매칭되는 키를 사용해서 TAVE 값을 가져와야 했다면,openSearch는 TA만 검색해도 TAVE를 가져올 수 있다는 의미이다.검색 뿐만 아..

AWS 2025.01.02

[AWS] aws 강의 섹션 30 (KMS, SSM Parameter Store, CloudHSM, Nitro Enclaves)

Encryption i flight (TLS / SSL)암호화를 해서 전송하고, 수신측에서 받은 후 디코딩을 하는 방식데이터를 암호화 하기 위해 TLS 인증서가 사용된다 (HTTPS)중간자 공격을 방어하기 위해 암호화를 통해 데이터를 전송한다.전송을 목표로하는 대상 서버만이 데이터를 해독할 수 있도록 한다. Server-side encryption서버에서 수신한 데이터를 암호화 시켜 저장하는 것이다.클라이언트에게 송신하기 전 디코드를 진행하고 전송한다.보통 키를 사용해 암호화와 디코딩 작업이 일어난다.서버는 해당 키에 접근이 가능해야한다. Client-side encryption데이터가 클라이언트 측에서 암호화, 해독이 이뤄진다.서버는 이 데이터를 해독할 수 없어야 한다.마찬가지로 키를 사용해 암호화한다..

AWS 2024.12.26

[AWS] aws 강의 섹션 29 (고급 IAM 정책)

AWS STS - Security Token ServiceSTS는 임시 자격 증명을 생성해주는 서비스다. 이를 통해 최대 1시간 유효한 권한을 얻어 AWS 리소스에 액세스할 수 있다.여러 가지 STS 관련 API를 알아보도록 하자.AssumRole: 다른 AWS 계정에 있는 Role을 빌려온다.내 계정 또는 다른 계정에서 특정 권한이 있는 역할을 수행하고 싶을 때 사용한다.AssumeRoleWithSAML: 사용자가 SAML로 로그인 한 경우 사용자에게 임시 보안 인증을 부여한다.AssumeRoleWithWebidentity: 사용자가 소셜로그인을 통해 로그인 할 경우 Role을 반환한다.요즘엔 잘 사용하지 않고, 대신 cognito를 이용한 로그인을 사용한다고 한다.GetSessionToken: 사용자..

AWS 2024.12.18

[AWS] aws 강의 섹션 28 (Step Function, AppSync, Amplify)

AWS Step Functions스텝 펑션은 특정 워크 플로우를 설계하고 해당 워크 플로우를 aws의 리소스와 연결시켜 자동으로 워크 플로우를 실행하도록 도와주는 도구다.한 워크플로우 당 한 개의 상태 관리 머신이 할당 될 수 있다.예시: 이미지 처리 워크플로우이미지를 S3에 업로드.업로드된 이미지를 Lambda로 처리 (크기 변경, 필터 적용 등).처리된 이미지를 S3에 저장.처리가 완료되었다는 알림을 사용자에게 보냄.이러한 워크 플로우를 정의하고 워크 플로우대로 리소스를 실행 시키도록 도와준다. Json으로 작성된다.워크 플로우를 시각화해서 시각적으로 수행이 어디까지 진행되는지 확인할 수 있다.스텝 펑션의 시작은 SDK 호출, API 게이트웨이, 이벤트 브릿지 등등으로 시작할 수 있다.Step Fun..

AWS 2024.12.05

[AWS] aws 강의 섹션 27 (Cognito User Pools, Cognito Identity Pools)

AWS Cognito자격 증명을 통해 사용자에게 여러 웹, 모바일 어플리케이션과 상호작용하게 하는 것이 목표다 사용자는 보통 AWS 계정 외부에 자리하고 있어서 이름이 cognito이다. 코그니토에는 두 가지 서비스가 있다. Cognito User Pools사용자를 위해 로그인 기능을 제공준다.api 게이트웨이, 로드밸런서와 통합이 잘 되어 있다.Cognito Identity Pools (Federated Identity)앱에 등록된 사용자가 aws 리소스에 바로 액세스할 수 있도록, 임시 AWS 자격 증명을 제공하는 것이다.사용자 풀과도 통합이 잘 되어 있다.Cognito User Pools (CUP)웹 및 모바일 애플리케이션 사용자들의 서버리스 데이터베이스를 생성할 수 있는 방법이다.아이디, 비밀번호..

AWS 2024.12.04

[AWS] aws 강의 섹션 26 (AWS Cloud Development Kit)

AWS Cloud Development Kit (CDK)자바 스크립트, 파이썬, 자바 등 익숙한 언어를 사용하여 클라우드 인프라를 정의할 수 있다.Cloud Fromation과 비슷하다고 생각할 수 있다.Cloud Formation은 Yaml을 이용해서 클라우드 인프라를 정의하기 때문이다.하지만 CDK는 프로그래밍 언어를 사용한다는 것에서 큰 차이점이 있다.고수준의 컴포넌트를 생성자를 통해서 생성할 수 있다.이렇게 만든 코드에 문제가 없다면 코드가 컴파일 되어 Cloud Formation 템플릿이 된다. 즉 CDK를 활용해서 Cloud Formation 템플릿을 만드는 서비스란 것이다.기존 YAML로 작성하던 템플릿을 익숙한 언어로 더 쉽게 생성하는 차이점이 있다.이는 인프라와 애플리케이션 런타임 코드를..

AWS 2024.12.04

[AWS] aws 강의 섹션 25 (AWS SAM)

AWS SAMSAM = ServerLess Application Model서버리스 애플리케이션을 개발하고 배포하기 위한 프레임워크이다.코드를 작성하고 나서 SAM과 호환되는 Yaml 형식의 구성 파일을 사용하게 된다.아주 간단한 Sam.yml 파일로 아주 복잡한 클라우드 포메이션을 만들 수 있다.클라우드 포메이션의 모든 항목을 지원한다샘 내부적으로 코드 디플로이를 사용하여, 람다 함수를 배포할 수 있으며 람다, api 게이트웨이, 다이나모 DB를 로컬에서 실행하는 데 도움을 줄 수 있다.샘은 서버리스 애플리케이션을 기반으로 이를 로컬에서 디버깅하고 클라우드 포메이션을 사용해서신속하게 배포할 수 있도록 설계됐다.AWS SAM - RecipeSAM은 레시피로 구성되며, 템플릿 맨 위에 SAM 템플릿임을 나타..

AWS 2024.11.28

[AWS] aws 강의 섹션 24 - 2 (Code Deploy, Code Star, Code Artifact, code Guru)

CodeDeploy코드 디플로이는 애플리케이션 배포를 자동화해주는 서비스다. 만약 배포한 서비스에서 장애가 발생한다면, 클라우드 워치 알림을 통해 자동으로 롤백을 시킬 수도 있다.애플리케이션을 배포하는 속도도 조절할 수 있다.배포 방식을 정의하기 위한 appsepec.yml 파일이 존재한다.CodeDeploy - EC2/On-Primises 플랫폼애플리케이션과 코드를 EC2 인스턴스와 온프레미스 서버에 배포할 수 있다.또한 두 종류의 배포를 할 수 있는데, 하나는 현재 위치 배포고, 다른 하나는 블루/그린 배포다.차이점은 조금 이따 알아보도록 하겠다.배포를 하려면 먼저 codeDeploy 에이전트를 타깃 인스턴스에서 실행시켜야한다.해당 에이전트를 통해 새로운 코드로의 업데이트가 진행된다.배포 속도를 정의..

AWS 2024.11.27