전공영역 공부 기록 414

테라폼 data block을 강제로 써야하는 경우

테라폼 data block은 프로비저닝 즉, 리소스 생성/수정/삭제를 하지 않습니다. 이미 대상(예: AWS)에 프로비저닝된 리소스 상태를 HCL언어로 참조할 때 사용합니다. Data block은 참조기능이기 때문에 선택으로 사용하는데, 가끔씩 강제로 써야하는 경우가 있습니다. 내가 프로비저닝한 리소스가 자동으로 다른 리소스를 프로비저닝 하는 경우입니다. 대표적인 예가 AWS TGW유형의 Site to Site VPN입니다. VPN connection을 생성하면 자동으로 TGW attachment를 생성합니다.  TGW attachment는 자동으로 생성된 리소스여서 resource block을 사용하면 또 다른TGW attachment를 생성하게 됩니다. 이런 경우에 data block을 강제로 사용해..

BGP프로토콜

이 글은 네트워크 엔지니어가 아닌 데브옵스/SRE/서버/백엔드 엔지니어의 시점으로 정리했습니다. 저 또한 네트워크 엔지니어가 아니여서 내용이 다소 부족할 수 있습니다. 저는 우연히 AWS Site-to-Site VPN을 구축할이 있어 BGP를 간단히 공부했습니다. 이 글의 내용은 영상으로도 만나 볼 수 있습니다. 특히 BGP실습과정이 궁금하신 분은 영상을 참고하면 좋습니다.https://youtu.be/gbFdVhkTCmQ?feature=shared  BGP프로토콜이란?BGP는 라우팅 정보를 다른 라우터에게 공유하는 프로토콜입니다.아래 예제를 보면 Router1은 192.168.100.0/24 정보를 Router2에게 넘깁니다. Router2는 공유받은 라우팅 정보 때문에 192.168.100.0/2..

리눅스 디폴트 네트워크 인터페이스 조회방법

개요이 글은 리눅스에서 디폴트 네트워크 인터페이스 이름을 가져오는 방법을 설명합니다. 디폴트 네트워크 인터페이스는 자동화 스크립트 작성할때 많이 사용합니다. 아래 예제에서는 자동화 스크립트가 ens5 인터페이스를 찾을 수 있어야 합니다.  원리ip route명령어를 사용하면 디폴트 네트워크 인터페이스가 보입니다. 원리는 grep으로 default 키워드를 필터링하고 awk 또는 cut으로 인터페이스 이름이 있는 칼럼을 가져오면 됩니다.ip route | grep default | awk '{print $5}'

맥북(ARM)에서 influxDBv1 helm 차트 실행방법

문제ARM 맥북에서 influxdb v1 helm 차트를 릴리즈하면, 컨테이너 이미지 pull 에러가 발생합니다.helm repo add influxdata https://helm.influxdata.com/helm upgrade --install influxdata/influxdb influxdb influxdb v1 pod는 이미지 pull에러가 발생하과, v2 pod는 잘 실행됩니다.kubectl get pod describe pod를 하면 ARM계열 컨테이너 이미지가 없는 것을 확인할 수 있습니다.kubectl describe pod {influx v1 pod} 문제 해결방법컨테이너 이미지 pull에러를 해결하려면 ARM계열 컨테이너 이미지를 사용하면 됩니다. influxDB v1은 ARM계열 이..

helmfile - 여러 helm 차트를 한번에 관리하는 도구

https://youtube.com/shorts/CdenN_lGci8 helmfile이란?여러 Helm 차트를 한 번에 관리하고 릴리즈(배포)하는 도구입니다. helmfile 장점helm차트 2개를 릴리즈하려면 어떻게 해야할까요? 일일이 helm 릴리즈를 해야 합니다.helm upgrade --install chart1 {릴리즈 이름}helm upgrade --install chart2 {릴리즈 이름} helmfile을 사용하면 helm 차트를 일일이 릴리즈안해도 됩니다. 릴리즈할 helm chart를 helmfile에 정의하고 helmfile apply명령어를 실행하면 한번에 helm 차트가 릴리즈됩니다. 삭제하고 싶으면 helm destroy를 하면 됩니다. 언제 helmfile을 사용하면 좋을까?..

Docker로 MySQL 컨테이너 실행 및 Sakila 샘플 데이터 불러오는 방법

https://youtube.com/shorts/ljerZDAqDJA 개요이 글은 mysql 도커 컨테이너를 실행할때 sakila 데이터 샘플을 같이 불러오는 방법을 설명합니다. 설치 방법예제 링크: https://github.com/choisungwook/portfolio/tree/master/common/mysql_sakila_sample mysql 도커 컨테이너는 제일 처음 실행될 때 /docker-entrypoint-initdb.d 디렉터리 경로에 있는 sql를 모두 실행합니다. 이 원리를 사용하여 sakila 데이터를 생성하는 sql파일을 /docker-entrypoint-initdb.d 경로에 마운트해주면 됩니다.docker-compose.yml파일 예입니다. volumes로 initdb디렉터..