소개
현재 LG U+ 에서 Cloud & Container 분야 연구위원으로 일하고 있습니다.
또한, AWS 에서 직접 선정하는 국내최초 AWS Container hero 입니다.
대용량 서비스들을 직접 구축/운영을 해왔고, DevOps 에 관련한 많은 강의를 진행했습니다.
DevOps 에 대한 기초부터 심화, 베스트 프랙티스를 공유합니다.
강의
전체3수강평
게시글
질문&답변
2024.05.12
VPC 마법사가 사라졌는데 어떻게 설정해야할까요?
안녕하세요. 송주영입니다. 일단 늦은답변 죄송합니다. VPC 마법사는 사라졌지만, VPC를 더 쉽게 만들 수 있는 버튼은 생겼습니다. 말이 마법사이지 지금이 더 훌륭한 U.I/U.X 에요. 수업에 있는 VPC 이론을 이해하고 만드신다면 충분히 사용하실 수 있다고 생각합니다~ 모르면 또 질문해주세요.
- 1
- 2
- 273
질문&답변
2024.05.12
강의 자료 중 vpc를 module이 아닌 디렉토리의 복사 붙여넣기로 사용한 이유
안녕하세요. 송주영입니다. 좋은 질문해주셔서 감사합니다. VPC를 module로 만든 사례들도 많습니다. 하지만 제가 VPC에서는 모듈을 사용하지 않는 것은, VPC는 한번 만들어지면 변화가 크지 않다, module내 코드 1개의 변경으로 전체 VPC가 변화해야할 것이 크게 없다. VPC는 잘 안바뀌는 자원이다. VPC는 각 형상, 서브넷 갯수, RouteTable 룰이 달라지는 경우 값이 달라지기 보다는 전체 자원 갯수가 달라지거나 하기 때문에 module 코드에 if 형태의 문이 많이 들어갈 수 있다. Peering을 하면 한 곳은 request, accept 를 해야하는데, 이 문제가 복잡해질 수 있다. ( 3번의 예 ) 위에 이러한 문제로 인해서 module로 VPC를 사용하지 않습니다. 물론 사용 방법은 회사마다 자유이지만, 저는 테라폼 코드가 복잡해지는 걸 원하지 않습니다. 코드처럼 사용하는걸 지양하는 편에 속합니다. yaml, json 같은 형식의 코드처럼 생각하는 경우에 가깝습니다. 물론 제 코드 밑에 vpc.tf 안에만 있는 자원이 아닌 다른 것들은 일부 모듈화 하거나 그럴 수 있는 있을 수 있을 것 같습니다. 이 문제는 우리의 서비스가 몇개인지, VPC가 몇개인지, region은 몇개인지, account는 몇개인지에 따라서 고도화를 해나가야 할 수 있다면, 그 방향으로 지향해야합니다. 즉 시간을 줄이고, readability를 향상 시킬 수 있는 어느 방법이 있다면, 그걸 사용해야 한다고 생각합니다. 예제 코드는 제 머릿속에서 나온 아직까지의 한계라고 생각해주시면 되겠습니다.ㅎ
- 1
- 1
- 64
질문&답변
2024.05.07
backend로 설정한 s3 bucket의 destroy
안녕하세요. 송주영입니다. 일단 대전제는 "s3 bucket의 경우 bucket 내에 파일이 존재하면 삭제할 수 없다" 는 맞습니다. 일단 지우고 싶으신게 새로 만드신 s3 bucket 이실까요? 최초로 init 안에 만든 bucket 일까요? init 때 만든 그러니까 우리가 backend 로 사용하고 있는 s3 bucket은 테라폼으로 만들었지만, s3가 없으니 파일형태로 .tfstate 로 남게 됩니다. 그리고 제가 github를 pull 하셨으면 .gitignore 에 .tfstate 파일은 무시하라고 되어있기 때문에, 올리지 않습니다. ( .tfstate는 공개되면 안되는 정보들이 있을 수 있습니다 ) 그래서 모든 리소스를 지우고 마지막으로 s3 backend 로 사용했던 tfstate 이렇게 이름붙혔던것은 console 에서 삭제하시면 됩니다~ 그리고 파일을 삭제했는데도 bucket 이 삭제가 안된다고 느껴지시면, version 된 파일을 보는 옵션이 있습니다. 그걸 키고 versioning 된 파일까지 모두 삭제하고, 삭제하시면 됩니다. 감사합니다~
- 0
- 1
- 56
질문&답변
2024.05.06
.terraform 디렉토리에 관해
안녕하세요. 송주영입니다. .terraform 파일은 일종의 skd 라서 크기가 매우큽니다. 아래 블로그나 "테라폼 provider cache" 등등으로 검색하시면, .init 파일의 sdk 들을 캐쉬하는 방법들이 나와있습니다. 해당 방법을 사용하시면 중앙관리를 하실 수 있습니다~! https://2ham-s.tistory.com/entry/AWS%ED%85%8C%EB%9D%BC%ED%8F%BCTerraform-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%BA%90%EC%8B%9C-%EC%84%A4%EC%A0%95
- 1
- 1
- 69
질문&답변
2024.04.28
질문입니다.
일단 인프런 AI 인턴이 달아준 답을 잘 보시길 바랍니다~ 원론적인 답안입니다. 일단 원론적으로 var.sg _variables.external_lb.tag[var.shard_id] 로 variable(map)을 찾았는데 해당 값이 없는 에러입니다. 강의를 진행하다보면 저희가 cp -R 하면서 복사하면서 var_ sg.tf, var_lb.tf 까지 복사가 됩니다.(심볼릭링크) 둘중에 해당 .external_lb.tag 에 해당하는 항목에 windapne2 라는 값이 없을것입니다~ (결론적으로 둘다 있어야 합니다) 굉장히 중요한 부분입니다~ output 에 있는 값으로 variable이 설정되고 찾아가는 부분이어서, AI 인턴이 말해준 내용을 토대로 고쳐나가시면 많은 것을 배우실 수 있을 것 같습니다. 안되면 다시 말씀 부탁드립니다~ 거의 왔습니다~
- 1
- 2
- 80