AWS
38 posts
AWS
July 19, 2024
AWS Account Management, Billing & Support

AWS Account Management, Billing & Support AWS Organizations 글로벌 서비스 조직을 생성하여 여러 AWS계정을 관리 주 계정: 마스터 계정 그 외 계정: 하위 계정 OU안 OU 가능 모든 계정의 비용을 마스터 계정으로 한 번에 지불 많이 사용하는 서비스 할인 받는데 유용 -> 사용량도 통합됨 API를 통한 계정 생성 자동화 가능 Service Controll Policies(SCP)를 이용해서 계정 권한 제한 가능 다중 계정 전략 부서별, 가격 중점 별, 환경별 혹은 규제 제한에 근거해 dev/ test/ prod 별로 계정을 생성할 수 있고 계정을 생성하지 않도록 서비스를 설정할 떄에는 SCP를 사용한다. 리소스 격리를 위해 다른 계정마다 다른 VPC를 갖도록 하여 분리하고, 로깅으로부터 계정을 격리시킬 수도 있다. 이렇듯 원하는 계정의 유형에 따라 유동적으로 다중 계정 전략 설정이 가능하다. Service Control Polici…

AWS
ML
July 19, 2024
Amazon Machine Learning

Amazon Machine Learning Amazon Rekognition 머신러닝을 통해 사람, 텍스트, 이미지 혹은 동영상 장면을 인식 사용자 인증 및 인원 수 검출 사용 예시 라벨링 콘텐츠 조정 텍스트 감지 안면 감지 및 분석 (성별, 나이, 감정, …) 유명인 인식 경로 추적 Amazon Transcribe 음성을 텍스트로 변환(Speech to Text) 다국어 오디오에 대한 자동 언어 식별 기능 지원 이름, 전화번호와 같은 민감한 데이터 블라인드 처리 가능 사용 예시 고객 서비스 통화 받아쓰기 자동으로 자막 생성 오디오 자산에 대한 메타데이터 생성 Amazon Polly <-> Transcribe 텍스트를 음성으로 변환(Text to Speech) 사용 예시 대화 어플리케이션 도슨트 서비스 Amazon Translate 자연스럽고 정확한 번역기능 제공 Amazon Lex & Connect Alexa에 들어간 그것 자동 음성 인식 자연어 이해 사용 예시 고객이 약속을…

AWS
Security
July 19, 2024
AWS Security

AWS Security AWS Security는 클라우드 환경에서 보안을 강화하고 규정 준수를 지원하는 다양한 서비스와 도구를 제공한다. 이 포스팅에서는 주요 AWS Security 서비스와 그 기능에 대해 알아보자. DDoS 방어: WAF 및 Shield AWS WAF: 웹 애플리케이션 방화벽으로, 악의적인 웹 트래픽을 차단하여 애플리케이션을 보호한다. AWS Shield: DDoS 공격으로부터 애플리케이션을 보호하는 서비스다. 기본적으로 AWS Shield Standard는 모든 AWS 고객에게 제공되며, AWS Shield Advanced는 추가적인 보호와 DDoS 대응을 제공한다. AWS Network Firewall AWS 네트워크 방화벽은 VPC 내에서 네트워크 트래픽을 모니터링하고 제어할 수 있는 완전 관리형 방화벽이다. 사용자 지정 규칙을 통해 인바운드 및 아웃바운드 트래픽을 제어할 수 있다. AWS Firewall Manager KMS 및 CloudHSM을 사용한…

AWS
July 18, 2024
AWS VPC Endpoints

Amazon VPC Endpoints VPC Endpoints 개요 VPC Endpoints는 AWS 서비스에 연결할 때 공용 인터넷을 사용하지 않고 사설 AWS 네트워크를 통해 연결할 수 있도록 해준다. 이는 더 나은 보안을 제공하고, 네트워크 홉(Hop)을 줄여 지연 시간을 단축시킨다. VPC Endpoints의 유형 게이트웨이 엔드 포인트 (Gateway Endpoint): Amazon S3와 DynamoDB 전용. 인터페이스 엔드 포인트 (Interface Endpoint): AWS의 다른 모든 서비스와 연결할 수 있다. 예시 사설 서브넷 내의 EC2 인스턴스가 Amazon S3와 DynamoDB에 연결: 게이트웨이 엔드 포인트를 사용하여 비공개로 연결 가능. EC2 인스턴스가 CloudWatch에 사용자 지정 지표를 푸시: 인터페이스 엔드 포인트를 사용하여 비공개로 연결 가능. VPC Endpoints 생성 과정 VPC에서 Endpoints를 선택하고, “Create E…

AWS
July 18, 2024
AWS Cloud Monitoring

클라우드 모니터링 1. Amazon CloudWatch CloudWatch란? (Metrics, Alarms) Amazon CloudWatch는 AWS 내 모든 서비스에 대한 지표를 제공하는 모니터링 서비스다. 이 서비스는 CPUUtilization, NetworkIn 등의 지표를 통해 AWS 자원을 모니터링하고, 시간에 따른 변화를 시각화할 수 있는 대시보드를 제공한다. 주요 기능 지표 수집: EC2, EBS, S3 등 다양한 서비스의 지표를 수집. 대시보드 생성: 여러 지표를 한 번에 시각화할 수 있는 대시보드를 제공. 경보 설정: 특정 지표가 임계값을 초과할 때 알림을 트리거. 예시 지표 EC2 인스턴스: CPUUtilization, StatusCheck, NetworkIn/Out. EBS 볼륨: Disk Read/Writes. S3 버킷: BucketSizeBytes, NumberOfObjects, AllRequests. 2. Amazon CloudWatch Logs C…

AWS
July 18, 2024
Amazon MQ

