묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
aws 콘솔 화면
콘솔 화면이 차이가 있는데 , 별다른 설정이 필요한가요 vpc에서도 마법사로 생성이 아니여서요. 설정을별다르게 해줘야할까요 콘솔에서 ?
-
미해결중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
모듈과 .tf 파일 분할에 대해서 의견이 궁금합니다.
안녕하세요. 쭉 강의를 팔로우 하고 있는데 다른 케이스들이나 해외 레딧의 사례들도 같이 참고하다가 한가지 의문이 생겨서 여쭤보고 싶습니다.모듈화를 통한 디렉토리를 나누거나, 폴더를 따로 두어서 관리하는 경우가 많더라구요흔히 테라폼 디렉토리 구조 best practice 의 검색 결과 나오는 사진입니다.제가 체감하기에는 main.tf 에서 모든걸 한번에 넣어 두는 경우는 읽기 너무 복잡해서모듈과 리소스명.tf 파일을 분리하는 등등의 과정으로 두가지 나눠서 디렉토리를 관리합니다.실무자 입장에서 또한 많은 경험이 있는 엔지니어 입장에서 어떤식으로 디렉토리를 분류하고, 파일을 나누고, 모듈화를 하는지, 송주영님 만의 기준이 있는지 궁금합니다.또한 이건 약간 곁다리 질문인데요, 최근에 terragrunt 라는 테라폼을 한번더 고도화 해서 사용하는 사례도 종종 보이고 있습니다. 혹시 도입을 고민하신적 있는지, 사용하셨다면 어떤 느낌이었는지 궁금합니다! 강의 잘 보고 있습니다! 단순히 docs를 풀어서 읽기주시기만 하는 강의가 아니라, 실무자의 고민과 해결, 관점이 강의 사이사이 들어 있어서 정말 큰 도움이 되고 있습니다!!!
-
해결됨테라폼 시작하기
루트 모듈 구성
안녕하세요. "DevOps와 SE를 위한 리눅스 커널 이야기"를 완독하고 저자님의 성함을 잊지 않았던걸까 테라폼 강의가 업로드 되자마자 신나게 수강을 했습니다.덕분에 테라폼을 보다 쉽게 익힐 수 있었고 무엇보다 공식문서를 잘 읽어가며 새로운 리소스를 구성할 때 마다 참고하게 되는 습관이 생긴 것 같아요👍그래서 감사하다는 말씀 먼저 드리면서 궁금사항을 남겨봅니다. 질문 배경실습을 끝까지 마쳤다면 폴더구조는 이런 상태입니다.modulesvpcmain.tfoutputs.tfvariables.tfvpcoimarket-apne2... ec2bastion... 워크 플로우cd ec2/bastion || cd vpc/oimarket-apne2terraform plan - apply질문 내용테라폼 구성을 위해 각 리소스 디렉터리에 접근 하여 워크플로우를 실행 하게 되는데 이렇게 개별적으로 관리하는것 과 중앙 집약적 관리 중 어떤 방향이 Best Practice일까요?제가 생각하는 루트 모듈 구성은 이렇습니다.main.tfvariables.tfoutputs.tfmodulesvpc...ec2...
-
미해결[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
first before
1개념이해를 도와주세요 before after를 전역으로 사용하면 first 잡에서 호출하지 않아도 실행이 되는 건가요? 그렇다면 모든잡에서 항상 실행되는 건가요? 특정 잡에서는 전역값이 실행 안될 수 있게 설정할 수 있나요?
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
강의 자료 질문
안녕하세요! 혹시 강의를 진행하실 때 사용하시는 강의 자료 공유 받을 수 있는지 궁금합니다!
-
해결됨아키텍처와 함께하는 Terraform (테라폼 모듈)
NAT Gateway 역할
안녕하세요. 좋은 강의 잘 듣고 있습니다.강의를 들으며 실습을 하다가 궁금한 점이 생겨 질문드립니다.크게 두 가지 질문이 있습니다 ㅜㅜ 첫 번째로, public subnet에 NAT 인스턴스를 만들었는데, 역할이 잘 이해가 가지 않아 질문드립니다.제가 이해한 바로는관리자가 서버에 직접 접근할 때 bastion host를 통해 인스턴스에 접근할 수 있다클라이언트로부터의 요청은 alb를 통해 인스턴스로 요청된다이렇게 이해를 했습니다. 생성한 NAT는 언제 사용되는건지 잘 이해가 가지 않습니다.. 두 번째로, IGW를 통해 요청이 들어오면 IGW가 NAT 역할을 해준다고 검색을 해서 찾았는데.. 그렇게 되면 강의에서 생성한 NAT의 역할이 잘 이해가 가지 않습니다 ㅜㅜ 강의 항상 잘 듣고 있습니다. 감사합니다 :)
-
해결됨아키텍처와 함께하는 Terraform (테라폼 모듈)
VSCODE EXTENSION
vscode 사용하시는 extension 이 무엇있지 궁금합니다!
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
aws configure 초기화 이후 aws cli사용
aws configure 초기화 하신 후 s3 관련 권한을 주신 후 cli를 직접 사용하셨는데, 어떻게 사용하신지 궁금합니다. aws configure를 다시 설정해주셨는데 그 부분을 제가 못 본걸까요!
-
미해결[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
Private Subnet과 Gitlab
안녕하세요. 이번에 public subnet 에 있는 bastion host를 통해서 private subnet에 있는 web server라는 ec2에 cli 명령어로 gitlab ee 버젼을 설치해서 도메인(a.test.com)으로 설정하였습니다. 그런데 sudo vi /etc/gitlab/gitlab.rb 파일에 bastion host의 public ip를 넣어야 도메인으로 gitlab server의 사이트로 접속이 되던데.. 이러면 public ip가 그대로 노출될 수도 있어서 도메인으로 바꾸면 사이트의 접속이 막히고 있습니다. 도메인으로 설정을 바꾸면 어떻게 해야하나 질문을 드립니다. CI/CD 과정은 리포지토리는 Gitlab, 빌드과정은 codebuild를 사용하려고 합니다. codebuild와 연결을 할때도 액세스 토큰이 필요해서 이부분은 어떻게 설정해야 하나요?
-
해결됨처음 시작하는 Infrastructure as Code: AWS & 테라폼
라우팅 테이블을 public이랑 private를 나눈 이유를 잘 모르겠습니다.
라우팅 테이블을 public이랑 private를 나눈 이유를 잘 모르겠습니다.라우팅 테이블 자체가 subnet - gateway의 mapping 용도라면 하나의 routing table에 모든 값들을 다 넣는 방식은 잘못됐을 까요?
-
해결됨아키텍처와 함께하는 Terraform (테라폼 모듈)
vscode
자바를 만져본 적은 없고 빌드가 처음인데 vscode에서 gradle extension 깔고 jdk17을 깔았는데 아이콘이 생기지 않아서요 어떻게 하면 될까요
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
sudo yum install -y zsh 명령어 입력 시
기존질문을보고 ami를 amzn2-ami-kernel-5.10-hvm-2.0.20241031.0-x86_64-gp2 이걸로했는데도 불구하고 Cannot find a valid baseurl for repo: amzn2-core/2/x86_64 이런 에러가나는데 구체적으로 어떤 Ami를 써야 강의와 호환되는지알려주실수있나요
-
해결됨실전 대비! DevOps인터뷰 완전 정복 - 기본편
고급편은 할인이 안되나요?
같이 듣고 싶은데요.언제쯤 할인 예정이실까요?
-
해결됨실전 대비! DevOps인터뷰 완전 정복 - 기본편
강의자료 어딨나요
수업자료가 잘못된것같은데요?? 첫강의 git commit 으로 시작하는 파일이없습니다. 질문1이 연속통합시스템의 주요구성요소는 무엇일까요입니다
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
Terraform 코드 동기화
안녕하십니까? 강의 잘 듣고 있습니다.초기 인프라 구성시 terraform 코드를 구성하고 apply하여 생성이 되었습니다. 이후 자원에 대한 추가.삭제를 terraform코드를 통해서 하지 않고, 클라우드 콘솔에서 직접 작업하여 현재 테라폼코드와 일치하지 않고 있는 상태입니다. 인프라 규모는 대규모가 아니고 소규모로 운영되고 있는 상태입니다.최초에 apply하신 분이 로컬에 별도 경로에 state파일은 생성하신것 같습니다. 현재 클라우드 콘솔에 있는 정보와 현재 테라폼코드(수정을 해야겠죠)를 효과적을 맞출 수 있는 팁이 있으시다면 부탁드립니다^^(참고로, GCP환경입니다)
-
미해결중급, 활용편 #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언제나 강의 잘 듣고 있습니다.다음 강의들도 기대하겠습니다. 감사합니다.
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
생성한 유저로 로그인한 후, MFA 등을 등록하면 plan이 달라지네요
aws 유저를 코드로 생성했습니다.이후 해당 유저가 로그인하고, MFA 등의 보안 설정을 추가했습니다.설정 추가한 이후에는 아래처럼 기존 플랜과 다른점이 나오네요.콘솔에서 생성한 이런류의 변경 사항은 받아줘도 되겠죠..?# aws_iam_user.userX will be updated in-place ~ resource "aws_iam_user" "userX" { id = "userX" name = "userX" ~ tags = { - "AKIA3RPN5MFQJHDZCI6E" = "galaxy A34" -> null } ~ tags_all = { - "AKIA3RPN5MFQJHDZCI6E" = "galaxy A34" -> null } # (4 unchanged attributes hidden) }
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IRSA 의 토큰이 최대 24시간인데 만료되면 어떻게 되나요?
안녕하세요우선 좋은 강의 감사합니다. 강의 시청 중 IRSA 부분을 진행 중인데, 웬만한 것들은 이해가 되는데 한가지 궁금한 것이 있습니다.결국 파드가 AWS 리소스에 접근할 수 있는 토큰을 특정 마운트 경로에 가지고 있는 것인데, 임시 자격 증명은 영구적인 것이 아니고 최대 24시간까지만 유지가 되는데, 이 유효 시간이 지나면 어떻게 되나요? 예를 들어 파드 A 는 S3 에 접근을 해야 해서 IRSA 를 사용하고 있습니다. 최대 만료 시간인 24시간 지난 후에도 여전히 S3 에 접근이 가능한데, 이게 왜 가능한지가 궁금합니다. 무언가 토큰을 갱신해주는 쿠버네티스 컨트롤러나 오퍼레이터 같은 것이 있는 걸까요?(근데 암만 찾아봐도 mutatingwebhookconfigurations 의 pod-identity-webhook 외에는 관련된 것을 못찾겠네요 ㅜㅜ)
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
18강 Function 활용하기
18강의 vpc에 들어가서 backend의 s3 bucket을 제 bucket으로 고쳐도 계속 403 에러가 떠서 문의 드립니다 , key도 바꿔봤고, dynamo_db의 이름도 바꿨는데도 error message는 s3 bucket에 대한 error만 뜨네요
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
default tags , 리소스에 tags 중복 문의
안녕하세요영상에서 default_tags = resource tags가 중복되면 duplicated 에러가 발생한다고 해주셨는데, 제가 재현해보면 중복돼도 에러없이 배포가 됩니다.aws provider는 5.57, terraform은 1.9.1 버전 사용중입니다.해당 링크를 보면 5.0.0 버전부터 중복 가능하게 수정됐다는 내용이 있는 것 같은데 강의 촬영 당시와 현재 버전 차이로 배포가 되는걸까요??