[AWS RDS/MySQL] AWS RDS에서 MySQL 이벤트 스케줄러 설정하기
·
Minding's Programming/AWS
MySQL 이벤트 스케줄러?MySQL의 이벤트 스케줄러는 특정 시간 간격 또는 지정된 시점에 SQL 쿼리를 자동으로 실행할 수 있도록 도와주는 기능으로, 이를 통해 특정 시간에 예약해야 하는 작업들을 반복적으로 실행할 수 있다. Cron과 유사한 역할이라고 보면 되며, DB 내에서 직접 관리된다. MySQL의 장점은 MySQL 서버 내에서 쿼리가 자동으로 실행되기 때문에 외부의 서버 또는 애플리케이션을 통해 스크립트를 보내지 않아도 된다는 것이다. 클라이언트와도 독립적으로 실행되기 때문에, 간단한 작업의 경우 이벤트 스케줄러를 이용하는 장점이 극대화된다. 구성 요소MySQL 이벤트 스케줄러는 크게 '이벤트'와 '스케줄러' 2가지로 나뉘어져 있다.이벤트: 실행할 SQL 명령어 또는 명령어 블록이다.스케줄러..
[AWS] AWS Redshift Spectrum으로 S3 외부 테이블 조작해보기
·
Minding's Programming/AWS
Redshift SpectrumRedshift Spectrum은 Redshift의 확장 기능으로, S3 스토리지에 있는 파일들을 마치 테이블처럼 취급해 SQL로 조작할 수 있도록 만드는 기능이다. S3의 있는 파일을 Redshift로 옮겨와야할 때, 크기가 너무 크거나 너무 정제되지 않은 채로 업데이트할 경우 비용이나 용량 문제가 발생할 수 있다. 이럴 때, Redshift Spectrum을 이용해 파일에서 필요한 정보들만 redshift에 옮겨올 수 있다. Fact 테이블과 Dimension 테이블Spectrum을 이용하기에 앞서, 분석 대상 데이터를 크게 2가지 테이블로 나눌 수 있다는 점을 알아보자. 아래와 같이 분석의 메인이 되는 Fact 테이블과 상세 정보를 제공하는 Dimension 테이블로 ..
[AWS] AWS Redshift Serverless 설치 (무료 평가판 / Free Trial)
·
Minding's Programming/AWS
AWS의 대표적인 데이터 웨어하우스 서비스인 Redshift는 Serverless를 처음 이용할 경우 3달 또는 300달러까지 무료로 이용할 수 있다. Redshift를 공부도 해볼 겸, Redshift Serverless를 설치하고 초기 설정까지 해보려고 한다. AWS 로그인 및 Redshift 진입AWS 홈페이지(aws.amazon.com)에 접속해 로그인한 뒤, Redshift 섹션으로 진입하면 위와 같은 화면이 나올 것이다. 아직까지 해당 계정으로 Redshift를 사용해본 적이 없기 때문에, '무료 평가판 사용해보기'라는 버튼이 노출된다. 해당 버튼을 눌러 Redshift Serverless 설치 과정을 시작해보자. (주의: 이 화면 아래로 내려가 '클러스터 생성' 버튼을 누르면 Serverle..
[AWS] ApiGateway
·
Minding's Programming/AWS
ApiGateway AWS의 ApiGateway는 서버 없이 게이트웨이 기능을 이용할 수 있도록 해주는 서비스다. API를 생성, 배포, 유지 및 관리할 수 있는 완전 관리형 서비스다. 기능RESTful 및 WebSocket API 지원트래픽 관리보안모니터링 및 로깅개발자 포털 지원API 유형HTTP, WebSocket, REST API, 프라이빗 REST API까지 여러 유형의 API를 생성할 수 있다. 이 글에서는 REST API를 생성해보는 과정을 작성해보려고 한다. 위 정보를 입력한 뒤 API 생성을 클릭해 생성한다. 이 다음 리소스를 생성해주어야 한다. '리소스 생성' 버튼을 눌러 리소스를 생성해보자. 간단히 test라는 이름의 리소스를 생성했다. 다음 순서는 메서드 생성이다. 위에서 만든 /t..
[AWS] Lambda
·
Minding's Programming/AWS
Lambda Lambda는 AWS의 대표적인 서버리스 서비스이다. 별도의 물리적인 서버없이 등록한 함수가 실행될 수 있도록 설정할 수 있다. Lambda는 마치 Python의 lambda 함수처럼 어떤 함수 하나를 등록해 사용할 수 있다. AWS Lambda 함수 생성'함수 생성' 버튼을 통해 Python 함수 하나를 등록하고 실행해보자. 아래 함수는 AWS의 s3에서 트리거(온도)를 전달 받아 온도의 정도(뜨거운지 아닌지)를 판단하는 함수이다.import jsonimport boto3from datetime import datetimeclient = boto3.client('s3')def lambda_handler(event, context): what_time = datetime.now().st..
[AWS] ECS / ECR
·
Minding's Programming/AWS
ECR ECR은 Docker의 Dockerhub와 같이 AWS에서 제공하는 이미지 저장공간(레포지토리)이다. ECR을 통해 컨테이너 이미지를 공개 또는 비공개적으로 공유할 수 있다. 해당 메뉴는 ECS 내에 존재한다. ECS ECR에 저장되어 있는 이미지를 기반으로 가상화된 서비스를 제공한다.  ECR 생성기본 레포지토리 생성 방법은 간단하다. 레포지토리 이름만 적은 뒤 생성을 눌러주면 된다. 아직은 이미지가 없는 빈 레포지토리인 것을 볼 수 있다. 오른쪽 상단 '푸시 명령 보기'를 누르면 이미지를 업로드할 수 있는 방법을 알려준다. 위 순서대로 준비한 Dockerfile을 업로드해줄 수 있다. 하지만 그 전에 ECR에 접근할 수 있는 권한을 먼저 설정해줄 필요가 있다. IAM에서 ecr-fullacce..
[AWS] AWS CLI (Command Line Interface)
·
Minding's Programming/AWS
AWS CLIAWS CLI (Command Line Interface)는 AWS 서비스를 관리할 수 있는 통합 도구로, 명령어를 통해 서비스를 제어하고 스크립트를 통해 자동화할 수 있는 shell이다. AWS CLI 설치pip 명령어를 통해 간단히 설치할 수 있다.pip install awscli 설치 확인은 아래 명령어로 가능하다.aws --version>>>aws-cli/1.35.14 Python/3.11.7 Windows/10 botocore/1.35.48 계정 연결AWS CLI 설치 뒤 내 계정을 등록해주어야 CLI를 통해 AWS 서비스에 접근할 수 있다. 이를 위해서는 액세스 키를 발급받아야 한다. 임의로 사용자를 하나 생성해보았다. 해당 사용자 계정 상세 정보로 진입해 '보안 자격 증명'이라는..
[AWS] CI / CD (CodeCommit, CodeBuild, CodeDeploy, CodePipeline)
·
Minding's Programming/AWS
CI / CDCI와 CD는 프로그램을 배포하는 과정에서 많이 쓰이는 용어다. 그 개념에 대해 알아보자. CI (continuous Integration)모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러 번 코드를 커밋하고 병합하는 것으로, 빌드 및 테스트 자동화 과정을 의미한다.CD (continuous Delivery)개발팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영환경으로 안정적 배포하는 것으로, 배포 자동화 과정을 의미한다. 즉, CI와 CD는 하나의 통합된 과정이며, '개발 - 테스트 - 배포 - 운영 - 개발'의 흐름이 반복되는 과정이라고 생각할 수 있다.위는 AWS EC2에 웹 애플리케이션을 배포하는 파이프라인이다. Github 리포지토리에서 변경 사항을 커밋해 AWS 리소스..