Amazon MQ Amazon MQ란? Amazon MQ는 RabbitMQ와 ActiveMQ 두 가지 기술을 지원하는 관리형 메시지 브로커 서비스다. 이 서비스는 MQTT, AMQP, STOMP, Openwire, WSS와 같은 개방형 프로토콜을 사용하는 기존 애플리케이션을 클라우드로 마이그레이션할 때 유용하다. Amazon MQ의 주요 특징 기존 프로토콜 지원 Amazon MQ는 기존의 온프레미스 애플리케이션에서 사용하는 개방형 프로토콜을 그대로 사용할 수 있도록 지원한다. 이를 통해 애플리케이션을 재작성하지 않고도 클라우드로 마이그레이션할 수 있다. 관리형 서비스 Amazon MQ는 RabbitMQ와 ActiveMQ를 관리형 버전으로 제공하여, 클라우드에서 메시지 브로커를 쉽게 사용할 수 있게 한다. 이는 클라우드 네이티브 서비스인 SQS와 SNS와는 다른 방식으로 운영된다. 제한적인 확장성 Amazon MQ는 SQS나 SNS처럼 무한한 확장성을 제공하지는 않는다. 이는 서버…

AWS
July 18, 2024
Amazon Simple Notification Service(SNS)

Amazon Simple Notification Service(SNS) Amazon SNS AWS의 Simple Notification Service(SNS)는 애플리케이션의 메시지를 다수의 수신자에게 효율적으로 전달할 수 있는 방법을 제공한다. 이를 통해 애플리케이션을 효과적으로 분리하고, 각각의 서비스가 독립적으로 동작할 수 있도록 한다. SNS를 이용한 게시-구독 모델 직접 통합 vs 게시-구독 통합 애플리케이션이 다수의 수신자에게 메시지를 보내야 할 때, 두 가지 접근 방법이 있다. 첫 번째는 직접 통합으로 라우팅하는 방법이다. 예를 들어, 구매 서비스가 이메일 알림을 보내고, 사기 탐지 서비스, 배송 서비스와 SQS 대기열에 통신한다. 하지만 이 방식은 서비스 간의 직접 통합이 많아질수록 복잡해진다. 대신, 게시-구독(Pub/Sub) 통합을 사용하면 이러한 복잡성을 줄일 수 있다. SNS 주제를 사용하여, 구매 서비스는 SNS 주제에 메시지를 보내고, 주제는 자동으로 …

AWS
July 18, 2024
Amazon Kinesis

Amazon Kinesis Amazon Kinesis란? Kinesis의 주요 구성 요소 Kinesis Data Streams Kinesis Data Streams는 지연 시간이 적은 스트리밍 서비스로, 수백, 수천 개의 소스로부터 데이터를 대규모로 수집할 수 있다. 소스는 트럭, 보트, IoT 기기 등 데이터를 생산하는 모든 것이 될 수 있다. Kinesis Data Analytics Kinesis Data Analytics는 SQL 언어를 사용하여 스트리밍 데이터에 대한 실시간 분석을 수행할 수 있게 해준다. 이를 통해 실시간으로 데이터를 분석하고 출력값을 얻을 수 있다. Kinesis Data Firehose Kinesis Data Firehose는 스트리밍 데이터를 Amazon S3, Redshift, Elasticsearch 등 우리가 알고 있는 다양한 장소에 로드하는 서비스다. Kinesis Video Streams Kinesis Video Streams는 실시간 영…

AWS
July 18, 2024
Amazon Simple Queue Service(SQS)

Amazon Simple Queue Service(SQS) Amazon SQS란? 대기열이란? 대기열은 메시지를 일시적으로 저장하는 버퍼 역할을 한다. 여기서 프로듀서(Producer)는 대기열로 메시지를 전송하고, 컨슈머(Consumer)는 대기열에서 메시지를 읽어 처리한다. 프로듀서: 하나 또는 여러 개의 프로듀서가 대기열로 메시지를 보낼 수 있다. 컨슈머: 하나 또는 여러 개의 컨슈머가 대기열에서 메시지를 폴링하여 읽을 수 있다. 각 컨슈머는 다른 메시지를 받게 되며, 메시지 처리가 끝나면 대기열에서 메시지를 삭제한다. SQS의 특징 완전 관리형 서비스 Amazon SQS는 서버를 관리할 필요가 없는 완전 관리형 서비스다. 이는 애플리케이션 구성 요소 간의 통신을 관리하고 확장할 때 유용하다. 무한한 규모 조정 SQS는 초당 1개의 메시지부터 수만 개의 메시지까지 한도 없이 규모를 조정할 수 있다. 메시지의 기본 보유 기간은 4일이며, 최대 14일까지 설정할 수 있다. 짧…

AWS
July 18, 2024
AWS S3 Transfer Acceleration and Global Accelerator

AWS S3 Transfer Acceleration and Global Accelerator S3 Transfer Acceleration S3 Transfer Acceleration이란? Amazon S3 Transfer Acceleration은 전 세계적으로 분산된 사용자들이 S3 버킷으로 파일을 업로드하거나 다운로드할 때 전송 속도를 향상시키는 서비스이다. 주로 지리적으로 멀리 떨어진 S3 버킷과 통신할 때 유용하다. 동작 원리 엣지 로케이션 사용: 사용자는 파일을 AWS의 엣지 로케이션에 업로드한다. 엣지 로케이션은 사용자와 가까운 위치에 있어 빠른 응답 시간을 제공한다. AWS 내부 네트워크 전송: 엣지 로케이션은 AWS의 고속 내부 네트워크를 사용하여 파일을 최종 목적지인 S3 버킷으로 전송한다. 이 과정에서 공용 인터넷보다 더 빠르고 안정적인 전송이 이루어진다. 사용 사례 멀리 떨어진 S3 버킷에 파일 업로드: 예를 들어, 미국에서 호주 S3 버킷으로 파일을 업로드할…

