AWS - Lambda 다른 계정의 IAM권한 사용
·
Platform/AWS
다른 계정의 IAM을 사용하여 Lambda함수에서 다른계정의 S3, Athena, Glue 등을 컨트롤 예제 : AAAA 계정의 람다함수를 통해 BBBB계정의 S3와 athena, glue테이블에 접근 [ 1 ] AAAA 계정에서 람다를 실행하는 iam role(my-lambda-etl-role)에 AccessCrossIAMBBBB라는 정책을 생성한 후, 아래 스크립트 추가 (기존 role에 추가시 policy로 생성 후 연동) { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::BBBB:role/bbbb-lambda-etl-role" } } [ 2 ]..
Docker - 도커파일
·
Infra/Docker
[ 도커파일이란? ] Docker상에서 실행시킬 컨테이너의 구성 정보(미들웨어, OS, 어플리케이션 등)을 기술하기 위한 파일 확장자는 필요없음 Dockerfile이란 파일명 말고 다른 파일명으로 쓸 수 있지만 build시 명시해줘야 함 [ Docker File을 이용한 Sample ] Dockerfile # 베이스 이미지 설정 FROM ubuntu:latest (or dighests로 지정: FROM ubuntu@sha256:se21f... ) # Nginx 설치 RUN apt-get update && apt-get install -y -q nginx # 파일 복사 COPY index.html /usr/share/nginx/html # Nginx 시작 CMD ["nginx", "-g", "daemon ..
Docker - 명령어 (네트워크)
·
Infra/Docker
도커 네트워크 # 네트워크 목록 확인 (기본적으로 bridge, host, none 세 개의 네트워크가 셋팅) $ docker network ls # 컨테이너 상세스펙 조회 (Networks 부분 살펴보기, default = bridge) $ docker inspect webserver # 네트워크 생성 $ docker network create -d=bridge my-network # 네트워크 생성 확인 $ docker network ls -f driver=bridge # 네트워크 연결 docker network connect[disconnect] my-network webserver # 컨테이너 시작 시 연결 $ docker run -itd --name=webserver --net=my-network..
Docker - 명령어 ( image )
·
Infra/Docker
도커 실행환경의 상세설정 $ docker system info Client: Context: default Debug Mode: false Plugins: buildx: Build with BuildKit (Docker Inc., v0.6.3) compose: Docker Compose (Docker Inc., v2.0.0) scan: Docker Scan (Docker Inc., v0.8.0) Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 15 ... 도커 디스크 이용상황 $ docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 8 0 7.751GB 7.751GB (100%) Contai..
AWS - CloudWatch Event를 통한 Lambda Trigger 생성
·
Platform/AWS
Awsconsole -> Cloudwatch -> 좌측메뉴 -> 이벤트 -> 규칙 -> 규칙생성 1. 패턴을 이용한 Event 생성 예시는 특정 Glue job이 끝나면 Lambda함수 시작하는 Trigger Event 생성 a) 서비스 이름/ 이벤트 유형을 선택한다. b) 이벤트 패턴을 작성 { "source": [ "aws.glue" ], "detail-type":[ "Glue Job State Change" ], "detail": { "state": [ "SUCCEEDED" ], "jobName": [ "GlueJobName" ] } } 참조 : https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/events/EventTypes.html#glue-..
Grafana - metadata DB 변경 ( mysql )
·
Monitoring/Grafana
meta data storage는 default sqlite이다. 아래는 mysql로 setting하는 작업이다. 1. Mysql set up mysql 설치 mysql에 grafana user와 privileges 설정 grafana session table 생성 2. grafana.ini 파일에서 mysql enable설정 3. grafana start mysql 접속 mysql> CREATE DATABASE grafana; mysql> GRANT ALL ON `grafana`.* to 'grafana'@'%' identified by 'datatech'; mysql> flush privileges; mysql> SELECT user, host FROM user; mysql> CREATE TABLE ..
Grafana - Alert
·
Monitoring/Grafana
Alert rulesContact pointsNotification policiesSliencesAlert groups [ Alert rules ]조건에 따른 알림 생성 알림을 저장할 Folder가 최소 1개 필요하다'Run queries'버튼 클릭시 미리 임계값을 적용한 그래프보기 가능[ Contact points ]message보낼 template와알림을 보낼 SNS정보( Contact points ) 등록가능   [ Sliences ]알림 설정을 잠시 동안 Off하는 기능  참조 : https://velog.io/@hansung/Grafana-8.0-%EA%B0%9C%EC%84%A0%EB%90%9C-%EC%95%8C%EB%A6%BC-%EA%B8%B0%EB%8A%A5
Prometheus - PromQL 예제 (Prometheus Query Language)
·
DataPipeline/Prometheus
[ Data Types ] String - 문자열 변수 Scalar - 숫자 변수 Instant vector - a set of time series containing a single sample for each time series, all sharing the same timestamp Range vector - a set of time series containing a range of data points over time for each time series [ String ] Example: "this is a string" 'these are unescaped: \n \\ \t' `these are not unescaped: \n ' " \t` [ Scalar ] Examples: 23 -..
wave35
아그거뭐였지?