Devops
-
GitActions에서 Environment secrets 사용해보기Devops/CICD 2022. 9. 13. 09:37
gitactions에서 secret ket를 주입하는 방법은 settings -> Secrets-> Actions에서 Repository secret key를 추가하면 됩니다. 하지만, 개발환경별로 주입하려면 Secret Key이름에 환경이 들어가서 ci/cd의 yml파일이 지저분해집니다. 언젠가부터 github에 Environments가 settings에 생기면서 Deployment branch role을 지정해서 특정 환경에서만 주입할 수 있는 기능이 생겼습니다. 즉, 환경변수 네이밍이 기존에 DB_HOST_DEV, DB_HOST_STAGE.. 이런식이 였다면, DB_HOST하나로 환경별로 사용할 수 있게 됩니다. 위 사진을 보시면 dev라는 Environments에 DB_HOST가 있는것을 볼 수 ..
-
AWS Service DiscoveryDevops/Terraform 2022. 8. 30. 00:38
elastic container service (ecs)를 사용하다가 슬슬 내부 통신이 필요할 때가 와서 관련 서비스 (consul, aws cloud map)등을 조사하다가 aws cloud map을 사용하기로 결정을 했습니다. 그 이유는 현재 사용중인 ecs는 eks 또는 k8s로 변경할 예정이다. headless service로 간단하게 거쳐갈 솔루션이 필요하다. 이다. 하지만, 사용해보니 몇 가지 단점이 보였습니다. route 53에 private hosting을 하기에 DNS 레코드 변경, 삭제되면 지연시간이 발생한다. terraform으로 프로비저닝 할때, ecs가 destroy 후 apply가 된다. 사용하게될 Private DNS Service Discovery에 대해서 간단하게 설명을 드..
-
Terraform에서 tagging하기Devops/Terraform 2022. 4. 9. 20:17
이번에 회사에서 태깅 정책을 정하게 되어서 기존에 프로비저닝했던 모듈에 태깅을 붙이게 되었습니다. 하지만, 하나의 aws서비스를 프로비저닝하는 코드에는 여러 모듈이 엮여있어서 태깅을 하나하나 추가하는데 매우 귀찮음을 느꼈습니다. 그러던 와중!! default_tags을 볼 수 있었습니다. default_tags란 provider block에서 사용할 수 있는데 프로비저닝하는 모든 resource에 공통된 태깅을 붙여주는 속성입니다. provider "aws" { region = "ap-northeast-2" default_tags { tags = { TAG1 = "tag1" TAG2 = "tag2" } } } resource "aws_alb" "default" { name = var.name intern..