AWS
July 17, 2024
AWS Route53 and CloudFront

AWS Route 53 and CloudFront Amazon Route 53 DNS란 무엇인가? DNS(도메인 이름 시스템)는 인터넷의 전화번호부와 같다. 규칙과 레코드의 모음집으로, 클라이언트가 URL을 통해 올바른 서버를 찾아갈 수 있게 도와준다. Route 53의 주요 레코드 유형 A 레코드: 도메인 이름을 IPv4 주소로 매핑한다. AAAA 레코드: 도메인 이름을 IPv6 주소로 매핑한다. CNAME 레코드: 호스트 이름을 다른 호스트 이름과 매핑한다. 별칭 레코드: 호스트 이름을 AWS 리소스(예: ELB, CloudFront, S3, RDS 등)에 매핑한다. DNS 동작 방식 웹 브라우저: 사용자가 웹 브라우저를 통해 URL을 입력한다. DNS 요청: 브라우저는 DNS 서버에 URL에 대한 IP 주소를 요청한다. DNS 응답: DNS 서버는 해당 URL에 대한 IP 주소를 응답한다. 서버 연결: 브라우저는 IP 주소를 이용해 서버에 연결하고, 서버는 HTTP 응답을 …

AWS
July 17, 2024
AWS SSM

AWS SSM AWS SSM SSM의 역할 운영 인사이트 제공: 인프라 상태에 관한 운영 인사이트를 제공하여, 시스템의 건강 상태를 모니터링하고 문제를 신속히 해결할 수 있다. 규정 준수 강화: 서버와 인스턴스에 패치를 자동으로 적용하여 보안 및 규정 준수를 강화할 수 있다. 명령 실행: SSM을 사용하여 전체 서버에 명령을 실행할 수 있다. 구성 관리: SSM 파라미터 스토어를 통해 구성 데이터를 안전하게 저장하고 관리할 수 있다. SSM의 동작 원리 SSM 서비스는 제어하는 시스템에 SSM 에이전트를 설치하여 작동한다. 이 에이전트는 백그라운드에서 실행되며 AWS의 SSM 서비스에 데이터를 보고한다. EC2 인스턴스 및 온프레미스 시스템 지원: SSM 에이전트는 EC2 인스턴스와 온프레미스 가상 머신에 설치되며, 이를 통해 하이브리드 환경을 지원한다. 자동 설치: Amazon Linux AMI나 Ubuntu AMI를 사용하면 SSM 에이전트가 기본적으로 설치된다. 명령 및 …

AWS
July 17, 2024
AWS Cloud9

AWS Cloud9 AWS Cloud9 AWS Cloud9은 클라우드 기반의 통합 개발 환경(IDE)으로, 클라우드에서 바로 코드를 작성, 실행 및 디버깅할 수 있다. 웹 브라우저에서 실행되며, 어디서든 접근이 가능하다. 주요 특징 클라우드 기반 IDE: 클라우드에서 실행되는 통합 개발 환경으로, 코드 작성, 실행, 디버깅이 가능하다. 웹 브라우저 지원: Chrome, Firefox, Internet Explorer 등 다양한 웹 브라우저에서 사용할 수 있다. 실시간 협업: 실시간으로 코드 협업을 할 수 있으며, 페어 프로그래밍을 지원한다. 어디서나 접근 가능: 인터넷에 접속할 수 있는 곳이면 어디서든 프로젝트 작업이 가능하다. 사용 예시 코드 작성 및 디버깅: Cloud9을 사용하여 클라우드에서 바로 코드를 작성하고 디버깅할 수 있다. 실시간 코드 협업: 여러 개발자가 실시간으로 같은 코드에 대해 협업하고 페어 프로그래밍을 할 수 있다. 유연한 작업 환경: 사무실, 집, 카페…

AWS
July 17, 2024
AWS CodeStar

AWS CodeStar AWS CodeStar 주요 특징 통합 UI: CodeStar는 모든 개발 작업을 한곳에서 관리할 수 있는 통합된 사용자 인터페이스를 제공한다. 자동 설정: CodeCommit 리포지토리, CodeBuild 설계 프로세스, CodeDeploy, CodePipeline 등을 자동으로 설정한다. 대시보드 제공: 프로젝트의 상태를 실시간으로 모니터링할 수 있는 대시보드를 제공한다. 빠른 시작: Beanstalk 환경이나 EC2 인스턴스 등에서도 프로젝트를 빠르게 시작할 수 있다. 사용 예시 통합 CICD 파이프라인 설정: CodeStar를 사용하여 CodeCommit, CodeBuild, CodeDeploy, CodePipeline을 자동으로 설정하고 관리할 수 있다. 개발 프로젝트 관리: 통합된 대시보드를 통해 개발 프로젝트의 진행 상황을 모니터링하고 관리할 수 있다. 빠른 애플리케이션 배포: CodeStar를 통해 Beanstalk 환경이나 EC2 인스턴스…

AWS
July 17, 2024
AWS CodePipeline with CodeCommit, CodeBuild, CodeDeploy

