Cloud Engineering/AWS

Amazon Kendra는 NLP 와 ML 알고리즘을 사용하여 연결된 데이터 레포지토리 (인덱스)에서 검색 질문에 대해 특정한 답변을 반환하는 서비스이다. Amazon Kendra는 S3나 Lex 등의 서비스에 연결하여 사용할 수 있다. S3는 데이터 레포지토리로 사용하여 연동할 수 있으며, Lex의 경우 Kendra+Lex 조합으로 챗봇을 만들 수 있다. 데이터 레포지토리에는 '문서' 를 넣을 수 있고 pdf, csv... 등 다양한 파일 형식을 지원한다. 영어 이외의 언어로 되어있는 문서 또한 데이터 소스에 추가할 수 있으며, 한국어로 된 문서도 잘 읽힌다. https://docs.aws.amazon.com/ko_kr/kendra/latest/dg/what-is-kendra.html Amazon Ke..
boto3 library 가 없으면 우선 pip3 install boto3 명령어로 설치해주자. 또한 AWS 콘솔에서 ACCESS_KEY 와 SECRET_ACCESS_KEY 발급이 필요하다 !! 다음으로 S3 버킷 연결을 위한 connection을 생성하는 과정이다 client() 함수로 연결을 생성한다. import boto3 def s3_connection(): try: s3 = boto3.client( service_name="s3", region_name="ap-northeast-2", aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_ACCESS_KEY ) except Exception as e: print(e) else: p..
RDS → S3 마이그레이션 task를 수행하는 중 DMS에서 CDC 작업이 제대로 이루어지는지 검증하는 작업을 수행했다. DMS로 MySQL DB (RDS) 에서 S3 Bucket으로 Migration 하기 AWS에서 새로운 RDS 인스턴스 생성 RDS와 MySQL Workbench 연결하기 RDS 보안그룹에 인바운드 규칙은 다음과 같이 추가되어야 한다. (필요에 따라 내 IP를 선택하거나 모든 트래픽을 선택하면 될 것이다. ) 3. 엔드포인트 생성 및 연결 테스트 완료 엔드포인트 생성 시 rds에서 사용하는 마스터키 비밀번호를 정확하게 입력해주어야 한다 4. RDS에서 파라미터 그룹 생성 5. 파라미터 설정에서 binlog_row_image 를 full 로 변경 6. binlog_format 값으로 ..
이러한 아키텍처대로, Private Subnet에 있는 ec2인스턴스에서 S3 Bucket에 접근할 수 있도록, PrivateLink 서비스를 사용하는 인프라를 구현해 보았다. VPC Endpoint를 사용하면 VPC에서 AWS 서비스들과 통신할 때 외부 인터넷에 데이터를 노출시키지 않고, Private하게 서비스에 접근 및 통신할 수 있다. 1. Private Subnet에 ec2 인스턴스 생성하기 2. S3 버킷을 원하는 region 에 생성하기 3. VPC endpoint로 EC2랑 S3를 연결하기 AWS 서비스를 선택한다 미리 생성한 ec2가 있는 VPC를 선택한다 S3 버킷을 만든 region 에 해당하는 aws s3 서비스를 선택한다. 4.Private Subnet 내에 속한 인스턴스에서 S3..
AWS PrivateLink 로 구동되는 자체 VPC 엔드 포인트 서비스를 생성하고, 이 VPC 에 액세스할 수 있게 한다. 다음과 같은 아키텍처를 직접 구현해보는 실습을 정리해 보았다 VPC 내에 Public Subnet 과 Private Subnet을 각각 하나씩 만든다. Public Subnet 내에 ec2 instance 하나를 띄우고, Private Subnet 내에도 ec2 instance를 하나 띄운다. Public Subnet 에서 생성한 ec2 instance인 Bastion host에서는 Private subnet의 Instance에 접근이 가능하다. 그런데 Private Subnet Instance의 경우, 외부로 트래픽이 나가도록 설정되어 있지 않다. 이러한 경우에, Private ..
AWS RDS란 ? RDS란 Relational Database Service 의 줄임말이다. AWS에서 관계형 데이터베이스 인프라 관리를 자동화하고, 클라이언트들이 쉽게 데이터베이스에 접근하여 사용할 수 있도록 제공하는 서비스이다. AWS에서 RDS 검색후 데이터베이스 생성을 바로 해봅시당 데이터 베이스는 표준 생성으로 시작해보겠습니다 사용할 엔진을 선택합니다. 저는 MariaDB로 선택했습니다 연습용이니까... 프리티어로 만들어보겠습니다 DB 이름을 정해주고 마스터 사용자 (admin) 이름을 정해줍니다 나중에 이 사용자 이름으로 데이터베이스에 접속해야 하니까 기억해주어야 합니다.. 암호를 사용해서 데이터베이스 접속을 관리할 것이므로 마스터 암호를 설정해줍니다. 위에서 제가 설정한 minjee 라는 ..
LoadBalancer 란 ? 로드밸런서란 네트워크 트래픽을 분산시켜주는 기술이다. 여러대의 서버나 하드웨어 장비를 통해서 트래픽을 분산시켜준다. AWS에서도 로드밸런서 서비스를 지원한다. AWS 의 로드밸런서 서비스는 Amazon Elastic Load Balancing 으로, EC2 인스턴스 나 컨테이너 등을 사용하여 서비스를 제공하는 경우, 트래픽을 자동으로 분산시켜준다. 기본적으로 round robin 방식으로 트래픽을 분산시킨다고 한다. Auto Scaling 이란 ? AWS 오토스케일링은 인스턴스의 수를 자동적으로 (auto) 늘리거나 줄이는 기능이다. 트래픽이 많으면 이를 처리하기 위해서 서버의 성능을 높여야 할 것이다. 반대로 트래픽이 서버 사양에 비해서 적다면 굳이 성능이 좋은 서버를 사..
AWS CLI 설치 Linux 기준 다음 명령어 입력하면 설치 완료 ! curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install 설치 되었는지는 aws --version 으로 버전을 확인하면 된다. https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 사용자 설정하기 S3 접근 권한이 있는 사용자여야 한다. 사용자 설정에는 Access key ID, Secret access key 가 필요하다. IAM > 사용자 정보 > 액세스 키 생성 혹은 이미 만들어..
minjiwoo
'Cloud Engineering/AWS' 카테고리의 글 목록 (2 Page)