묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024] [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와 연결을 할때도 액세스 토큰이 필요해서 이부분은 어떻게 설정해야 하나요?
-
해결됨[2024] 실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IRSA 의 토큰이 최대 24시간인데 만료되면 어떻게 되나요?
안녕하세요우선 좋은 강의 감사합니다. 강의 시청 중 IRSA 부분을 진행 중인데, 웬만한 것들은 이해가 되는데 한가지 궁금한 것이 있습니다.결국 파드가 AWS 리소스에 접근할 수 있는 토큰을 특정 마운트 경로에 가지고 있는 것인데, 임시 자격 증명은 영구적인 것이 아니고 최대 24시간까지만 유지가 되는데, 이 유효 시간이 지나면 어떻게 되나요? 예를 들어 파드 A 는 S3 에 접근을 해야 해서 IRSA 를 사용하고 있습니다. 최대 만료 시간인 24시간 지난 후에도 여전히 S3 에 접근이 가능한데, 이게 왜 가능한지가 궁금합니다. 무언가 토큰을 갱신해주는 쿠버네티스 컨트롤러나 오퍼레이터 같은 것이 있는 걸까요?(근데 암만 찾아봐도 mutatingwebhookconfigurations 의 pod-identity-webhook 외에는 관련된 것을 못찾겠네요 ㅜㅜ)
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
default tags , 리소스에 tags 중복 문의
안녕하세요영상에서 default_tags = resource tags가 중복되면 duplicated 에러가 발생한다고 해주셨는데, 제가 재현해보면 중복돼도 에러없이 배포가 됩니다.aws provider는 5.57, terraform은 1.9.1 버전 사용중입니다.해당 링크를 보면 5.0.0 버전부터 중복 가능하게 수정됐다는 내용이 있는 것 같은데 강의 촬영 당시와 현재 버전 차이로 배포가 되는걸까요??
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
테라폼으로 람다 형상 관리 방법
안녕하세요모든 리전 알람에 람다.tf 강의 버전으로 배포하면 람다 콘솔에서 코드를 수정하는 경우 테라폼으로 추적이 안되더라구요.변경점을 추적하는 방법을 찾아보니, 대충 테라폼에서 배포할 때 zip 형태로 말아 배포할때마다 hash값을 비교해서 변경을 감지한다는거 같은데 이도 사실 제가 정확히 이해했는진 모르겠네요.사실 저는 개인적으로 람다가 워낙 자주 수정되니 그냥 최초 배포할 때 이후로 따로 추적은 안하고 git 같은 곳에서 버전관리를 하면 되지 않을까라고 생각합니다.아니면, 람다 함수를 git, s3 등에서 버전을 관리하고 테라폼 모듈에서 source를 git or s3와 같이 지정해주면 될 것 같은데 실제 운영하실 땐 어떤 방식으로 테라폼으로 관리하는지 궁금합니다
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
강의 순서 문의
강의 추천을 받아 구매하게 되었습니다. 무료 강의 + 구매한 강의 총 4개가 있는데 4개 순서를 어떤식으로 들으면 좋을지 문의드립니다. 감사합니다.
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
람다 캐싱 질문
안녕하세요. 4-10 강의를 보고 질문드립니다.람다는 stateless 방식으로 실행된다고 알고 있었는데, 전역 변수가 캐싱이 된다고 설명해주신 이유는 해당 프로젝트 같은 경우 모든 알람이 발생할때마다 실행되니, coldstart가 발생하지 않는다라는걸 전제하에 말씀해주신걸까요? 아니면 람다 자체에서 내부적으로 어떠한 동작에 의해 캐싱이 이루어지는건가요?===이 프로젝트는 모든 알람이 발생할 때마다 람다가 실행되니 coldstart로 응답이 느려질거 같진 않은데요, 만약 5~10분마다 실행되는 람다 함수라면 coldstart에 대한 대책으로 3분정도 주기마다 eventbridge로 람다를 트리거해주는 것도 방법이 될까요?
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
webhook 단점
안녕하세요slack 부분 구성이 좀 궁금해서 일단 해당 부분 강의만 봤는데Webook 단점 영상 중에 강사님이 만드신 Alert이 왔을때 생기는 버튼 및 Log에 대한 쓰레드를 달 수있는 기능은 webhook으로 불가능하다 하셨는데요.그렇다면, 저 기능을 이용하려면 Webhook말고 어떤 기능을 이용해야하나요?감사합니다.
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
for_each 사용 시 key를 가져오는 기준
안녕하세요key로 리소스 유무를 판단하니 중복되면 안된다고 생각해 테스트해보려고 중복된 key를 넣어주고 for_each로 가져오니 상위 key를 가져오는거 같지 않아서 별도 기준이 있는지 그냥 랜덤인지 궁금하여 질문드립니다. # countvariable "user_count" { type = list(string) default = ["hb", "terraform", "aws"] } resource "aws_iam_user" "user" { count = length(var.user_count) name = "${var.user_count[count.index]}-${count.index}" }배포 시 hb-0, terraform-1, aws-2 생성 (리스트의 인덱스 순서대로 가져옴) # for_eachvariable "user_map" { type = map(string) default = { "hb" = "/good/" "terraform" = "/nice/" "hb" = "/bad/" } } resource "aws_iam_user" "users" { for_each = var.user_map name = each.key path = each.value }배포 시 아래와 같이 생성"hb" : "/good"이 아닌 "hb" : "/bad"가 생성 key가 중복되면 중복되는 key는 제외되어 loop는 실제로 2번만 도는걸까요?
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
ModuleNotFoundError: No module named 'pprint' 에러
안녕하세요파이썬 사용 중 제목과 같은 에러가 발생하는데, 따로 건드린 설정 등은 없습니다. 에러는 pip --version, python -m pip install --upgrade pip 등을 사용할 때 발생하고 일반 파이썬 파일 실행 시엔 발생하지 않습니다. (ppirnt 라이브러리 사용시엔 실행x)에러가 발생하는 파이썬 디렉터리에 보니 pprint_1.py 로 되어 있어 pprint.py로 변경하니 에러는 해결되었습니다.혹시 이렇게 파이썬 기본 라이브러리명이 변경되는 경우가 있나요??
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
모듈 vs 리소스
안녕하세요콘솔에서 리소스를 생성하는건 익숙하지만, 테라폼은 이제 막 시작한 경우라면 1, 2번 중 어떤게 더 테라폼 동작 구조를 파악하면서 이해할 수 있는지 궁금합니다.모듈 사용없이 각각의 리소스.tf 을 생성하고 타 리소스에서 참조가 필요한 항목들만 output으로 출력하여 배포처음부터 모듈 형태로 작성하여 배포aws 콘솔로만 주로 작업을 했다보니 리소스들의 옵션은 문서를 보면 어느정도 이해할 수 있는 정도이고, 테라폼 사용 경험은 폴더 분리 없이 한 폴더 내의 resource.tf (ecs.tf, ecr.tf) 를 모두 생성하고 배포해본 정도만 있습니다. 모듈은 경험x
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
s3 bucket 생성 에러
안녕하세요 너무 질문을 자주 올리는거 같아 민망하네요 ㅎㅎ..강의 수강 중 궁금한 점이 있어 질문드립니다. s3 배포 시 제약조건?멀티 프로바이더 부분에서 s3 배포 시, 서울 리전에만 배포가 안됩니다. (still creating 무한루프)제가 배포하려는 코드는 아래와 같습니다.# provider.tf provider "aws" { region = "ap-northeast-2" } provider "aws" { alias = "apne3" region = "ap-northeast-3" } # main.tf resource "aws_s3_bucket" "apne2" { bucket = "tf-apne2-hb" } # 오사카 리전 resource "aws_s3_bucket" "apne3" { bucket = "tf-apne3-hb" provider = aws.apne3 }서울 리전에 배포할 때 해당 버킷명을 사용할 때만 배포가 안되며, 다른 버킷명이나 다른 리전에 배포하면 잘 배포가 됩니다. 콘솔에서 위와 동일하게 생성해보면 "the ap-northeast-2 location constraint is incompatible for the region specific endpoint this request was sent to." 와 같은 에러가 떨어지는데 처음보는 경우라 혹시 알고 계신게 있는지 궁금해서 질문 남깁니다. vpc 배포 후 provider 변경 resource "aws_vpc" "apne2" { cidr_block = "10.0.0.0/16" } resource "aws_vpc" "apne3" { cidr_block = "10.0.0.0/16" }위처럼 배포 시 서울 리전에 vpc가 2개 생성됐습니다.이후 apne3 vpc 리소스에 provider = aws.apne3을 추가한 후 plan 해보면 서울 리전에 vpc가 삭제되고 오사카 리전에 생기는게 아닌, 서울 리전에도 남고 오사카 리전에도 새로 추가가 됩니다.tfstate 파일에서도 provider와 속성값들이 변경은 되는데 기존 리소스는 왜 삭제되지 않는지 궁금합니다. 추가로 제가 질문을 거의 매일 남기는거 같아서 좀 죄송스럽습니다. 차라리 큰 챕터가 끝낼따마다 궁금한걸 정리한 후 한번에 질문드리면 더 나으실까요??
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
terraform import 관련 질문
안녕하세요콘솔에서 배포한 aws 리소스들을 테라폼으로 관리하려고 한다면, 배포된 모든 리소스들을 하나씩 import한 후 plan해보면서 변경점을 찾아 코드화시키는 방법밖에 없을까요?리소스가 많으면 이런 작업도 공수가 꽤나 들어갈 것 같은데 다른 방법이나 툴같은게 있는지 궁금합니다. 찾아보니 terraformer로 가져올 수 있는거 같은데, 얘를 사용해도 일부 커스텀이 좀 필요한 것 같아 보입니다.실제 업무에서는 어떤 식으로 해결하는지 궁금하여 질문드립니다.
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
generate expression 사용 예시
안녕하세요 1.14 generator expression 강의 내용 중에서 athena로 s3의 저장된 로그를 쿼리하여 로그를 긁어온다는 예시에서 2가지 궁금증이 있습니다. 아테나로 긁어온 로그의 용량이 큰 경우, 리스트 컴프랜션으로 올리면 메모리를 많이 차지한다고 말씀해주셨습니다.아테나 쿼리 결과는 보통 s3에 저장되는데, 람다를 예시로 들으신 이유는 어떤 워크플로우를 생각하시고 예시로 들으신건지 궁금합니다.(람다로 아테나 쿼리 결과를 읽고 특정 형태로 파싱하는 경우, 파일을 리스트 컴프랜션으로 읽으면 람다의 메모리를 오바하여 람다가 죽는 경우를 말씀해주신걸까요?)임시스토리지에 저장해서 generate expression을 통해 읽어온다는 부분에서 궁금한 점입니다.레디스로 예를 들면 아테나 쿼리 결과를 [{"key" : "value"}]와 같이 레디스에 저장해둔 후 필요 시 데이터를 generate expression을 사용해서 읽어 온다는 걸까요? 저같은 경우 아테나는 단순 로그 파일을 조회하는 용도로만 사용해 보았고, 람다와 연동해서 사용해 본 경험이 없어 예시로 들어주신 사례가 어떤 상황인지 명확하게 떠오르지가 않습니다.이런 부분은 검색을 통해 개인적으로 찾아봐야 되는게 맞는데, 어떤 키워드로 검색해야 하는지 감이 잘 안와서 질문드리게 됐습니다.
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
boto3 라이브러리 사용 시 에러
안녕하세요 boto3 라이브러리를 처음 사용하는 강의에서 import한 라이브러리(boto3)와 실행하는 파이썬 파일(boto3.py)의 이름이 동일한데 어떻게 실행이 되는건가요 ?? 일반적으로 파이썬 사용할 때 라이브러리명과 파일명이 동일하면 AttributeError 에러가 발생하던데 강의에선 별 다른 제약 없이 실행이 되는거 같아 질문드립니다.
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
강의 교안
강의 교안은 없는 건가요? 못잧겠어요. 어느경로에 있나요 ?
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
DooD, DinD 또는 Kaniko 외 다른 방법은 없는걸까요?
안녕하세요 지식 공유자님 :) 또 이렇게 질문을 남깁니다 ㅜㅜ (질문이 많아 죄송합니다...) 이미지를 빌드할 때 DooD, DinD 을 섞어서 사용하거나 Kaniko 를 사용한다고 하셨는데,DooD + DinD 는 privileged 문제, Kaniko 는 빌드 속도 문제를 보완한 프로젝트 같은 것이 아예 없는 것인지 궁금합니다. DooD + DinD 를 사용해도 privileged 문제가 완전히 해결되지 않을텐데, 이를 감안하고 사용하나요?
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
Kaniko 의 한계 부분에 대한 질문
안녕하세요 지식공유자님 소중한 지식 공유 감사드립니다! 강의를 들으면서 아래 빨간 부분이 이해가 잘 가지 않는데, 조금 더 구체적으로 설명해주실 수 있을까요?외부에서 빌드하고 CI/CD 이 끝난 후에 Kaniko 로 빌드한다는 것이 잘 이해되지 않습니다 ㅜㅜ
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
artifacts 에 대한 질문이 있습니다!
안녕하세요 지식공유자님 수준 높은 강의를 제공해주셔서 감사합니다! gitlab-sast 같은 내용을 artifacts 로 업로드에서 사용하시던데,artifacts 에 업로드 되는 내용으로 라이브러리 같은 것도 괜찮은가요? artifacts 를 cache 처럼 사용해도 되는건가요? 예를들어 python3.8 를 CI/CD 가 실행될 때마다 직접 빌드를 하게되는데, 10분 정도가 소요된다고 했을때,오래 걸리니, 한번 빌드 후 artifacts 에 업로드한 것을 다운 받아 사용하는 겁니다. (라이브러리 캐싱 처럼)
-
해결됨[2024] 실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IAM 사용자별 EKS 접근 권한 추가 방법
안녕하세요. 강의를 듣다보니 궁금하여 문의드립니다.현업에서 IAM role에 따라서 EKS 접근 권한을 제한하여 동작을 시키고 싶을때 어떻게 하면 될까요? PL 에게는 EKS 모든 권리를 주고developer에게는 EKS 특정 pod 만 생성할수 있고 수정할수 있는 권한을 주고operator에게는 pod를 읽을수 있는 권한만 주려고할때 어떻게해야할지 모르겠네요. 찾아본 바로는 IRSA와 RBAC을 절적히 사용하면 된다고하는데 잘모르겠네요. 만약에 권한을 주는 것도 level 0, level 1, level 2 같이 권한으로 디자인하고 PL은 level 2 권한을 주고sub PL, develope는 level 1 권한을 주고 operator와 tester는 level 0를 주어 권한을 제한할수도 있을까요? IAM role을 가져올때 이 사람이 PL인지 아니면 sub PL인지 developer인지 구분할수 있는 방법이 있을까요? 강의 들어도 잘 모르겠네요. ㅜㅜ
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
boto3 사용자 생성 질문입니다.
AWS에서 계정을 생성하려고 하면 아래와 같은 오류가 발생하는데 어떤 문제일까요? 액세스키와 비밀키까지 모두 적용 되어 있는 상태인데... 강의 안에는 내용이 없는거 같아 문의드립니다. 4. 작성한 코드를 공유해주세요.