AWS CodePipeline with CodeCommit, CodeBuild, CodeDeploy CodeCommit 주요 특징 완전 관리형: 서버를 설정하거나 관리할 필요 없이 코드 리포지토리를 사용할 수 있다. 확장성 및 고가용성: AWS의 인프라를 활용하여 확장성과 고가용성을 제공한다. 프라이빗 및 안전함: AWS 계정 내에서 운영되므로 보안이 강화된다. 다양한 AWS 서비스와 통합: 다른 AWS 서비스와 쉽게 통합할 수 있다. 사용 예시 버전 관리: 개발팀이 협업하여 코드 변경 사항을 관리하고, 버전별로 롤백할 수 있다. CI/CD 파이프라인: CodeCommit을 소스 코드 저장소로 사용하여 CI/CD 파이프라인을 구성할 수 있다. CodeBuild 주요 특징 완전 관리형: 빌드 서버를 설정하거나 관리할 필요 없이 빌드를 실행할 수 있다. 서버리스: 빌드 작업을 위해 서버를 프로비저닝하거나 관리할 필요가 없다. 자동 확장: 빌드 수요에 따라 자동으로 확장된다. 다양한…

AWS
July 17, 2024
AWS Elastic Beanstalk

AWS Elastic Beanstalk AWS Elastic Beanstalk AWS Elastic Beanstalk은 AWS에서 웹 애플리케이션을 쉽게 배포하고 관리할 수 있는 PaaS(Platform as a Service) 서비스다. 개발자는 인프라를 직접 관리할 필요 없이 코드만 배포하면 된다. Beanstalk은 애플리케이션의 배포, 관리, 자동 확장 및 모니터링을 도와준다. Web App 3-tier 3-티어 아키텍처 AWS에서 웹 애플리케이션을 배포할 때는 일반적으로 3-티어 아키텍처를 따른다. 이는 사용자가 여러 가용 영역(AZ)에 있는 로드 밸런서와 통신하고, 로드 밸런서는 트래픽을 오토 스케일링 그룹에서 관리하는 여러 EC2 인스턴스에 분산시키는 구조다. 로드 밸런서 (ELB): 사용자의 요청을 받아 여러 EC2 인스턴스에 분산시킨다. 오토 스케일링 그룹: 트래픽에 따라 EC2 인스턴스의 수를 자동으로 조정한다. 데이터베이스 (RDS): 관계형 데이터베이스로,…

AWS
July 17, 2024
AWS CloudFormation, Cloud Development Kit(CDK), IaC

AWS CloudFormation, Cloud Development Kit(CDK) Infrastructure as Code (IaC) IaC(Infrastructure as Code)는 인프라를 코드로 정의하고 관리하는 방법론이다. 이를 통해 인프라를 일관되게 배포하고 관리할 수 있으며, 버전 관리와 협업이 용이하다. 주요 특징 일관성: 코드로 정의된 인프라는 일관되게 배포된다. 재사용성: 코드로 작성된 인프라는 여러 환경에서 재사용할 수 있다. 버전 관리: 인프라 코드도 애플리케이션 코드와 같이 버전 관리가 가능하다. 자동화: 인프라 배포와 관리를 자동화하여 효율성을 높일 수 있다. AWS CloudFormation CloudFormation은 AWS 인프라의 모든 리소스를 선언적으로 정의할 수 있는 서비스다. 코드로 인프라를 정의하여 자동으로 리소스를 생성하고 관리할 수 있다. 주요 특징 선언적 프로그래밍: 필요한 리소스를 선언적으로 정의하면 CloudFormation이 자…

AWS
July 17, 2024
AWS Lambda, API Gateway

AWS Lambda, API Gateway AWS Lambda AWS Lambda는 서버리스 컴퓨팅 서비스로, 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있게 해준다. Lambda는 특정 이벤트에 의해 트리거되며, 필요할 때만 실행된다. 이는 비용 효율적이며 확장성이 뛰어나다. 주요 특징 서버리스: 서버를 관리할 필요 없이 코드를 실행할 수 있다. 이벤트 기반: 특정 이벤트가 발생했을 때만 함수가 실행된다. 자동 확장: 수요에 따라 자동으로 확장된다. 비용 효율성: 사용한 만큼만 비용을 지불한다. 프리 티어로 매달 백만 개의 Lambda 호출과 40만 GB-초의 컴퓨팅 시간이 제공된다. 작동 원리 함수 정의: Lambda 함수를 정의하고, 필요한 코드와 리소스를 지정한다. 이벤트 트리거: 특정 이벤트가 발생하면 Lambda 함수가 트리거된다. 코드 실행: Lambda 함수가 실행되어 지정된 작업을 수행한다. 사용 사례 서버리스 섬네일 생성 서비스: 사용자가 S3 …

AWS
July 16, 2024
AWS ECS, Fargate, ECR

AWS ECS, Fargate, ECR AWS ECS ECS는 Elastic Container Service의 약자로, AWS에서 Docker 컨테이너를 실행할 때 사용하는 서비스다. ECS를 사용하면 컨테이너를 실행하고 관리할 수 있으며, EC2 인스턴스에서 직접 컨테이너를 실행할 수 있다. 주요 특징 EC2 인스턴스 필요: ECS에서 도커 컨테이너를 실행하려면 사전에 EC2 인스턴스를 프로비저닝하고 관리해야 한다. 자동 스케일링: 컨테이너의 수요에 따라 EC2 인스턴스를 자동으로 스케일링할 수 있다. 로드 밸런싱: 애플리케이션 로드 밸런서와 통합하여 웹 애플리케이션 트래픽을 효과적으로 분산시킬 수 있다. 자동화된 관리: AWS가 컨테이너의 시작과 중지를 책임진다. 작동 원리 EC2 인스턴스 프로비저닝: 사용자 또는 자동화 도구를 통해 EC2 인스턴스를 설정한다. 컨테이너 실행: ECS 서비스가 도커 컨테이너를 EC2 인스턴스에서 실행한다. 관리: AWS가 컨테이너의 배치, …

AWS
July 16, 2024
AWS Glue

