AWS

· AWS
EC2 인스턴스가 SSH Brute-force 공격을 받을 때 관리자들은 빠르게 대처해야 합니다. 오늘은 SSH 활동 로그를 CloudWatch Logs에 기록한 뒤, CloudWatch Alarm으로 공격을 감지하여 SNS로 이메일에 알리는 서비스를 구축해 봅시다. 1. 인스턴스 준비 Amazon Linux AMI를 사용하며 SSH 액세스가 가능한 EC2 인스턴스를 생성합니다. EC2 인스턴스가 CloudWatch에 접근할 수 있도록 IAM Role 하나를 생성합니다. CloudWatchAgentServerPolicy를 가져야 합니다. IAM Role을 EC2 Instance와 연결합니다. Amazon Linux 2023은 SSH 활동 로그를 생성하는 Rsyslog가 없기 때문에 설치해줘야 합니다. A..
· AWS
Amazon ECR은 어디서나 애플리케이션 이미지 및 아티팩트를 안정적으로 배포할 수 있도록 뛰어난 성능 호스팅을 제공하는 완전관리형 컨테이너 레지스트리입니다. ECR은 EKS, ECS 등 컨테이너 서비스에 사용됩니다. 오늘은 ECR Repository를 생성하고, Golang Gin 이미지를 push합시다. 1. 준비 ECR > Repositories에서 Create repository를 누릅니다. Visibility settings에서 Private을 선택하고, Repository의 이름을 지정합니다. 나머지 설정은 놔두고, Create repository를 눌러 Repository를 생성합니다. AmazonEC2ContainerRegistryPowerUser Policy를 가진 IAM Role을 생..
· AWS
Amazon Managed Service for Apache Flink를 사용하면 스트림 처리 애플리케이션을 쉽게 구축하고 Apache Flink를 통해 스트리밍 데이터를 실시간으로 분석할 수 있습니다. 그 중 Studio notebooks를 사용하면 Apache Zeppelin 기반 노트북을 통해 스트리밍 데이터를 인터랙티브하게 분석할 수 있습니다. Apache Zeppelin은 데이터 시각화, 데이터를 파일로 내보내기, 더 쉬운 분석을 위해 출력 형식 제어 등의 기능을 포함한 분석 도구를 제공하기도 합니다. 오늘은 Studio notebooks를 사용하여 Kinesis Data Stream으로 들어오는 데이터를 분석해봅시다. 1. 준비 스트리밍 데이터를 수집할 Kinesis Data Stream을 생..
· AWS
Amazon Athena는 표준 SQL을 사용하여 Amazon S3에 있는 데이터를 직접 간편하게 분석할 수 있는 대화형 쿼리 서비스입니다. Athena는 S3에 저장된 비정형, 반정형 및 정형 데이터를 분석하는데 도움을 주며 인프라를 관리할 필요 없이 S3 데이터에 대해 대화형 쿼리를 쉽게 실행할 수 있습니다. AWS Glue Data Catalog 및 다른 AWS 서비스들과 통합되는 것 또한 장점입니다. 오늘은 S3에 있는 데이터로 Athena에서 Table을 생성하고, SQL로 몇 가지 쿼리를 실행해봅시다. 1. Table 생성 Amazon Athena 콘솔로 접속합니다. Create > S3 bucket data를 누릅니다. Table의 이름을 작성합니다. 새로운 Database를 생성하거나, G..
· AWS
RDS Database에 접속할 때 암호를 사용해도 되지만, IAM 인증을 사용해도 됩니다. IAM 인증에서는 RDS가 생성하는 인증 토큰을 사용하며 각 토큰의 수명은 15분입니다. SSL 또는 TLS를 사용하여 DB 인스턴스에 대한 연결을 암호화합니다. 오늘은 EC2 Instance에서 RDS MySQL Instance로 IAM 인증을 사용하여 접속해봅시다. 1. 준비 RDS Database를 생성할 때나 Database Modify를 통해 IAM database authentication 옵션에 체크합니다. EC2와 연결되는 IAM Role에 다음과 같은 Policy가 있어야 합니다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "A..
· AWS
Kinesis Data Stream으로 로그를 전송하는 기본적인 방법은 Kinesis Agent를 이용하는 것입니다. Kinesis Agent는 Kinesis Data Stream이나 Kinesis Data Firehose에 데이터를 전송할 수 있으며 CloudWatch Metrics로 지표도 보낼 수 있습니다. 1. 준비 Kinesis Data Stream 하나를 생성합니다. 데이터를 확인하기 위해 Kinesis Data Firehose까지 생성해도 좋습니다. 로그를 생성할 EC2 Instance(Amazon Linux) 하나를 생성합니다. EC2 Instance가 사용하는 IAM Role에 다음과 같은 Policy가 있어야 합니다. { "Version": "2012-10-17", "Statement"..
· AWS
AWS Lambda는 많은 용도로 사용되며, 많은 기능이 있습니다. 그 중 Lambda Function URL 기능을 이용하면 Lambda 함수에 대한 전용 HTTPS 엔드포인트를 제공받을 수 있습니다. Function URL은 단일 기능 마이크로서비스를 구현해야 하는 양식 유효성 검사기, 모바일 결제 처리, 광고 배치 등에 적합합니다. Function URL을 CloudFront와 연결하면 가장 짧은 지연 시간을 제공하는 엣지 로케이션을 통해 서비스를 최적의 성능으로 제공할 수 있습니다. 오늘은 Lambda Function URL과 CloudFront를 연결해봅시다. 1. Lambda Create a function을 누릅니다. Function 이름을 입력하고, Runtime을 Python 3.11로 ..
· AWS
Terraform의 Module은 함께 사용되는 여러 리소스에 대한 컨테이너로서 .tf 및 .tf.json 파일 등으로 구성됩니다. Module을 통해 리소스 구성을 패키징하고 재사용할 수 있습니다. 또한, Terraform Registry를 통하여 다른 사람이 게시한 Module도 사용할 수 있습니다. 오늘은 Terraform Registry에 게시된 Module 중 VPC Module을 사용해봅시다. 1. tf 파일 작성 작업 디렉토리 하나를 생성하고, 설정 파일(config.tf) 하나를 생성합니다. 설정 파일에서는 provider 정보를 명시합니다. terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0..
KimJeongTae
'AWS' 카테고리의 글 목록 (2 Page)