IT/AWS

    [AWS] EC2 Linux 인스턴스 재부팅시에도 UserData 실행하기

    Intro 기본적으로 UserData는 EC2생성시에 한 번만 실행되도록 설정되어있습니다. 이는 cloud-init의 cloud_final_modules에서 기본값으로 once로 설정이 되어있기 때문입니다. 실제 EC2에 SSH로 접속하여 아래 경로를 확인해보면 config_scripts_user.once 파일이 기본적으로 구성이 되어있는것을 확인할 수 있습니다. /var/lib/cloud/sem/config_scripts_user.once 재부팅시에도 UserData 실행하기 EC2가 초기에 생성될 때 뿐만아니라 재시작 될때도 UserData를 동작시키는 방법은 비교적 간단한데요. UserData에 아래와 같이 입력하면됩니다.( #!/bin/bash 에 원하는 bash 스크립트를 작성하면됩니다.) Us..

    [Terraform] local, variable, output, data 차이

    Intro Terraform에는 다양한 변수 개념이 존재합니다. 그것이 오늘 주인공인 local, variable, output, data 입니다. 오늘은 이 4가지 개념에 대해 설명하고 그 차이점을 알아 보도록 하겠습니다. 우선 제목은 local, variable, output, data 라고 표현하였는데, 좀 더 자세히 설명드리자면 변수(Variables)에는 크게 local, input, output이 있고 data 변수라기 보다는 resource에 가깝습니다. (여기서 resource는 실제로 인프라를 구성하는 ec2와 같은 것을 의미합니다.) 각각 설명 아래 테라폼 공식 URL을 적어두었으니 더욱더 자세한 설명을 확인하고 싶으신분들은 클릭하여 확인해보시기 바랍니다. local variables ..

    [AWS] Code Deploy 다중 ALB target 트래픽 제어하기

    Intro AWS Code Deploy의 가장 강력한 기능 중 하나는 Traffic control 입니다. 실제 배포 대상을 설정하는 Deployment Group에 ELB를 선택하면 배포 대상으로 들어오는 트래픽을 차단하여 배포가 될때까지 Client의 유입 제어할 수 있습니다. 그렇게되면 서비스의 중단의 없이도 배포가 가능하게 되는것입니다. 하지만 Code Deploy의 한계가 분명히 존재합니다. Code Deploy는 모든 Use Case를 커버 하지 못합니다. 오늘은 Code Deploy가 커버 하지 못하는 대표적인 예를 하나 설명하고 이것을 커버할 수 있도록 구성 해보도록 하겠습니다. code deploy 다중 ALB target 트래픽 제어하기 제목과 같이 Code Deploy가 커버하지 못하..

    [AWS] Code Deploy를 사용하기 전에 꼭 알아야할 것 (feat. Loosely Coupled)

    Intro 오늘은 Code Deploy를 왜 써야하고, 언제 써야하고, 어떻게 써야하는지에 대해서 이야기 해보고자 합니다. Code Deploy는 AWS에서 운영을 하고 있다면 거의 피할 수 없는 서비스이기 때문에 AWS를 사용하는 담당자 분들은 반드시 잘 알아야하는 서비스 입니다. Code Deploy가 뭔가요? Code Deploy는 단어 그대로 코드를 배포해주는 서비스 입니다. AWS 상에서 CI/CD를 가능하게 해주는 Code시리즈 Code Commit, Code Build, Code Deploy 중 하나로 이 시리즈를 하나의 파이프라인으로 만들어주는 Code pipeline 서비스로 묶을 수도 있습니다. Code Deploy는 왜 사용해야 하나요? 기존에 대부분의 개발자들은 젠킨스라는 빌드배포 ..