AWS Glue AWS Glue AWS Glue는 관리형 추출, 변환 및 로드(ETL) 서비스로, 데이터를 준비하고 변환하는 작업을 자동화할 수 있다. Glue는 완전 서버리스 서비스로, 사용자는 데이터 변환에만 집중하고 인프라 관리는 Glue에 맡길 수 있다. 주요 특징 완전 관리형 서버리스 서비스: 서버를 설정하거나 관리할 필요 없이 ETL 작업을 수행할 수 있다. 자동화된 데이터 변환: Glue는 데이터를 추출하고 변환하여 원하는 형식으로 로드하는 작업을 자동으로 처리한다. 다양한 데이터 소스 지원: S3, RDS, Redshift 등 다양한 AWS 데이터 소스와 통합할 수 있다. 스크립트 생성: Glue는 데이터를 변환하기 위한 스크립트를 자동으로 생성하여 사용자 작업을 간소화한다. 작동 원리 데이터 추출: Glue는 S3 버킷, RDS 데이터베이스 등에서 데이터를 추출한다. 데이터 변환: 추출된 데이터는 Glue에서 변환 스크립트를 작성하여 원하는 형식으로 변환된다. …

AWS
July 16, 2024
AWS DMS

AWS DMS AWS Database Migration Service (DMS) AWS Database Migration Service(DMS)는 데이터베이스 간의 데이터 마이그레이션을 쉽게 수행할 수 있도록 도와주는 서비스이다. DMS를 사용하면 소스 데이터베이스에서 데이터를 추출하여 대상 데이터베이스로 신속하고 안전하게 마이그레이션할 수 있다. 주요 특징 완전 관리형 서비스: DMS는 AWS에서 완전 관리되므로, 사용자는 인프라 관리에 신경 쓰지 않고 데이터 마이그레이션에 집중할 수 있다. 중단 없는 마이그레이션: 마이그레이션 작업 동안에도 소스 데이터베이스를 계속 사용할 수 있어, 서비스 중단 없이 데이터를 이전할 수 있다. 동종 및 이기종 마이그레이션 지원: 동일한 데이터베이스 간의 마이그레이션(동종)뿐만 아니라, 서로 다른 데이터베이스 간의 마이그레이션(이기종)도 지원한다. 자가 복구: DMS는 오류가 발생하더라도 자동으로 복구하여 마이그레이션 작업을 계속 진행한다. 작…

AWS
July 16, 2024
Amazon QLDB and Managed Blockchain

Amazon QLDB and Managed Blockchain Amazon QLDB Amazon QLDB(Quantum Ledger Database)는 금융 거래를 기록하는 원장 데이터베이스로, 데이터의 모든 변경 내역을 완전하고 변경 불가능하게 저장하는 시스템이다. 서버리스 구조로 고가용성을 자랑하며, 세 개의 가용 영역에 걸쳐 데이터 복제본을 갖는다. 주요 특징 변경 불가능한 원장: 데이터가 한 번 기록되면 삭제하거나 수정할 수 없으며, 모든 변경 내역이 저널에 기록된다. 암호화 서명: 각 변경 사항에 대해 암호화 해시가 생성되어 데이터의 무결성을 보장한다. 고성능: 일반적인 원장 블록체인 프레임워크보다 2~3배 높은 성능을 제공한다. SQL 지원: SQL을 사용하여 데이터를 다룰 수 있어 기존 관계형 데이터베이스 사용자도 쉽게 접근할 수 있다. 작동 원리 저널(Journal): 데이터의 모든 변경 내역이 일련의 수정 사항으로 저널에 기록된다. 암호화 해시: 각 수정 사항에 …

AWS
July 16, 2024
Amazon Neptune

Amazon Neptune Amazon Neptune Amazon Neptune은 완전 관리형 그래프 데이터베이스 서비스로, 고도로 연결된 데이터셋을 효과적으로 관리하고 쿼리할 수 있도록 설계되었다. 그래프 데이터베이스는 노드(정점)와 엣지(간선)로 구성되며, 복잡한 관계와 연결을 표현하는 데 유리하다. 주요 특징 1. 고성능 그래프 쿼리 Neptune은 수십억 개의 관계를 밀리초 단위의 지연 시간으로 쿼리할 수 있도록 최적화되어 있다. 이는 복잡한 그래프 데이터셋을 신속하게 탐색하고 분석할 수 있게 해준다. 2. 다중 AZ 지원 Neptune은 세 개의 가용 영역(AZ)에 걸쳐 데이터베이스를 복제하여 높은 가용성을 제공한다. 최대 15개의 읽기 전용 복제본을 생성할 수 있어 읽기 성능을 향상시킬 수 있다. 3. 완전 관리형 서비스 Neptune은 AWS에서 완전히 관리되므로 데이터베이스 관리 작업(백업, 패치, 복제 등)을 자동화하여 사용자가 애플리케이션 개발에 집중할 수 있…

AWS
July 16, 2024
AWS DocumentDB

AWS DocumentDB AWS DocumentDB Amazon DocumentDB는 MongoDB와 호환되는 NoSQL 데이터베이스 서비스로, AWS에서 완전히 관리되며 고가용성과 확장성을 제공한다. DocumentDB는 MongoDB의 기능을 클라우드 네이티브 환경에서 사용할 수 있도록 설계되었다. 주요 특징 MongoDB 호환성: DocumentDB는 MongoDB의 API와 호환되어 기존 MongoDB 애플리케이션을 쉽게 마이그레이션할 수 있다. MongoDB 드라이버를 그대로 사용할 수 있다. 완전 관리형 서비스: DocumentDB는 AWS에서 완전히 관리되며, 데이터베이스 관리 작업(백업, 패치, 복제 등)을 자동화하여 사용자가 애플리케이션 개발에 집중할 수 있도록 돕는다. 고가용성 및 내구성: 데이터는 세 개의 가용 영역(AZ)에 걸쳐 복제되어 높은 가용성과 내구성을 제공한다. 이는 데이터 손실 위험을 줄이고 장애 발생 시에도 데이터 접근이 가능하도록 한다. 자동…

