묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
모듈과 .tf 파일 분할에 대해서 의견이 궁금합니다.
안녕하세요. 쭉 강의를 팔로우 하고 있는데 다른 케이스들이나 해외 레딧의 사례들도 같이 참고하다가 한가지 의문이 생겨서 여쭤보고 싶습니다.모듈화를 통한 디렉토리를 나누거나, 폴더를 따로 두어서 관리하는 경우가 많더라구요흔히 테라폼 디렉토리 구조 best practice 의 검색 결과 나오는 사진입니다.제가 체감하기에는 main.tf 에서 모든걸 한번에 넣어 두는 경우는 읽기 너무 복잡해서모듈과 리소스명.tf 파일을 분리하는 등등의 과정으로 두가지 나눠서 디렉토리를 관리합니다.실무자 입장에서 또한 많은 경험이 있는 엔지니어 입장에서 어떤식으로 디렉토리를 분류하고, 파일을 나누고, 모듈화를 하는지, 송주영님 만의 기준이 있는지 궁금합니다.또한 이건 약간 곁다리 질문인데요, 최근에 terragrunt 라는 테라폼을 한번더 고도화 해서 사용하는 사례도 종종 보이고 있습니다. 혹시 도입을 고민하신적 있는지, 사용하셨다면 어떤 느낌이었는지 궁금합니다! 강의 잘 보고 있습니다! 단순히 docs를 풀어서 읽기주시기만 하는 강의가 아니라, 실무자의 고민과 해결, 관점이 강의 사이사이 들어 있어서 정말 큰 도움이 되고 있습니다!!!
-
미해결개발자라면 알아야 할 redis 기본
MacOS에서 brew를 사용한 설치를 권장하지 않는 이유가 무엇인가요?
안녕하세요!brew를 통해 직접적으로 MacOS에 설치하는 것이 아닌 Docker Desktop을 설치하여 Docker Container 안에서 redis-server를 설치하라고 말씀해주셨는데 후반부에 말씀해주시는 redis-server 삭제 시 깔끔하게 제거되지 않을 가능성이 있기 때문에 brew를 통한 설치가 권장되지 않는다고 이해했는데 맞을까요?
-
해결됨개발자라면 알아야 할 redis 기본
레디스 pub/sub 질문
안녕하세요 강의 잘 듣고 있습니다제가 현재 채팅 프로그램을 만들고 있는데 채팅 서버가 하나이면 굳이 레디스를 사용할 필요가 없겠네요?
-
미해결AWS 클라우드 이해와 실습
AWS 스크립트 안되시는 분 참고하세요
[수정]https://catalog.workshops.aws/general-immersionday/en-US/basic-modules/10-ec2/ec2-linux/2-ec2이 링크에 쭉 내리다보면 스크립트 파일 있습니다. zip file 버전이 계속 변경되나 봐요
-
미해결AWS 클라우드 이해와 실습
강의 자료 요청
안녕하세요.강의 관련 질문 사항 중에 강의 자료에 대한 것들이 있었고,공유해주신 다는 답변을 확인했는데요. 혹시 강의 자료를 어디서 받을 수 있는지 알 수 있을까요? 감사합니다.
-
해결됨[DevOps 정석 2] MSA 환경의 로그 분석 기술 구축을 통한 통합로깅
Signoz 사용중에 질문이 있어 남깁니다.
현재 signoz를 https://signoz.io/docs/install/docker/해당 환경으로 구성하여 사용중입니다. 그런데 계속해서 사용하다보면 메모리 및 스왑 메모리 사용량이 증가하여 서버가 죽는 현상이 발생하고 있습니다. 이를 해결하기 위해서 불필요한 데이터 수집 및 로그 저장이 되지 않도록 설정하고 싶은데 어디 부분을 만져야 할까요?
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
SSM VPC Endpoint 관련 질문 드립니다
안녕하세요.Bastion Host 대신 SSM을 사용하여 private subnet, isolated private subnet(no nat)에 있는 EC2 instance에 SSH 대신 연결하기 위해 다음과 같이 코드를 작성했습니다. 그런데 다음과 같은 오류가 발생하였습니다.동일 AWS Service에 대한 VPC Endpoint가 AZ 당 반드시 하나만 존재하도록 강제하고 있는 것 같습니다.그래서 현재 vpc 디렉토리 내에 강사님이 구조를 모방하여 module, dev_apnortheast2, stag_apnortheast2, prod_apnortheast2 총 4개의 모듈이 존재하도록 작성했는데, 어떻게 해결할 지 간단하게 생각해봤습니다.shared_apnortheast2라는 새로운 디렉토리를 만들어서 SSM을 위한 리소스들을 전부 여기에 저장하고, data나 remote_state 같은 블록을 통해 각 모듈에서 가져다 쓰는 것-> 관리 포인트가 늘어나는 단점 + 다른 환경 끼리 같은 리소스를 써서 헷갈리는 단점, 여기다 전부 만들면 되서 env 마다 충돌 안 나게 할 필요 없는 장점dev, stag, prod에서 각각 하나의 az에만 SSM을 위한 리소스, VPC Endpoint를 만드는 것-> 각 모듈 내의 SSM, VPC Endpoint 만들 때 실수로 겹치지 않도록 az를 신경 써줘야 함 + 운 나쁘게 하나의 az가 다운되었는데 그것이 prod 환경의 SSM, VPC Endpoint면 수동 조치 필요 + 환경 별 불일치 발생3. ssm 자체를 VPC Endpoint가 아닌 다른 방법, 강사님이 언급하신 Transit Gateway 등을 사용하는 것대략 이 정도로 생각을 해보았습니다.아직 SSM, VPC Endpoint에 대한 개념이 완전히 정립되지 않아서 제가 생각한 방법 중 절대 사용해서는 안 되는 치명적인 함정이 있는지, 위 방법들 중 실제로 쓰이는 방법이 있는지, 강사님은 어떤 방법을 선호 하시는지가 궁금합니다.---앞 부분을 여러 번 돌려보고 직접 작성하면서 진행하느라 굉장히 느리게 진행하고 있는데 확실히 직접 몇 번 만들어 보고 다시 돌려보니 이해도가 늘어나는 것이 느껴집니다.테라폼을 처음 접했을 때 하위 디렉토리 무시하고 현재 디렉토리 단위로만 모듈이 되는 것과 책 등에서는 어떻게 구조화 하는지를 알려주지 않았는데, 강사님 강의를 통해 조금씩 어떻게 사용하는지 느낌을 잡아갈 수 있었습니다.(리뷰에 써야하는 내용인데 아직도 앞부분 돌려보고 있어서 다 듣고 다시 쓰겠습니다.ㅋㅋ)강의 반복해서 듣고 혼자 구조 짜고 실습을 해보니 이 사용자를 어떻게 관리하는지 부분이 상당히 방법이 많고 난해하더라구요.IAM User, Group, Role, Policy 여기까지는 그래도 엄청 어려운 개념은 없고 테라폼으로 리소스 생성도 가능한데이거를 수백명 단위라고 생각하면 어떻게 자동으로 생성하고 관리하고 권한을 조절하는지가 상상이 잘 안 되더라구요.그리고 요즘은 SSH->SSM으로 넘어갔듯 Organization과 SSO(이름이 Identity Center?로 바뀐 것 같습니다.)를 조합해서 사용하는 최신 방식도 많이 사용하고 있다는 것으로 알고 있는데,테라폼을 처음 접했을 때처럼 이 중에서 어떤 것을 골라서 쓰고, 어떤 것을 안 써야하는지, 어떻게 자동화, 권한 조절을 하는지... 함정은 무엇인지 등이 감이 잘 안오는 상태입니다.이런 부분을 실전 느낌으로 체계적으로 다루는 강의는 찾기 어려울 것 같아서 후속 강의를 계속 내시게 되면 IAM, Organization, SSO 등의 사용자 리소스 관리 및 자동화, 베스트 프랙티스도 꼭 보고 싶네요.아 그리고 지금까지 테라폼 구조화 방식을 workspace, module + softlink, terragrunt 3가지 정도를 접했는데workspace는 강사님과 Terraform 모듈 만드시는 분이 이미 겪어보고 module + softlink 방식이 낫다고 말씀해주셔서 깊게 보지 않았는데, terragrunt는 어떻게 생각하시는지, 어떤 단점이 있는지도 궁금합니다. 아래 예제 레포가 있는데 좀 방대해서 제대로 이해하고 해석하려면 시간이 걸리겠더라구요.https://github.com/cogini/multi-env-deploy언제나 강의 잘 듣고 있습니다.다음 강의들도 기대하겠습니다. 감사합니다.
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IRSA 의 토큰이 최대 24시간인데 만료되면 어떻게 되나요?
안녕하세요우선 좋은 강의 감사합니다. 강의 시청 중 IRSA 부분을 진행 중인데, 웬만한 것들은 이해가 되는데 한가지 궁금한 것이 있습니다.결국 파드가 AWS 리소스에 접근할 수 있는 토큰을 특정 마운트 경로에 가지고 있는 것인데, 임시 자격 증명은 영구적인 것이 아니고 최대 24시간까지만 유지가 되는데, 이 유효 시간이 지나면 어떻게 되나요? 예를 들어 파드 A 는 S3 에 접근을 해야 해서 IRSA 를 사용하고 있습니다. 최대 만료 시간인 24시간 지난 후에도 여전히 S3 에 접근이 가능한데, 이게 왜 가능한지가 궁금합니다. 무언가 토큰을 갱신해주는 쿠버네티스 컨트롤러나 오퍼레이터 같은 것이 있는 걸까요?(근데 암만 찾아봐도 mutatingwebhookconfigurations 의 pod-identity-webhook 외에는 관련된 것을 못찾겠네요 ㅜㅜ)
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
세팅 질문입니다.
안녕하세요, 강사님강의 복습중입니다.한 가지 궁굼한 점이 있습니다.강의 외적인 부분인데iterm 세팅을 어떻게 하고 계신가요?커서 옮길때 매우 빠른(?) 속도를 갖고 계시던데테마 등 정보 공유 부탁드리겠습니다!아참,5월에 테라폼 강의 준비해주신다고 하셨는데...테라폼이 아닌, aws강의를 준비하셔서 조금 섭섭하네요.. ㅋㅋ
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
강의 자료 중 vpc를 module이 아닌 디렉토리의 복사 붙여넣기로 사용한 이유
안녕하세요.중급강의 영상을 시청하면서 실습을 진행하던 도중 궁금한 것이 생겨 질문을 드리려 합니다.vpc 구성 강의 중 artd_apnortheast2 디렉토리 복사 후 몇몇 내용만 바꿔서 vpc를 구성하는 부분이 있는데보면서 vpc는 모듈로 만들어놓고 사용해도 괜찮지 않을까라는 생각이 들었습니다.혹시 vpc를 모듈로 구성하지 않은 이유가 궁금합니다.답변 부탁드립니다. 감사합니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
backend로 설정한 s3 bucket의 destroy
안녕하세요. 하루만에 또 질문이 생겼네요.. backend로 s3 bucket을 지정해 .tfstate 파일을 s3에서 관리하다가 destroy 명령어로 리소스를 제거하려고 할 때 다른 리소스는 모두 제거되지만 s3 bucket은 제거되지 않고 에러가 발생했습니다. 아래 이유들로 당연하다면 당연하지만 그래도 의견을 들어보고자 질문을 하게 되었습니다.( 이번에도 마찬가지로 구글과 chatgpt를 이용해 찾아봤으나 chatgpt는 lifecycle 블록의 prevent_destory 속성을 이용하면 bucket내부의 파일도 삭제하고 bucket도 삭제해주는 것처럼 알려줘놓고 해보니 안되더라구요ㅜ 결제를 해야하나.. ) s3 bucket의 경우 bucket 내에 파일이 존재하면 삭제할 수 없다삭제해야하는 파일은 .tfstate 파일인데 terraform을 이용해 생성한 리소스의 정보가 담겨있는 파일이라 해당 파일을 삭제하면 terraform이 인지하지 못해 결국 terraform 명령어를 이용해 s3 bucket을 삭제하지 못하게 된다. 즉, 위 2가지 이유로 인해 backend로 설정한 s3 bucket은 terraform destroy 명령어를 이용해 삭제하는 방법은 없고, 그외 다른 리소스만 destroy 명령어로 삭제하고, s3 bucket까지 삭제하려면 aws console에서 수동으로 .tfstate 파일은 삭제한 뒤 s3 bucket을 삭제해야한다는 결론을 내렸습니다. 해당 결론에 대한 선생님의 의견을 들어보고싶습니다.답변 부탁드립니다. 감사합니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
.terraform 디렉토리에 관해
안녕하세요. 중급강의를 듣고 실습하던 중 궁금한 사항이 생겨 chatgpt나 구글을 찾아봤지만 답을 찾지 못해 질문드립니다. terraform의 경우 명령어의 실행범위가 현재 위치한 디렉토리 내로 한정되어 각 디렉토리별로 terraform init 명령어를 입력해주어야 하는 것 같은데 이때 .terraform 디렉토리가 init 명령어를 실행하는 디렉토리마다 생성이됩니다. 그런데 이 .terraform 디렉토리의 크기가 aws 를 기준으로는 약 470mb정도가되어 실제로 사용할 때는 프로젝트별로 하나의 .terraform 디렉토리를 공유해서 사용한다던가 하는 효율적인 방법이 있을거라고 생각하는데 도저히 찾지못해 질문드립니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
질문입니다.
안녕하세요, 전에보편적인 Application 구조 ALB_SG-ALB-Listner-TargetGroup - EC_SG 만들기위 강의에서 실패해서 다시 듣고 도전중입니다.현재 vpc는위와 같은 상태입니다. 그리고 강의를 보면서terraform/services/hello/wind_apnortheast2이렇게 폴더를 새로 만들어서 작성중입니다.s3는위와 같이 만들어서 사용중이고, 백엔드 설정파일은위와 같습니다. 또한 remote_state.tf도 아래와 같은 상태입니다. 그리고var_global.tf에 vpc는 이렇게 설정하고 돌리는데 계속 샤드id 오류가 생기네요.계속 파보지만 해결되지않아서 질문요청드립니다.
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
AWS Paramater store 실습도중 Error: creating SSM Parameter (test-key): 에러 발생
AWS Paramater store 실습도중 Error: creating SSM Parameter (test-key): 에러가 발생하여 질문 남깁니다. test-key.tf 파일에서ssm_parameter_key_id = "alias/deployment-common"내용에서 에러가 나는거 같습니다. 그래서 아래와 같이 keyid 값으로 변경하니 에러가 안나고 ssm 생성도 잘됩니다.ssm_parameter_key_id = "f5144bdc-2350-447a-a2f7-8473e0f3b4dc" terraform 문서에서도 key_id 값을 KeyID 또는 ARN을 명시하라고 나와 있는데요, 어떤것이 맞는건지 궁금합니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
안녕하세요. 깃헙 파일 관련 질문 드립니다.
질문은 부담없이 어떤거든 해주세요! (scripts/terraform_setup.sh)주영님, 제가 첨부드린 파일은 어떤 목적으로 사용되는지 질문드립니다~그리고 혹시 이 파일은 이번 강의에서 사용되었을까요?
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
Error: Cannot assume IAM Role 에러
안녕하세요, 양질의 강의 감사합니다.저도 아래분과 똑같은 오류를 경험하고 있습니다.댓글을 보고 따라해봐도 어떻게 해야되는지 잘 모르겠습니다. data "terraform_remote_state" "vpc" {backend = "s3"config = merge(var.remote_state.vpc.neopindapne2)}이렇게 바꾸면 돌아가는 건가요?사실 저렇게 변경해봐도 다른 부분에서 추가적으로 오류가 생겨 글을 남겨요.또한괜찮으시다면보편적인 Application 구조 ALB_SG-ALB-Listner-TargetGroup - EC_SG 만들기이 부분에서 어떤 부분을 어떻게 수정해야되는지 구체적으로 명확하게 적시해주시면 감사할 것 같습니다.--추가적으로 강의를 나눠서 진행한다고 하셨습니다.맨 처음 https://terraform201.devart.tv/이 페이지를 보고 젠킨스까지 다 진행해주시는 줄 알았네요.강의 소개란에 1편, 2편 나눠서 진행하신다고 적어주시면 좋을 것 같습니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
심볼릭 링크 관련하여 질문 드립니다.
질문은 부담없이 어떤거든 해주세요! 주영님이 설정하신 심볼릭 링크 관련하여 코드 재사용 및 중앙 관리를 하기 위함인 것 같다는 생각이 들긴 하지만, 주영님께 직접 답변을 듣고 싶어서 질문드립니다.service 디렉터리 구조에서 저렇게 심볼릭 링크를 설정하신 이유가 무엇인지 디테일하게 답변해 주실 수 있을까요??
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
Error: Cannot assume IAM Role 에러 관련 질문 드립니다.
질문은 부담없이 어떤거든 해주세요!에러 캡처:에러 로그:Planning failed. Terraform encountered an error while generating this plan.╷│ Warning: Deprecated Parameters││ with data.terraform_remote_state.vpc,│ on remote_state.tf line 1, in data "terraform_remote_state" "vpc":│ 1: data "terraform_remote_state" "vpc" {││ The following parameters have been deprecated. Replace them as follows:│ * role_arn -> assume_role.role_arn│││ (and one more similar warning elsewhere)╵╷│ Error: Cannot assume IAM Role││ IAM Role ARN not set상황 설명:강의 38:27 부분 따라하는 과정에서 plan 명령어 입력 시 첨부드린 사진과 같이 에러가 발생합니다.참고로,terraform/services/hello/devartd_apnortheast2를 cp -R로 복사하여,terraform/services/hello/neopind_apnortheast2 이와 같이 저만의 디렉터리를 만들어 작업 중입니다.
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
안녕하세요.
질문은 부담없이 어떤거든 해주세요!테라폼 관련 질문은 아니지만...주영님이 사용중이신 ai assistant? 가 뭔지 알 수 있을까요?찾아봐도 주영님이 사용 중이신 것과 같은 것을 확인하지 못해서요.크롬 플러그인인지...
-
미해결AWS 클라우드 이해와 실습
Web App의 정확한 의미
안녕하세요 선생님!단어의 의미로 제가 이해하는데 약간의 혼동이 있는것 같아 이를 확실하게 하기위해 질문드립니다! 제가 알기로 vue.js등으로 구현된 애플리케이션도 강의에서 설명해주신 앱처럼 JSON형태의 데이터를 주고 받는것으로 알고 있습니다! 혹시 Web App은 타임리프나 JSP와 같은 뷰템플릿 엔진을 활용하여 서버에서 HTML을 응답하는것을 의미하신것일까요?Web App을 검색해보니 서버와 Json형태의 데이터를 주고받는 화면도 의미하는것 같아 좀 혼동이 되어서 질문드렸습니다! 감사합니다.