묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
모듈 vs 리소스
안녕하세요콘솔에서 리소스를 생성하는건 익숙하지만, 테라폼은 이제 막 시작한 경우라면 1, 2번 중 어떤게 더 테라폼 동작 구조를 파악하면서 이해할 수 있는지 궁금합니다.모듈 사용없이 각각의 리소스.tf 을 생성하고 타 리소스에서 참조가 필요한 항목들만 output으로 출력하여 배포처음부터 모듈 형태로 작성하여 배포aws 콘솔로만 주로 작업을 했다보니 리소스들의 옵션은 문서를 보면 어느정도 이해할 수 있는 정도이고, 테라폼 사용 경험은 폴더 분리 없이 한 폴더 내의 resource.tf (ecs.tf, ecr.tf) 를 모두 생성하고 배포해본 정도만 있습니다. 모듈은 경험x
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (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와 속성값들이 변경은 되는데 기존 리소스는 왜 삭제되지 않는지 궁금합니다. 추가로 제가 질문을 거의 매일 남기는거 같아서 좀 죄송스럽습니다. 차라리 큰 챕터가 끝낼따마다 궁금한걸 정리한 후 한번에 질문드리면 더 나으실까요??
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
terraform import 관련 질문
안녕하세요콘솔에서 배포한 aws 리소스들을 테라폼으로 관리하려고 한다면, 배포된 모든 리소스들을 하나씩 import한 후 plan해보면서 변경점을 찾아 코드화시키는 방법밖에 없을까요?리소스가 많으면 이런 작업도 공수가 꽤나 들어갈 것 같은데 다른 방법이나 툴같은게 있는지 궁금합니다. 찾아보니 terraformer로 가져올 수 있는거 같은데, 얘를 사용해도 일부 커스텀이 좀 필요한 것 같아 보입니다.실제 업무에서는 어떤 식으로 해결하는지 궁금하여 질문드립니다.
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
generate expression 사용 예시
안녕하세요 1.14 generator expression 강의 내용 중에서 athena로 s3의 저장된 로그를 쿼리하여 로그를 긁어온다는 예시에서 2가지 궁금증이 있습니다. 아테나로 긁어온 로그의 용량이 큰 경우, 리스트 컴프랜션으로 올리면 메모리를 많이 차지한다고 말씀해주셨습니다.아테나 쿼리 결과는 보통 s3에 저장되는데, 람다를 예시로 들으신 이유는 어떤 워크플로우를 생각하시고 예시로 들으신건지 궁금합니다.(람다로 아테나 쿼리 결과를 읽고 특정 형태로 파싱하는 경우, 파일을 리스트 컴프랜션으로 읽으면 람다의 메모리를 오바하여 람다가 죽는 경우를 말씀해주신걸까요?)임시스토리지에 저장해서 generate expression을 통해 읽어온다는 부분에서 궁금한 점입니다.레디스로 예를 들면 아테나 쿼리 결과를 [{"key" : "value"}]와 같이 레디스에 저장해둔 후 필요 시 데이터를 generate expression을 사용해서 읽어 온다는 걸까요? 저같은 경우 아테나는 단순 로그 파일을 조회하는 용도로만 사용해 보았고, 람다와 연동해서 사용해 본 경험이 없어 예시로 들어주신 사례가 어떤 상황인지 명확하게 떠오르지가 않습니다.이런 부분은 검색을 통해 개인적으로 찾아봐야 되는게 맞는데, 어떤 키워드로 검색해야 하는지 감이 잘 안와서 질문드리게 됐습니다.
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
boto3 라이브러리 사용 시 에러
안녕하세요 boto3 라이브러리를 처음 사용하는 강의에서 import한 라이브러리(boto3)와 실행하는 파이썬 파일(boto3.py)의 이름이 동일한데 어떻게 실행이 되는건가요 ?? 일반적으로 파이썬 사용할 때 라이브러리명과 파일명이 동일하면 AttributeError 에러가 발생하던데 강의에선 별 다른 제약 없이 실행이 되는거 같아 질문드립니다.
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
강의 교안
강의 교안은 없는 건가요? 못잧겠어요. 어느경로에 있나요 ?
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
DooD, DinD 또는 Kaniko 외 다른 방법은 없는걸까요?
안녕하세요 지식 공유자님 :) 또 이렇게 질문을 남깁니다 ㅜㅜ (질문이 많아 죄송합니다...) 이미지를 빌드할 때 DooD, DinD 을 섞어서 사용하거나 Kaniko 를 사용한다고 하셨는데,DooD + DinD 는 privileged 문제, Kaniko 는 빌드 속도 문제를 보완한 프로젝트 같은 것이 아예 없는 것인지 궁금합니다. DooD + DinD 를 사용해도 privileged 문제가 완전히 해결되지 않을텐데, 이를 감안하고 사용하나요?
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
Kaniko 의 한계 부분에 대한 질문
안녕하세요 지식공유자님 소중한 지식 공유 감사드립니다! 강의를 들으면서 아래 빨간 부분이 이해가 잘 가지 않는데, 조금 더 구체적으로 설명해주실 수 있을까요?외부에서 빌드하고 CI/CD 이 끝난 후에 Kaniko 로 빌드한다는 것이 잘 이해되지 않습니다 ㅜㅜ
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
artifacts 에 대한 질문이 있습니다!
안녕하세요 지식공유자님 수준 높은 강의를 제공해주셔서 감사합니다! gitlab-sast 같은 내용을 artifacts 로 업로드에서 사용하시던데,artifacts 에 업로드 되는 내용으로 라이브러리 같은 것도 괜찮은가요? artifacts 를 cache 처럼 사용해도 되는건가요? 예를들어 python3.8 를 CI/CD 가 실행될 때마다 직접 빌드를 하게되는데, 10분 정도가 소요된다고 했을때,오래 걸리니, 한번 빌드 후 artifacts 에 업로드한 것을 다운 받아 사용하는 겁니다. (라이브러리 캐싱 처럼)
-
해결됨실무에서 사용중인 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인지 구분할수 있는 방법이 있을까요? 강의 들어도 잘 모르겠네요. ㅜㅜ
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
boto3 사용자 생성 질문입니다.
AWS에서 계정을 생성하려고 하면 아래와 같은 오류가 발생하는데 어떤 문제일까요? 액세스키와 비밀키까지 모두 적용 되어 있는 상태인데... 강의 안에는 내용이 없는거 같아 문의드립니다. 4. 작성한 코드를 공유해주세요.
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
App Runner 서비스 생성 시 실패
1. 무엇을 하고 싶으신가요? App Runner 서비스 생성2. 언제, 어떤 오류가 발생하시나요? 생성 중 애플리케이션 배포 실패3. 어떤 시도를 해보셨나요? 도커 이미지 재생성 및 App Runner 서비스 재생성, App Runner 스펙업(cpu,mem), iam, root 계정에서 생성 시도(권한 문제는 아닌듯)4. 작성한 코드를 공유해주세요.이슈:hands-on-fast-and-secure-cicd-pipeline 깃헙 클론 - 도커파일 경로에서 도커 이미지 생성 - ecr에 푸시 - ecr 이미지 url 이용하여 App Runner 서비스 생성 시 생성 실패하는 상황입니다.의심 되었던 부분:1. 컨테이너 이미지나 포트 설정에 문제가 있었다면 localhost:8080으로 접속해도 문제가 생겼을텐데 문제 없이 접속 가능하고요.2. App Runner의 리소스 제한이 있었을까봐 cpu, mem을 스펙업하고 재생성 했는데도 상황은 동일합니다.3. 계정 간 권한의 문제일까봐 iam, root 계정에서 생성해보았습니다. 상황은 동일합니다. 스샷:에러 로그:02-16-2024 06:37:27 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c started. Triggering event : SERVICE_CREATE02-16-2024 06:37:27 PM [AppRunner] Deployment Artifact: [Repo Type: ECR], [Image URL: 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest], [Image Tag: latest]02-16-2024 06:37:51 PM [AppRunner] Pulling image 938923105461.dkr.ecr.us-east-1.amazonaws.com/chadtest from ECR repository.02-16-2024 06:37:54 PM [AppRunner] Successfully pulled your application image from ECR.02-16-2024 06:38:05 PM [AppRunner] Provisioning instances and deploying image for publicly accessible service.02-16-2024 06:38:15 PM [AppRunner] Performing health check on protocol TCP [Port: '8080'].02-16-2024 06:39:06 PM [AppRunner] Your application stopped or failed to start. See logs for more information. Container exit code: 102-16-2024 06:39:28 PM [AppRunner] Deployment with ID : 7b4ba5a1c8f0433187d873df5bd1aa8c failed.제가 겪은 이슈와 같은 상황을 겪고 있는 유저:https://repost.aws/ko/questions/QU0lse8IEMSi-H4mlp5AAFWw/apprunner-failed-to-deployhttps://komodor.com/learn/exit-codes-in-containers-and-kubernetes-the-complete-guide/이게 유력한 원인으로 보이는데요...이게 아니라면 App Runner가 업데이트 되어 강의의 생성 내용과 달라져서 그런 것 인지...흠...혹시 App Runner 부분이 정상적으로 진행되지 않는다면 이후 강의에 차질이 생길까요??
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
pip로 패키지를 설치했음에도 import 오류가 납니다. 어떻게 해야 할까요?
기존 질문이 삭제되어 헷갈리실 다른 분들을 위해 자문자답 형태로 남겨둡니다.Python의 경우 어느 곳에서 다운로드 받느냐에 따라 다양한 경로에 다양한 버전이 생길 수 있습니다. 첨부해주신 사진을 봤을 때,/usr/bin/python3를 통해 boto3를 import 하시려면, /usr/bin/pip3를 통해 boto3를 다운로드 해주셔야 될 것 같습니다.( /usr/bin/python3 를 입력해서 실행했을 때와 python3를 입력했을 때 버전을 비교해보시면 좋습니다.)간단한 해결 방법으로는 /usr/bin/python3가 아닌 그냥 python3로 실행해주시면 될 것 같습니다. 만약 해결되지 않는다면, 현재 boto3가 설치된 경로에 있는 Python 실행 파일을 통해 파일을 실행해주시면 됩니다. 이런 번거로운 절차가 귀찮으시면, 1.3. Python 실행 단축키 설정을 참고하셔서 실행 설정을 해주시고,vscode에서 cmd + shift + p 입력 후, Python: Select Interpreter를 입력해주신 후에실행하고 싶은 Python3 경로를 선택해주시면 됩니다.또는, 우측 하단에 아래 그림과 같이 나오는 부분에서 버전을 클릭하시면 위 그림이 나오게 됩니다. 이후에는 cmd + enter를 통해 쉽게 실행 가능합니다!해보시고 안되시면 다시 말씀 부탁드리겠습니다.
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
강의 자료 문의
'실무에서 사용중인 AWS 클라우드 IAM 이해와 보안' 강의 자료를 다운로드하였는데 압축폴더에 아무 내용이 없습니다 확인해주시면 감사합니다
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
3.2. 왜 리소스 기반 정책은 Deny로 해야되나요? 부분이 잘 이해되지 않습니다.
3.2. 왜 리소스 기반 정책은 Deny로 해야되나요?에서 동일계정에서 권한을 부여한다는 말씀이 정확히 어떤 말씀이신건가요? 계정이 다른 경우에는 b라는 리소스를 사용하기 위해서는 사용자 a와 b리소스 모두 서로 권한을 allow해야 한다는 것까지는 이해했습니다.(c계정은 b리소스를 사용할 수 없음, 그림은 다 a계정으로 되어있어서 이 부분도 약간 혼란스러웠네요. 제가 이해한게 맞을까요?) 그런데 동일 계정'에서' 권한을 부여하는 경우 문제가 생긴다는 게 정확하게 어떤 뜻인지 이해가 가지 않습니다.예를 들어 a 계정이 b 리소스에 s3:GetObject라는 권한을 허용하면 a가 b에게 권한 설정을 했으므로, a 자체가 해당 리소스에 대한 권한이 없더라도 b리소스에 대한 접근이 가능하다는 건가요? (만일 b계정이 권한을 부여한다면 a는 접근이 불가능한거구요) '여기에 밑에 설명에 a라는 사용자에게 권한이 있으면 무용지물이 됨'이라고 되어있어서 어떤 말씀을 하시는지 잘 이해가 되지 않습니다! 초보자인 저에게 좀 더 친절한 설명을 주시면 감사하겠습니다! (혼자서 이해해보고자 chatGPT에게도 문의해보았습니다 ㅎㅎ)
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
제상황을 좀 더 자세히 적겠습니다.
윈도우 환경입니다. C:\terraform\terraform.exe테라폼 파일은 위 폴더에있습니다. 위 사진처럼 해당 폴더에 Terraform 폴더를 만들고해당 폴더에 main.tf 파일을 생성했습니다. main.tf파일내용은provider "aws" { region = "ap-northeast-2"} 입니다. terraform init 명령어를 치면 아래와같은메시지가 나옵니다. C:\terraform>terraform initTerraform initialized in an empty directory!The directory has no Terraform configuration files. You may begin workingwith Terraform immediately by creating Terraform configuration files. 위 내용을 구글링해보면테라폼 프로젝트가 아닌곳에서 커멘드를 치면 위와같은에러가난다고 하는데 테라폼 프로젝트가 해당 디렉토리가 맞습니다..(스크린샷 참조) 어디가 잘못된것일까요편집기에도 인식을 못했는지 색상이 변화가 없습니다(글씨)
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
영상을 아무리 찾아봐도
테라폼 폴더 구성하는것은 보이지가않네요강사님의 VS내에 보이는 Terraform 폴더는 어디서 나타난걸까요..
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
질문입니다
1. 무엇을 하고 싶으신가요? 영상 01:57분에 나오는 Terraform 디렉토리는직접 만드신건가요?제가 직접 만드니 아이콘이 생기지 않습니다. 영상을 계속 하나씩 따라하다가 01:57분에 모르는폴더가 갑자기 생기고 main.tf에 코드를 넣으니 영상처럼 나오지않네요 2. 언제, 어떤 오류가 발생하시나요? 저는 윈도우 환경에서 하고있습니다.terraform.rc 파일내에 plugin_cache_dir = "/Users/incle/AppData/Roaming/terraform.d/plugin_cache"를 셋팅하였습니다. 이후 terraform init 을 명령어에 치면셋팅은 완료되었으나 영상에서럼 폴더가 생성되지 않습니다. 답답하네요 3. 어떤 시도를 해보셨나요? 4. 작성한 코드를 공유해주세요.
-
해결됨실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
질문입니다
1. 무엇을 하고 싶으신가요? 디렉토리가 없다고 나옵니다 2. 언제, 어떤 오류가 발생하시나요? incle@incleuicBookPro ~ % mkdir -p /Users/incle/.terraform.d/plugin-cache위명령어를 통해 디렉토리를 생성했습니다. incle@incleuicBookPro terra % terraform initTerraform initialized in an empty directory!The directory has no Terraform configuration files. You may begin workingwith Terraform immediately by creating Terraform configuration files.incle@incleuicBookPro terra % terraform initTerraform initialized in an empty directory! 3. 어떤 시도를 해보셨나요?강의 내용에 있는 걸 그대로 붙여넣었고테라폼인잇 명령어를 친결과입니다. 4. 작성한 코드를 공유해주세요.provider "aws" { region = "ap-northeast-2" } data "aws_caller_identity" "current" {} output "account_id" { value = data.aws_caller_identity.current.account_id } output "caller_arn" { value = data.aws_caller_identity.current.arn } output "caller_user" { value = data.aws_caller_identity.current.user_id }
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
강의순서 문의
https://www.inflearn.com/course/%EC%8B%A4%EB%AC%B4-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%B3%B4%EC%95%88-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D 이 강의와 https://www.inflearn.com/course/%EC%8B%A4%EB%AC%B4%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EC%A4%91%EC%9D%B8-aws%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-iam-part1 이 강의 둘다 구입했습니다 어떤걸 먼저 듣는게 나을까요?