AWS
July 16, 2024
Amazon Athena & QuickSight

Amazon Athena & QuickSight Amazon Athena Amazon Athena는 서버리스 쿼리 서비스로, Amazon S3에 저장된 데이터를 SQL 쿼리를 통해 분석할 수 있다. Athena는 Presto 엔진을 기반으로 구축되었으며, 다양한 파일 형식을 지원한다. 주요 특징 서버리스: 별도의 서버 설정이나 관리 없이 SQL 쿼리만으로 데이터를 분석할 수 있다. 다양한 파일 형식 지원: CSV, JSON, ORC, Avro, Parquet 등 다양한 형식의 파일을 지원한다. 즉시 분석: 데이터를 S3에 저장한 후, 별도의 로드 과정 없이 즉시 분석할 수 있다. 비용 효율성: 스캔된 데이터 테라바이트당 5달러로 과금되며, 데이터 압축 및 열 형식 저장을 통해 비용을 절감할 수 있다. 작동 원리 데이터 로드: 사용자가 Amazon S3에 데이터를 로드한다. 쿼리 작업: Amazon Athena가 S3에 저장된 데이터에 대해 SQL 쿼리를 실행한다. 분석 결과: 쿼…

AWS
July 16, 2024
Amazon EMR

Amazon EMR(Elastic MapReduce) Amazon EMR은 대규모 데이터 처리와 분석을 위해 Hadoop, Spark, HBase, Presto 등 다양한 오픈 소스 빅데이터 프레임워크를 지원하는 관리형 클러스터 플랫폼이다. 대량의 데이터를 쉽고 빠르게 처리할 수 있도록 돕는다. 주요 특징 1. 관리형 클러스터 Amazon EMR은 클러스터의 프로비저닝, 구성, 관리 및 확장을 자동화하여 사용자가 데이터 처리 작업에만 집중할 수 있게 한다. 필요에 따라 클러스터를 자동으로 확장하거나 축소할 수 있다. 2. 다양한 빅데이터 프레임워크 지원 Hadoop, Spark, HBase, Presto 등 다양한 빅데이터 프레임워크를 지원하여 다양한 데이터 처리 및 분석 작업을 수행할 수 있다. 각 프레임워크는 EMR에서 최적화되어 높은 성능을 발휘한다. 3. 비용 효율성 사용한 만큼만 비용을 지불하는 요금 구조로, EC2 스팟 인스턴스를 활용하면 비용을 더욱 절감할 수 있다.…

AWS
July 16, 2024
AWS Redshift

AWS Redshift Redshift는 PostgreSQL 기반의 데이터베이스이다. OLAP에 특화되었다. 지속적 로드가 아닌 1시간 단위 로드 데이터 분석 및 컴퓨팅 열 기반 스토리지 QuickSight 및 Tableau와의 통합 대시보드를 통한 분석 및 시각화 서버리스 Redshift의 주요 특징 1. 높은 확장성 Redshift는 클러스터의 크기를 쉽게 조정할 수 있어 데이터가 증가해도 성능 저하 없이 확장이 가능하다. 필요에 따라 노드를 추가하거나 제거할 수 있다. 2. 빠른 쿼리 성능 Redshift는 데이터 웨어하우스 전용으로 설계되어 빠른 쿼리 성능을 제공한다. 데이터 압축, 컬럼형 저장소, 쿼리 최적화 등의 기술을 활용해 대량의 데이터를 빠르게 처리할 수 있다. 3. 복제 및 백업 Redshift는 자동으로 데이터 복제 및 백업을 제공하여 데이터의 안전성을 높인다. 스냅샷 기능을 사용하면 데이터의 특정 시점 상태를 저장하고, 필요 시 복원할 수 있다. Redshi…

AWS
July 15, 2024
AWS DynamoDB

AWS DynamoDB DynamoDB는 완전 관리형 고가용성 데이터베이스로 세 개의 가용 영역에 걸쳐 복제본을 두고 운영된다. NoSQL 데이터베이스 검색 지연 시간 10ms 미만 막대한 작업량 소화 가능 분산된 서버리스 데이터베이스 -> 프로비저닝이 필요 없음 DynamoDB 키/값 데이터 베이스 기본 키는 파티션 키와 정렬 키로 구분된다. 우측의 속성에는 각 데이터에 대한 열을 임의로 정의할 수 있다. DynamoDB Accelerator - DAX 완전 관리형 인 메모리 캐시 ElastiCache와 달리 DynamoDB 전용 캐시이다. 애플리케이션이 DynamoDB 테이블에 액세스 하려 할 때 DAX를 캐시로 이용해야 한다. ElastiCache를 대신 사용할 수 있지만 그럴 필요가 없음 DynamoDB Global Tables 각 리전의 테이블에 양방향 복제 작업이 이루어지며 동일한 데이터를 갖게 됨. 원한다면 10개의 리전에 대해서도 이와 같은 설정이 가능. Dyn…

AWS
July 15, 2024
AWS ElastiCache

