다양한 배포 전략이 있고 배포 도구가 있습니다.
이러한 다양한 환경에서 한 환경에만 가능한 종속되지 않게 환경 변수를 관리할 수 있을까 고민을 했습니다.
보안적인 부분도 고려를 해야했는데
이미지에 바로 기입해버리는건 리버싱 과정에서 뺴앗길 수 있어 하지않았습니다. 외부에서 주입을 받습니다.
그리고 배포를 도와주는 도구들이 공통적으로 가지는 수단은 배포스크립트를 짜게하는 것과 그 사이에 들어갈 수 있는 보안적인 요소들을 다뤄준다는 것. 이 두 가지가 핵심적입니다.
그리고 도커는 일반적으로 사용하기가 좋아 대부분 사용합니다.
저의 경우 깃헙액션즈와 깃헙 컨테이너레지스트리를 통해서 배포를 진행하려합니다. 그리고 도커에 환경변수를 전달해야하는데 전 이런 환경변수를 깃헙 시큐어로 두지 않고 AWS Parameter Store 를 사용했습니다. aws 를 사용하는 환경에서 쉽게 사용하기 위함인데 사실 github actions 만 사용하는 환경에서 큰 문제는 없어보입니다. 이건 살짝 배포 환경을 바꿨을때 모든 시큐어 환경변수값을 하나하나 옮기는 게 비효율적여보여 택했습니다.
그래서 최소한의 시큐어 정보만을 배포 환경에 뒀습니다.
그리고 ec2, lambda 에 SSM 관련 역할과 필요에 따라 aws-cli 를 둬버리면 배포가 가능합니다.