묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
도메인 구매 시, AWS 결제 이력이 없으면 실패하니 참고바랍니다.
강의 진행을 위해 처음으로 AWS에 e2를 등록하고 진행 중인데요.이 강의를 따라 도메인 구매를 진행하려 하니까.실패했는데아무래도 최소 한 번의 결제 내역이 필요한 것 같습니다.(당시 제가 aws에 문의하여 받은 답변은 이렇습니다"본 계정은 비교적 최근 생성된 계정으로 도메인 등록을 위해 지속적인 AWS 서비스 사용을 통한 안정적이고 충분한 결제 내역이 필요합니다. AWS 사용 이력이 더욱 쌓이면 고객님의 필요사항을 재검토할 수 있습니다.")한달 지나서 e2에 대한 결제가 이뤄지니까.도메인 구매에 성공했는데비슷한 문제가 있으신 분들 참고하면 좋을 것 같습니다.
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
terraform destroy 로 s3 bucket을 삭제할 경우
1. 무엇을 하고 싶으신가요?해당 실습을 조금 더 빠르고 간편하게 재현하고 싶어서 s3 bucket과 안에 오브젝트 파일을 생성하는 부분까지 테라폼 코드로 프로비저닝 하였습니다. 강의를 보며 결과까지 모두 확인을 하였고, 이제 위 리소스들을 전부 destroy 하고 싶습니다. 2. 언제, 어떤 오류가 발생하시나요?terraform apply를 할 경우,Role 3개와버킷, 버킷 정책, 오브젝트 파일총 6개의 리소스가 생성됩니다. terraform state list를 통해 관리 대상을 확인해보아도 6개의 리소스를 확인할 수 있습니다.그런데 terraform destroy 명령을 수행할 경우버킷을 제외한 5개의 리소스만 삭제 플랜에 출력되는 것을 확인하였고 이대로 진행할 경우결국 empty한 s3 bucket만 남아 따로 cli 명령이나 콘솔에서 삭제를 해주어야합니다. 3. 어떤 시도를 해보셨나요?내부 오브젝트 파일 때문이라는 가설을 세우고force_destroy = true속성을 true로 지정하였지만 버킷 내부 객체까지만 삭제되었고 버킷은 삭제되지 않습니다.이후 권한 문제라는 가설을 세워보았지만 s3 액세스 정책을 deny 기반으로 ListBucket을 지정하였기 때문에 해당 가설도 기각하였습니다. 4. 작성한 코드를 공유해주세요.data "aws_caller_identity" "this" {} # IAM Role resource "aws_iam_role" "this" { count = 2 name = "thbins-${count.index}" path = "/dev/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } resource "aws_iam_role" "this2" { name = "thbins-2" path = "/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } # S3 variable "bucket_name" { description = "S3 bucket name (must be globally unique)" type = string } resource "aws_s3_bucket" "test" { bucket = var.bucket_name force_destroy = true # 버킷 안에 객체를 생성하기 때문에 해당 속성을 true로 지정한다. } data "aws_iam_policy_document" "test_bucket" { statement { sid = "Statement1" effect = "Deny" principals { type = "AWS" identifiers = ["*"] } actions = [ "s3:ListBucket", ] resources = [ aws_s3_bucket.test.arn, "${aws_s3_bucket.test.arn}/*", ] condition { test = "StringNotLike" variable = "aws:PrincipalArn" values = [ # 여기서 account_id를 하드코딩하지 않고 자동으로 맞춰줌 "arn:aws:iam::${data.aws_caller_identity.this.account_id}:role/dev/*", ] } } } resource "aws_s3_bucket_policy" "test" { bucket = aws_s3_bucket.test.id policy = data.aws_iam_policy_document.test_bucket.json } resource "aws_s3_object" "test_file" { bucket = aws_s3_bucket.test.id key = "test_success.txt" content = "This is a test file for IAM path-based S3 access demo.\n" # 선택: 텍스트 파일임을 명시 content_type = "text/plain" }
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
화면에 보이는 서비스 역할 추가 방법
강의에서는 서비스 역할에 aws-elasticbeanstalk-service-role 들어가 있는데 저는 하려고 하면 없다고 나오고 옆에 버튼은 누르면 IAM으로 연결이 됩니다.강의영상 제화면강의화면처럼 뜨게 하려면 어떻게 해야 하는 건가요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Docker Containers간 통신 할 때 나타나는 에러 강의 질문
안녕하세요. Docker Containers간 통신 할 때 나타나는 에러 강의 를 듣고 있는데요. 강의중에서 컨테이너1 (노드 js 앱 + redis client) 컨테이너2(레디스서버) 라고 그림을 그려주셨는데요. 궁금한것이 레디스 서버는 왜 다른 컨테이너 안에 있나요? 하나의 docker file에 이미지 생성후 , 컨테이너를 만들어서 실행시킨건데 그러면은 하나의 container 안에 들어있는거 아닌가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
졸업 과제랑 학업에 너무 바빠서 강의를 전부 수강하지못하였습니다. 죄송하지만 수강 기간을 연장해주시면 감사하겠습니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
HTTPS 적용 전인데 HTTPS로 접속이 가능한 이유
이 강의를 통해 HTTPS를 적용하기 전에, CloudFront의 배포 도메인 이름(https://d3~~~~~~.cloudfront.net/)으로 접속을 해 봤는데 https가 적용이 됐었습니다. 이유가 무엇인가요? 이 강의에서 HTTPS를 적용하는 거랑, 적용 안 하고도 https로 접속이 되는 것이 어떠한 차이인지 궁금합니다! 강의 잘 보고 있습니다.
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
CloudFront 생성 시 HTTP와 HTTPS 관련 질문
여기선 HTTP 프로토콜을 선택하고 HTTP로 오면 HTTPS로 리다이렉트로 하겠다고 선택하였는데 이것이 의미하는 정확한 의미가 궁금합니다. 이 설정에선 HTTP만 허용하고, HTTP로 온 걸 HTTPS로 리다이렉트하긴 하지만, 사용자가 HTTPS 요청을 보내는 거에 대해선 허락하지 않은 건가요?
-
미해결스프링 부트와 리액트로 구현하는 보안 JWT 로그인
강의 자료를 제공해주실 수는 없을까요?
동영상 화면만 보면서 강의 자료를 확인하기에는 제가 원하는 부분을 실시간으로 확인하기가 어려운 점도 있고, 이후 복습하기도 어렵습니다. 강의 자료를 제공해주신다면 학습 하는 데에 시간을 많이 아낄 수 있을 것 같습니다.
-
미해결안정적인 수익 내는 코인 자동매매 봇 만들기 - 그리드전략 편
dotenv 로드 실패
안녕하세요.python 3.10 을 설치했고dotenv 설치했습니다.C:\Users\SDS>pip install python-dotenvCollecting python-dotenv Downloading python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB)Downloading python_dotenv-1.2.1-py3-none-any.whl (21 kB)Installing collected packages: python-dotenvSuccessfully installed python-dotenv-1.2.1 .env 파일에 API키 입력해줬구요그랬는데 app.py 실행하면 dotenv module 로딩이 안되는 것 같습니다.PS D:\autotrading> & C:/Users/SDS/AppData/Local/Programs/Python/Python310/python.exe d:/autotrading/app.pyTraceback (most recent call last): File "d:\autotrading\app.py", line 3, in <module> from dotenv import load_dotenv # 환경변수 관리ModuleNotFoundError: No module named 'dotenv'뭘 빠뜨린걸까요?
-
미해결인프런 클론코딩 Part 1: Next.js와 NestJS로 시작하는 실전 프로젝트
클릭할 때 화면 울렁거리는게 집중에 방해가 돼요
✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다.💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 강의화면에서 코드를 읽는데 클릭하실 때 화면이 울렁거려 심히 신경쓰이고 더구나 클릭하면 주변 크기가 늘어나는게 아니라 오히려 줄어드니까 글 읽기가 더 힘드네요...반드시 개선해주셨으면 합니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
ELB HTTPS 인증서 연결 후 EC2는 어떻게 처리하나요?
ELB로 도메인에 인증서 연결 후 EC2 인스턴스의 경우 여전히 IP로 접근이 가능한데, HTTP로 접근이 가능하기도하고... 혹시 어떻게 처리하나요?
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
https는 백엔드에도 적용해야하나요?
https는 백엔드에도 적용해야하나요?정말궁금합니다 ㅜㅜ프론트엔드만 설정하면될까요?
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
elb 강의듣던중 질문드립니다!
혹시 백엔드도 ngnix 랑 https 연결을해야하나요?
-
해결됨스프링 부트와 리액트로 구현하는 보안 JWT 로그인
정리된 문서도 받을 수 있을까요?
정리된 문서도 받을 수 있을까요?
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
Postman으로 응답받은 부분 질문 있습니다
Postman으로 요청을 보내는 게 첫 번째 사진에서 '사용자 -> EC2',그리고 2번째 사진인 Postman으로부터 받은 응답은 'EC2 -> 사용자' 맞죠? S3가 EC2엔 저 URL을 보내고, 서버에서 다시 가공해서 사용자에게 응답한 게 2번째 사진이 맞는지 궁금합니다. 좀 당연하다고 생각하고 있는데 혹시 제가 헷갈려서 틀렸을까 봐 확인차 질문드립니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
RAM & 스왑메모리 폭증하는 문제
안녕하세요! 강의 늘 잘 듣고 있습니다! CI/CD 배포하다가 서버가 자꾸 죽어서 스왑 메모리까지 도입을 했는데도 비정상적으로 RAM과 스왑메모리가 꽉 차는 이슈가 있는데 도저히 어떻게 해결해야할 지 몰라서 이렇게 질문 남깁니다! 서버 인프라 환경 ELB - EC2(t3.small, EBS: 30GiB)EC2 내부 : Docker 기반 Spring Boot + MySQL 8.0 + Redis문제 상황 어디가 구체적으로 문제인지 몰라서 그냥 구구절절 다 설명드릴게요.처음부터 CI/CD가 안된건 아닙니다. 원래 잘 됐었는데요.인증 도메인(일반/소셜 로그인) 정상 작동하는거 확인하고 push 해서 배포완료 후 docker-compose.yml 수정해서 push 하고나니까 갑자기 CICD 할때마다 서버가 다운되는 문제를 발견했습니다. yml 파일을 바꾸게 된 경위는, 토큰 받아오는 과정에서 에러 뜨는거 보고 docker-compose.yml에 redis 관련 환경변수를 등록하는걸 깜빡했구나 싶어서 그거 추가한게 다 입니다. 이게 전혀 문제가 안될텐데 이상하게 이 시점 이후로 계속 문제가 터져서 좀 난감합니다. 애플리케이션이래봤자 아직 인증도메인 & 유저 간단한 CRUD가 전부라서 무거울게 없기 때문에 t3.small로도 충분할거라 생각했지만, 혹시나 하는 마음에 t3.medium으로 scale up을 해봤습니다.그랬더니 이번엔 RAM 4GB와 Swap Memory를 5.9GB 까지 잡아먹는 비정상적인 현상이 계속 반복되더라구요. 혹시 한꺼번에 docker build를 해서 그런가 싶어서 container 별로 나눠서 빌드시키고 각 단계마다 sleep을 줘봤는데도 결과는 똑같았습니다. 아래가 이제 t3.small (Swap 4GB 설정)이구요 이게 t3.medium (Swap 6GB)입니다. (위와 로직이 좀 달라요. 근데 이러나 저러나 결과는 똑같아서..) 배포 관련 파일대상 : deploy.yml, docker-compose.yml, Dockerfile 글자 수 제한 이슈로 노션에다가 코드 올렸습니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link 질문 혹시 제 deploy.yml이나 docker-compose.yml 에 문제가 있나요? 메모리 80% 이상 차지하는게 전부 Docker 관련 프로세스여서요. Update 2: 테스트 결과에 따라 하단의 질문들이 원인이 아니라는게 검증됨아니면.. t3.small이 docker 기반 Spring Boot + MySQL + Redis를 빌드 못할 수준인가요? (아닐 것 같긴해요.) 아니면 제 인증 구현 방식에 문제가 있어서 저럴 수도 있는건가요? Redis 기반으로 Token에 블랙리스트 설정하고, 클라이언트한테 쿠키로 토큰 심어서 내보내는 방식인데, 혹시 이게 문제가 될 수도 있는건가요? 근데 로컬에서 redis 랑 스프링부트 가동하고 htop으로 메모리 변화를 봤을 땐 문제 없어보이긴 했습니다.긴 글 읽어주셔서 감사합니다. Update 1: EC2에 직접 실행해본 결과 EC2에서 docker-compose.yml을 그 안에다가 직접 만들어서 mysql, redis만 띄우고Spring Boot는 클론해서 환경변수 직접 세팅해주고 실행해봤습니다. 이는 혹시나 혹시나 애플리케이션이 너무 비정상적으로 설계되서 메모리를 많이 잡아먹진 않을까 하는 우려에 임시로 이렇게 세팅해뒀습니다.결과적으로 잘 돌아갑니다. 메모리가 1.36GB 정도 잡히긴 하지만...? 그래도 redis + mysql + spring boot 다 돌렸을 때 이정도고 Swap 메모리 있으니까 괜찮지 않을까 하는 판단 중입니다. (아니면 호되게 지적해주세요) 하단은 임시로 세팅하기 위한 docker-compose.yml 입니다.https://hooby.notion.site/CICD-OOM-2a6f6c063f3e805ba105d78284365fbe?source=copy_link한번 이것도 CI/CD로 돌려봐야겠긴 한데, 우선 문제가 됐던 deploy.yml과 docker-compose.yml에서 어떤 문제가 있었길래 저런 사태가 발생했던건지 알고싶습니다.Update 2: 우선 대안으로 SCP 활용 강의에서 초기 프로젝트에 좋다고 했던 방법대로 해결했습니다. CICD 과정에서 메모리는 900MB 미만 수준에서 안정적으로 돌았습니다. 근데 제가 원했던 설계는 Docker로 Spring Boot + MySQL + Redis 일원화였기 때문에 개발 완료되는대로 다시 찾아봐야겠습니다.https://hooby.notion.site/Server-Infra-Setup-Remodeling-2a8f6c063f3e808a8674fbc2a62cdd22?source=copy_link
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
AWS S3 버킷에 퍼블릭 액세스 차단을 해야 하는 경우?
사이트에 들어온 사용자가 화면에 뜨는 이미지들을 보려면 퍼블릭 액세스 차단을 다 풀어서 퍼블릭 액세스를 허용해야 한다면, 퍼블릭 액세스 차단을 해야 하는 경우는 어떤 상황일 때 사용하는 건지 궁금합니다. 현업에선 S3 버킷을 보통 여러 개 만들고, 퍼블릭 액세스 허용하는 버킷과 차단하는 버킷들로 나뉘나요?
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
로드밸런서 연결 실패
배포 슬랙연동까지 잘 됬는데, 마지막, 로드밸런서 DNS연결이 안됩니다.node version, port 등을 수정 했습니다.여러번 시도 해봤으나 잘 안되네요. 궁금합니다. FROM node:22-alpine WORKDIR /app COPY myapp/package*.json ./ RUN npm install COPY myapp/ ./ EXPOSE 3000 CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "5173"]{ "name": "myapp", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview", "start": "vite preview --host 0.0.0.0 --port 5173" }, "dependencies": { "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@eslint/js": "^9.36.0", "@types/react": "^19.1.16", "@types/react-dom": "^19.1.9", "@vitejs/plugin-react": "^5.0.4", "eslint": "^9.36.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.22", "globals": "^16.4.0", "vite": "npm:rolldown-vite@7.1.14" }, "overrides": { "vite": "npm:rolldown-vite@7.1.14" } }
-
해결됨[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
efs를 쓰는데 s3도 쓰는 이유가 궁금합니다.
정적 컨텐츠를 efs에 올려 놓고 써도 될 것 같은데 굳이 s3를 별개로 사용하는 이유가 궁금합니다.s3가 과금적인 면에서 대용량 파일을 다룰때 이점이 있는걸까요??
-
미해결프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)
SQL Sheell
SQL Sheell 깜빡 열렸다가 꺼지는데 postgresql-18.0-2-windows-x64 설치 해야 되나요?