AWS ElastiCache Relational Database 사용을 위해 RDS를 사용했던 것과 같이, 혹은 를 사용하기 위해 ElastiCache를 사용한다. 높은 성능과 짧은 지연 시간 읽기 집중적인 작업에 특화 RDS에서 동일한 쿼리를 다룰 시 큰 부하가 발생하는 반면, 캐시를 사용하면 캐시가 직접 전송되므로 부하를 줄일 수 있다. Usecase1: RDS + ElastiCache 캐싱 패턴: RDS에서 자주 읽히는 데이터나 반복적인 쿼리 결과를 ElastiCache에 캐싱하여, 데이터베이스의 부하를 줄이고 응답 시간을 단축시킬 수 있다. 구현 방법: 애플리케이션은 먼저 ElastiCache를 조회하고, 데이터가 없으면 RDS에서 데이터를 가져와 ElastiCache에 저장한 후 응답한다. 이를 통해 RDS의 부하를 줄이고 성능을 향상시킬 수 있다. Usecase2: ElastiCache Only 특정 사용 사례: ElastiCache는 인메모리 데이터베이스로 사용되…

AWS
July 15, 2024
AWS Databases

AWS Databases AWS RDS SQL 지원 Postgres MySQL MariaDB Oracle Microsoft SQL Server Aurora (AWS 소유) 💡 EC2 대신 RDS에 데이터베이스를 배포하는 이유 자동화된 관리 작업(자동 백업, 자동 패치, 모니터링 및 알림) 고가용성 및 내구성(다중 AZ 배포, 자동 장애 조치) 확장성 및 성능 최적화(수직 확장, 읽기 복제본, 자동 스토리지 확장) RDS Usecase Example ELB가 EC2들에 부하를 분산하고, 각 EC2 들은 통일된 RDS에서 데이터 읽기/쓰기 작업을 수행한다. Amazon Aurora Aurora는 2가지 데이터베이스 기술을 지원한다. PostgreSQL MySQL RDS에 비하여 MySQL에서 5배, PostgreSQL에서 3배 더 나은 성능 저장 공간 자동 확장 기능 10GB 단위로 최대 128TB까지 자동 확장 RDS보다 20%정도 더 비싸지만 더 효율적임. 서버리스 가능 관리가…

AWS
July 15, 2024
AWS Snow Family

AWS Snow Family AWS Snow Family는 Amazon Web Services(AWS)에서 제공하는 데이터 전송 및 엣지 컴퓨팅 솔루션을 말한다. 이 서비스는 주로 대량의 데이터를 AWS 클라우드로 옮기거나, 네트워크 연결이 어려운 환경에서 데이터 처리를 수행하는 데 사용된다. Snow Family Information Data migration: , , Edge computing: , 엣지 컴퓨팅(edge computing)은 데이터 처리를 데이터 소스나 사용자와 가까운 장치에서 수행하는 방식이다. 이는 전통적인 클라우드 컴퓨팅 모델에서 데이터가 중앙 데이터 센터에서 처리되는 것과 대조된다. 엣지 컴퓨팅의 주요 목적은 데이터 처리의 지연(latency)을 줄이고, 대역폭 사용을 최적화하며, 실시간 처리가 필요한 애플리케이션의 성능을 향상시키는 것이다. 💡AWS Snow Family를 이용해서 데이터를 이관하는 이유 대량 데이터 전송의 효율성 인터넷을 통한 …

AWS
July 13, 2024
AWS S3 Storage Class

AWS S3 Storage Class Amazon S3 공통 사항 내구성: 99.999999999% (11 9’s) 내구성. Amazon S3 스토리지 클래스 Amazon S3 Standard - General Purpose 설명: 자주 접근하는 데이터를 위해 설계되었다. 가용성: 99.99% 가용성. 사용 사례: 클라우드 애플리케이션, 동적 웹사이트, 콘텐츠 배포, 모바일 및 게임 애플리케이션, 빅 데이터 분석 등 다양한 사용 사례에 적합하다. 비용: ★★★★★ (최고 비용) Amazon S3 Standard-Infrequent Access (IA) 설명: 가끔 접근하지만 필요할 때는 빠르게 접근해야 하는 데이터를 위해 설계되었다. 가용성: 99.9% 가용성. 사용 사례: 장기 저장, 백업 및 재해 복구 데이터에 이상적이다. 비용: ★★★★☆ Amazon S3 One Zone-Infrequent Access 설명: 여러 가용성 영역의 복원력이 필요하지 않은 가끔 접근하는 데이터…

AWS
July 13, 2024
AWS S3 Replication

AWS S3 Replication CRR & SRR AWS S3는 비동기 자동 복제를 지원한다. CRR(Cross-Region Replication) SRR(Same-Region Replication) 각 버킷은 서로 다른 AWS 계정에 속할 수 있다. 비동기 복제 지원 버킷 복제를 하기 위해선 특정 버킷에 IAM 읽기 및 쓰기 권한이 필요하다. CRR (Cross-Region Replication)이 필요한 경우 CRR은 데이터를 하나의 AWS 리전에서 다른 AWS 리전으로 복제하는 기능이다. CRR이 필요한 경우는 다음과 같다: 재해 복구 (Disaster Recovery): 손실에 대비하기 위해 데이터를 지리적으로 분리된 다른 리전에 복제한다. 이는 특정 리전에서 발생할 수 있는 자연 재해나 장애로부터 데이터를 보호할 수 있다. 데이터 지역성 규정 준수 (Compliance with Data Residency Requirements): 법률이나 규정에 따라 데이터를 특정 국…

AWS
July 13, 2024
AWS S3

