v . a . r . i . e . t . y

v . a . r . i . e . t . y

  • 분류 전체보기 (41)
    • 일 . 상 . 다 . 반 . 사 (3)
    • 재 . 테 . 크 (0)
    • t . r . a . v . e . .. (3)
    • IT (35)
      • d . e . v . O . p ... (6)
      • S . e . v . e . r . .. (23)
      • c . l . i . e . n . .. (1)
      • M . a . c (5)
    • 일 . 본 . 여 . 행 (0)
    RSS 피드
    로그인
    로그아웃 글쓰기 관리

    v . a . r . i . e . t . y

    컨텐츠 검색

    태그

    리눅스 카와고에 set 맥 코에도 Terraform 쉘스크립트 For_Each list IAC map find RHEL 루프문 AWS CentOS count bash 터미널 테라폼

    최근글

    댓글

    공지사항

    아카이브

    여러 고객에게 정기적으로 메일 발송하기

    회사에서 일하다 보면 비즈니스 부문에서 정기적으로 메일을 보내는 업무를 하는데캘린더에 특정시기에 알람을 설정해두고 그 시기가 되면 손으로 일일히 메일을 발송하는 것을 보게 됩니다.자동화시키면 신경쓰지 않아도 될텐데 그 작업을 자동화하지 않고 계속 수작업을 하는 데왜 그런지 물어보면 이런 작은 작업으로 개발팀이나 업무개선팀에 의뢰하기가 어렵다거나이정도 작업은 그냥 수작업으로 하는게 편하다던가, 그런거 할 줄 모른다가 대답의 주를 이룹니다.그래서 간단하게 특정 날짜에 리스트에 있는 고객들에게 자동으로 메일을 발송하는 방법을 알려드립니다.여러가지 방법이 있겠지만 간단하게 구현을 하기 위해서전제로서 현재 회사에서 구글 워크스페이스를 이용중인 분들을 위한 팁입니다.구글 앱 스크립트와 구글 Sheet를 이용하는 방..

    자세히보기
    AWS에서 DDOS공격을 막기 위한 설정하기

    AWS WAF, CloudFront, 그리고 Shield Standard 조합은 대규모 DDoS 공격과 과도한 다운로드 요청으로 인한 비용 급증을 효과적으로 방어하고 완화하는 강력한 전략입니다.각 서비스는 다음과 같은 역할을 수행합니다:AWS Shield Standard: 추가 비용 없이 L3/L4 DDoS 공격에 대한 기본적인 자동 보호를 제공합니다.Amazon CloudFront: 콘텐츠를 엣지 로케이션에 캐싱하여 원본 서버의 부하를 줄이고, DDoS 공격 트래픽을 엣지에서 흡수하며, WAF와 연동됩니다.AWS WAF: CloudFront에 연동되어 L7 DDoS 공격, 웹 취약점 공격, 그리고 과도한 요청(다운로드 요청 등)을 애플리케이션 계층에서 필터링하고 차단합니다.다음은 설정 순서와 각 단계별..

    자세히보기
    테라폼에서 루프문 사용하기4

    목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each를 사용하는 장점1. 동적 리소스 관리for_each문은 컬렉션(map 또는 set)을 기반으로 리소스를 동적으로 생성, 관리 및 destroy를 가능하게 합니다. 이 동적 접근 방식을 통해 인프라는 Terraform 코드의 구성을 수동으로 업데이트하지 않고도 terraform.tfvars에 정의된 입력변수 데이터의 변경만으로도 자동으로 구성을 변경할 수 있습니다.예를 들어, 아래 예와 같이 프로젝트 이름 목록을 기반으로 동적 개수의 S3 버킷을 프로비저닝하기 위한 인프라 프로비저닝을 위한 IaC를 작성할 수 있습니다.variable.tf# variable.t..

    자세히보기
    테라폼에서 루프문 사용하기3

    목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each의 실제 사용 사례1. 리소스 체이닝리소스 체이닝은 한 리소스의 구성이 다른 리소스의 출력에 따라 달라지는 리소스 간 종속성을 만드는 것을 포함합니다. 이는 특정 리소스를 순차적으로 프로비저닝해야 하는 인프라 설정에서 일반적입니다.리소스 체이닝을 더 잘 이해하기 위해 VPC를 설정하고 VPC 내에 서브넷을 배포하는 일반적인 시나리오를 살펴보겠습니다.variable.tf# variable.tfvariable "networks" { description = "Map of networks configurations" type = map(string({ ci..

    자세히보기
    테라폼에서 루프문 사용하기2

    목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each는 어떻게 작동하나요?더 잘 이해하기 위해 for_each문의 실제 사용 사례를 살펴보겠습니다.EC2 인스턴스의 식별자인 각 키의 문자열 값과 인스턴스 유형 및 AMI ID를 포함하는 또 다른 맵인 인스턴스 구성 맵이 있다고 가정해 보겠습니다.variable.tf# variable.tfvariable "instances" { description = "Map of instance configurations" type = map(object({ ami = string instance_type = string })) defaul..

    자세히보기

    • 여러 고객에게 정기적으로 메일 발송하기

      회사에서 일하다 보면 비즈니스 부문에서 정기적으로 메일을 보내는 업무를 하는데캘린더에 특정시기에 알람을 설정해두고 그 시기가 되면 손으로 일일히 메일을 발송하는 것을 보게 됩니다.자동화시키면 신경쓰지 않아도 될텐데 그 작업을 자동화하지 않고 계속 수작업을 하는 데왜 그런지 물어보면 이런 작은 작업으로 개발팀이나 업무개선팀에 의뢰하기가 어렵다거나이정도 작업은 그냥 수작업으로 하는게 편하다던가, 그런거 할 줄 모른다가 대답의 주를 이룹니다.그래서 간단하게 특정 날짜에 리스트에 있는 고객들에게 자동으로 메일을 발송하는 방법을 알려드립니다.여러가지 방법이 있겠지만 간단하게 구현을 하기 위해서전제로서 현재 회사에서 구글 워크스페이스를 이용중인 분들을 위한 팁입니다.구글 앱 스크립트와 구글 Sheet를 이용하는 방..

      2025.09.01 13:43
    • AWS에서 DDOS공격을 막기 위한 설정하기

      AWS WAF, CloudFront, 그리고 Shield Standard 조합은 대규모 DDoS 공격과 과도한 다운로드 요청으로 인한 비용 급증을 효과적으로 방어하고 완화하는 강력한 전략입니다.각 서비스는 다음과 같은 역할을 수행합니다:AWS Shield Standard: 추가 비용 없이 L3/L4 DDoS 공격에 대한 기본적인 자동 보호를 제공합니다.Amazon CloudFront: 콘텐츠를 엣지 로케이션에 캐싱하여 원본 서버의 부하를 줄이고, DDoS 공격 트래픽을 엣지에서 흡수하며, WAF와 연동됩니다.AWS WAF: CloudFront에 연동되어 L7 DDoS 공격, 웹 취약점 공격, 그리고 과도한 요청(다운로드 요청 등)을 애플리케이션 계층에서 필터링하고 차단합니다.다음은 설정 순서와 각 단계별..

      2025.06.27 12:35
    • 테라폼에서 루프문 사용하기4

      목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each를 사용하는 장점1. 동적 리소스 관리for_each문은 컬렉션(map 또는 set)을 기반으로 리소스를 동적으로 생성, 관리 및 destroy를 가능하게 합니다. 이 동적 접근 방식을 통해 인프라는 Terraform 코드의 구성을 수동으로 업데이트하지 않고도 terraform.tfvars에 정의된 입력변수 데이터의 변경만으로도 자동으로 구성을 변경할 수 있습니다.예를 들어, 아래 예와 같이 프로젝트 이름 목록을 기반으로 동적 개수의 S3 버킷을 프로비저닝하기 위한 인프라 프로비저닝을 위한 IaC를 작성할 수 있습니다.variable.tf# variable.t..

      2024.08.23 18:51
    • 테라폼에서 루프문 사용하기3

      목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each의 실제 사용 사례1. 리소스 체이닝리소스 체이닝은 한 리소스의 구성이 다른 리소스의 출력에 따라 달라지는 리소스 간 종속성을 만드는 것을 포함합니다. 이는 특정 리소스를 순차적으로 프로비저닝해야 하는 인프라 설정에서 일반적입니다.리소스 체이닝을 더 잘 이해하기 위해 VPC를 설정하고 VPC 내에 서브넷을 배포하는 일반적인 시나리오를 살펴보겠습니다.variable.tf# variable.tfvariable "networks" { description = "Map of networks configurations" type = map(string({ ci..

      2024.08.23 18:48
    • 테라폼에서 루프문 사용하기2

      목차1. 테라폼에서 루프문 사용하기12. 테라폼에서 루프문 사용하기23. 테라폼에서 루프문 사용하기34. 테라폼에서 루프문 사용하기4for_each는 어떻게 작동하나요?더 잘 이해하기 위해 for_each문의 실제 사용 사례를 살펴보겠습니다.EC2 인스턴스의 식별자인 각 키의 문자열 값과 인스턴스 유형 및 AMI ID를 포함하는 또 다른 맵인 인스턴스 구성 맵이 있다고 가정해 보겠습니다.variable.tf# variable.tfvariable "instances" { description = "Map of instance configurations" type = map(object({ ami = string instance_type = string })) defaul..

      2024.08.23 18:43

    • AWS에서 DDOS공격을 막기 위한 설정하기

      AWS WAF, CloudFront, 그리고 Shield Standard 조합은 대규모 DDoS 공격과 과도한 다운로드 요청으로 인한 비용 급증을 효과적으로 방어하고 완화하는 강력한 전략입니다.각 서비스는 다음과 같은 역할을 수행합니다:AWS Shield Standard: 추가 비용 없이 L3/L4 DDoS 공격에 대한 기본적인 자동 보호를 제공합니다.Amazon CloudFront: 콘텐츠를 엣지 로케이션에 캐싱하여 원본 서버의 부하를 줄이고, DDoS 공격 트래픽을 엣지에서 흡수하며, WAF와 연동됩니다.AWS WAF: CloudFront에 연동되어 L7 DDoS 공격, 웹 취약점 공격, 그리고 과도한 요청(다운로드 요청 등)을 애플리케이션 계층에서 필터링하고 차단합니다.다음은 설정 순서와 각 단계별..

    • ssh 접속시 간편하게 사용하기

      터미널에서 ssh 접속을 하려면 아래와 같이 뭔가 길게 내용을 써주어야 한다. ssh -p 50000 user@111.111.111.111 접속할 때마다 이렇게 길게 써주는 것은 무척 귀찮은 일이 아닐 수 없다. 여기에 포트가 기본 포트가 아니라면 옵션이 더 늘어나게 된다. 그래서 좀 더 간단한 방법으로 접속하는 방법에 대해 알아보도록 하자. 1. 키를 이용해 패스워드 없이 접속하기 ssh에서 간편하게 접속하는 방법 첫번째는 키를 이용해서 패스워드 없이 접속하는 것이다. 먼저 해당서버에 콘솔이나 ssh로 접속을 한 후 키를 생성해주어야 한다. 키를 생성하는 방법은 아래와 같다. ssh-keygen -b 4096 -t rsa -C "ssh user test key" -f ~/.ssh/id_rsa_ssh_u..

    • 쉘 스크립트에서 계산하기 [expr]

      expr 기본적으로 expr은 커맨드로 별도로 존재하고 있습니다. /usr/bin/expr 하지만, bash 쉘은 expr를 built-in으로 내장시켜 쉘스크립트에서 expr 명령어를 사용하면, /usr/bin/expr를 사용하지 않고 내장된 build-in 명령어를 실행합니다. 실행속도도 build-in 명령이 외부 명령보다 빠릅니다. expr로 연산할 수 있는 내용은 아래 4가지 입니다. 산술 + : 더하기 - : 빼기 * : 곱하기('\*'로 사용) / : 나누기를 한 후의 몫의 값 % : 나누기를 한 후의 나머지 값 논리 | : 어느 한쪽이 조건에 만족하면 참(or) & : 양쪽 조건이 모두 만족하면 참(and) 관계 = : 같음 > : 왼쪽이 오른쪽보다 큼 >= : 왼쪽이 오른쪽보다 크거나 같..

    • XtraBackup(MariaBackup)에서 Stream 백업시 로깅하기

      InnoBackupex의 stream옵션 백업 쉘 스크립트에서 innobackupex를 이용해 백업을 할 때 stream 옵션을 사용할 경우 백업을 표준 출력으로 출력하므로 화면에 출력되는 메세지를 로깅에 사용할 수 없습니다. 몇가지 방법이 있습니다만 첫번째로 script 커맨드를 사용하는 방법입니다. 아래 스크립트에 사용된 커맨드인 pigz는 예전에 작성한 "멀티코어를 이용한 tar 압축" 포스트를 참조 바랍니다. script -c "innobackupex --defaults-file=/etc/my.cnf \ --no-lock \ --user=[데이터베이스 어드민] \ --password=[데이터베이스 어드민 패스워드] \ --perallel=2 \ --stream=tar [백업할 디렉토리] | pig..

    • 쉘 스크립트 변수 뒤에서부터 자르기

      쉘 스크립트의 변수의 문자열 자르기 할 때 뒤에서 부터 잘라야 할 경우가 있다. 이런 경우 아래와 같이 하면 된다. 뒤에서 특정 길이 만큼 제외하고 출력하기 ${변수명: -뒤에서부터의 포지션} #!/bin/bash VAR_LOCALE="ko_KR" echo ${VAR_LOCALE: -3} _KR ${변수명: -뒤에서 부터의 포지션:자를 글자수} #!/bin/bash VAR_LOCALE="ko_KR" echo ${VAR_LOCALE: -3:2} _K #!/bin/bash VAR_LOCALE="ko_KR" echo ${VAR_LOCLAE: -3:3} _KR 여기서 주의할 것은 포지션을 지정할 때 문자열을 앞에서부터 자를 때와는 달리 변수명 바로 뒤에 오는 포지션의 앞에 스페이스를 주지 않으면 문자열조작이 이..

    • find 명령의 mtime 옵션 정리

      이번에는 find의 시간 지정 옵션에 대해 알아봅시다. 우선 시간 지정 관련 옵션 목록을 보도록 합니다.. 옵션 옵션 요약 -mmin 파일의 데이터가 마지막으로 수정 된 시간 (분 지정) -mtime 파일의 데이터가 마지막으로 수정 된 날짜와 시간 (일 지정) -amin 파일의 데이터에 마지막으로 액세스 한 날짜와 시간 (분 지정) -atime 파일의 데이터에 마지막으로 액세스 한 날짜와 시간 (일 지정) -cmin 파일 데이터 및 상태가 마지막으로 수정 된 시간 (분 지정) -ctime 파일 데이터 및 상태가 마지막으로 수정 된 날짜와 시간 (일 지정) 현재 3 일전까지 (현재 시간 ~ 72 시간 전) # find [path] -mtime -3 3 일전 (72 시간 ~ 96 시간 전) # find ./..

    • 맥에서 ppk 파일 변환하기

      PuTTY에서 사용하는 ppk형식의 키 Windows에서 많이 사용하는 PuTTY(터미널 에뮬레이터)는 시크릿키의 형식을 전용형식으로 사용한다. puttygen이라는 키제네레이터로 열쇠를 생성하면 PuTTY 형식의 열쇠가 완성된다. (확장자가 ppk) 맥에서 pem파일로 변환하기 그런데 Mac에서 이 ppk 형식의 키는 사용이 불가하다. 현재 사용중인 환경이 에플 맥이 주환경이다 보니 저런식의 키를 받으면 항상 키를 변환해서 다시 달라고 하는 경우가 많다. 키변환을 자주 해본 분들은 변환해서 다시보내주긴 하지만 잘 모르는 분들은 헤매기 일쑤이다. 따라서 OpenSSH 형식에 맞는 형태로 변경을 해주어야 하는데 맥에서는 homebrew에 변환해주는 puttygen이 존재하기 때문에 터미널상에서 설치 후 받..

    • [shell] find로 검색한 리스트를 배열에 넣기

      find 커맨드로 검색한 디렉토리명을 루핑을 돌아 배열에 넣어보자 쉘 스크립트를 작성할 때 가끔 find로 찾은 결과를 배열에 넣어서 처리해야 할 경우가 있죠. 이때 많은 사람들은 find에서 찾을 결과를 loop를 돌려 배열에 집어넣는 방법을 사용합니다. array=() while IFS= read -r -d $'\0'; do array+=("$REPLY"); done <

    티스토리
    © 2018 TISTORY. All rights reserved.

    티스토리툴바