AWS S3 S3는 한 리전에 귀속된다 Amazon S3 버킷은 특정 리전에 생성되며, 해당 리전에 귀속된다. 이를 통해 데이터가 저장되는 물리적 위치를 제어할 수 있으며, 리전 간의 데이터 전송에 따른 지연 시간을 줄일 수 있다. 기본적으로 공개된 URL로 파일에 접근할 수 없다 기본적으로 S3 버킷에 저장된 객체는 비공개이며, 공개된 URL을 통해 접근할 수 없다. 하지만, 특정 설정을 통해 객체에 대한 접근을 허용할 수 있다. 이를 통해 데이터 보안을 유지하면서도 필요한 경우 접근을 제어할 수 있다. 보안 기능 사용자 기반 보안 IAM 정책: 특정 사용자에 대해 어떤 API 호출을 허용할지를 정의한다. IAM 정책을 통해 세밀하게 접근 권한을 설정할 수 있다. 리소스 기반 보안 버킷 정책: S3 콘솔을 통해 설정할 수 있는 버킷 전체에 적용되는 규칙이다. 크로스 계정 액세스를 허용할 수 있다. 객체 접근 제어 목록 (ACL): 객체 수준에서 더 세밀한 권한 제어를 제공한다.…

AWS
July 13, 2024
ELB와 ASG

ELB와 ASG Elastic Load Balancers (ELB) 역할: 백엔드 EC2 인스턴스 간에 트래픽을 분산시킴. 다중 가용 영역 (Multi-AZ): 여러 가용 영역에 걸쳐 트래픽을 분산시켜 고가용성을 보장. 상태 검사 (Health Checks): 백엔드 인스턴스의 상태를 모니터링하여 비정상 인스턴스에 트래픽을 보내지 않음. 4가지 유형: 클래식 로드 밸런서 (Classic Load Balancer, 이전 버전): HTTP/HTTPS와 TCP 트래픽을 지원. -> Deprecated 애플리케이션 로드 밸런서 (Application Load Balancer): HTTP/HTTPS (L7) 트래픽을 분산시키고, 고급 라우팅 기능 제공. 네트워크 로드 밸런서 (Network Load Balancer): TCP (L4) 트래픽을 고성능으로 분산. 게이트웨이 로드 밸런서 (Gateway Load Balancer): L3 트래픽을 분산시켜 게이트웨이 역할 수행. Auto Sca…

AWS
July 12, 2024
EC2 스토리지 종류

EC2 스토리지 종류 Amazon EBS 1번에 1개의 EC2 인스턴스에만 연결 가능한 네트워크 드라이브 스냅샷을 통한 복제 가능. 복제본 간 동기화 지원은 되지 않음. AZ(Availability Zone)에 귀속됨. EC2 Instance Store EC2 인스턴스와 연결 가능한 고성능 하드웨어 디스크 서버와 ‘물리적으로’ 연결됨 -> 고성능 휘발성 인스턴스가 종료되거나 중지되면 사라짐 EFS(Elastic File System) EC2간 공유 네트워크 파일 시스템 한 리전의 100개의 EC2에 연결 가능 EFS-IA 저비용의 EFS 저티어 스토리지 EFS에서 장기간 이용하지 않은 파일은 여기로 옮겨짐 FSx for Windows Windows 운영체제 서버를 위한 네트워크 파일 시스템 FSx for Lustre 머신 러닝, 고성능 컴퓨팅(HPC), 미디어 처리와 같은 고속 처리 워크로드에 최적화된 고성능 파일 시스템 높은 처리량과 낮은 대기시간이 필요한 경우 적합 HPC(H…

AWS
Linux
Troubleshooting
March 19, 2024
Ubuntu에서 Swap Memory 설정하기

Ubuntu에서 Swap Memory 설정하기 개요 AWS 프리티어에서 EC2를 사용하는데, Jenkins 에서 gradle 빌드 시 EC2 인스턴스가 완전 먹통이 되어버리는 문제가 발생했다. 로그를 살펴보고 구글링을 하다보니 원인이 램 용량 부족때문인 것 같아 Swap Memory 설정을 하였다. Swap Memory 설정하기 위 명령어로 하드디스크 용량을 확인한다. 여기서는 /dev/root가 하드디스크를 나타낸다. 위 명령어로 현재 사용하고 있는 메모리와 Swap 메모리를 확인할 수 있다. 0이므로 Swap 메모리가 설정되지 않은 상태이다. Ubuntu에서는 Swapfile을 이용하여 Swap 메모리를 설정할 수 있다. 프리티어 EC2 인스턴스의 램은 1GB이기 때문에 Swap 메모리 최대치(2배)인 2GB로 설정한다. 그리고 swapfile의 권한을 수정해준다. : 해당 파일을 스왑 공간으로 사용할 수 있도록 준비한다. 출력에는 스왑 파일을 크기와 UUID가 표시된다…

ProjARJS
AWS
Jenkins
Docker
March 11, 2024
EC2 Nginx 및 Jenkins 구성

EC2 Nginx 및 Jenkins 구성 Nginx 및 Jenkins 사용으로 얻는 이점 Nginx 장점 Nginx를 통한 리버스 프록시 설정: Nginx는 정적 파일을 서빙하고 동시에 Jenkins 서버에 대한 리버스 프록시로 동작할 수 있다. 이를 통해 클라이언트 요청을 효과적으로 분산하고, 보안을 강화할 수 있다. 보안 강화: Nginx를 사용하여 SSL 인증서를 설정하고 HTTPS를 통해 통신을 암호화할 수 있다. 또한 Nginx는 악의적인 공격으로부터 서버를 보호하기 위한 추가 보안 계층을 제공할 수 있다. 로드 밸런싱 및 부하 분산: Nginx를 사용하여 여러 WAS를 로드 밸런싱하여 트래픽을 분산할 수 있다. 이는 서버의 성능과 가용성을 향상시키고, 고가용성을 유지할 수 있게 해준다. 정적 파일 서빙: Nginx는 정적 파일을 빠르게 서빙하는 데 효율적이므로, 프론트단의 빌드 결과물이나 사용자 정의 정적 파일을 효과적으로 제공할 수 있다. 백엔드 서버와의 통합: Ngi…