묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
code deploy 배포입니다.
배포까지 잘 끝났고, s3파일 업로드로 잘됬습니다.여기도 문제없는것같고요...그런데...java구동이 안되는것 같습니다.. 이유가 뭘까요??
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
사용자 삭제가 안되는 이유
그림 보시면 사용자 삭제 버튼이 활성화 안되는 이유는 뭘까요??하위 정책도 없습니다.
-
미해결쉽게 설명하는 AWS 기초 강의
[리뉴얼]Amazon CloudFront 원본(Origin) S3 오류
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 동영상 강의와 동일하게 S3권한을 붙여넣기 하고 변경사항 저장을 누르면 권한에러가 나오는데IAM에서 S3에 권한을 주면되는건지 다른 방법으로 해야되는지 궁금해서 글 올립니다.
-
해결됨쉽게 설명하는 AWS 기초 강의
(실습)WordPress 서버 클러스터 구성 강의에서 파일 질문
강의에서 demo_3_tier_userdata.txt 파일의 16번째 줄 이랑 실습 자료에서의 파일이랑 내용이 다른거같아요. 실습파일에서는 다음처럼 되어있어요. aws s3 cp {s3_url} /var/www/html/wordpress --region ap-northeast-2
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
이미지 pull중 no basic auth credentials 문제입니다.
msa 프로젝트 중 각 마이크로 서비스의 이미지를 pull 하는 곳에서 문제가 생깁니다.err: ERROR: for seat-service Head "https://139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/v2/seat-service/manifests/1.0": no basic auth credentials이렇게 에러가 나오게 되네요... IAM 사용자 생성했고 권한 정책에 AmazonEC2ContainerRegistryFullAccess를 추가해줬습니다. 또한 이 사용자를 EC2에 연결까지 했습니다. 추가적으로 helper 설정을 위해 ./docker 폴더를 만들고 config.json에 "credsStore":"ecr-login"도 추가해주어 강의랑 매우 똑같이 만들었습니다. 이 deploy.yml 은 github action 코드입니다. 7번에서 이 오류가 발생하게 됩니다.======선을 기준으로 아래는 docker-compose.yml파일입니다. 이 문제를 어떻게 해결해야할까요? 또한 각 마이크로 서비스에 연결된 데이터베이스가 모두 maraiDB라면 이걸 docker-compose.yml로 이미지화 시켜야하는것이 맞을까요?# 6. EC2로 Compose 파일 전송 - name: Copy docker-compose.yml to EC2 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: "docker-compose.yml" target: "/home/ubuntu/movie-project/" strip_components: 0 overwrite: true # 7. EC2에서 Compose 실행 - name: SSH into EC2 and deploy uses: appleboy/ssh-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script: | cd /home/ubuntu/movie-project sudo docker-compose down sudo docker-compose pull sudo docker-compose up -d ================================================ movie-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/movie-service:1.0 depends_on: - redis book-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/book-service:1.0 depends_on: - kafka payment-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/payment-service:1.0 depends_on: - kafka seat-service: image: 139144002104.dkr.ecr.ap-northeast-2.amazonaws.com/seat-service:1.0 depends_on: - kafka
-
미해결쉽게 설명하는 AWS 기초 강의
(실습)Amazon RDS 접속과 인증 실습 문의
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 안녕하세요. IAM DB 인증을 실습하고 있습니다. 모든 설정은 동일하게 하고 서버만 MySQL이 아닌 MariaDB만 사용했습니다. 그런데 Workbench에서 다음과 같은 오류가 발생했습니다.Authentication plugin 'mysql_clear_password' cannot be loaded: plugin not enabled이는 어떻게 해결해야 할까요??
-
미해결쉽게 설명하는 AWS 기초 강의
(실습)Amazon RDS 접속과 인증 실습에서 프라이빗 서브넷 수를 0으로 하는 이유를 잘 모르겠습니다. 설명 부탁드립니다.
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 제목 그대로 (실습)Amazon RDS 접속과 인증 실습에서 프라이빗 서브넷 수를 0으로 하는 이유를 잘 모르겠습니다. 설명 부탁드립니다.
-
미해결쉽게 설명하는 AWS 기초 강의
75. (실습)Amazon Aurora 실습 문제
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 75. (실습)Amazon Aurora 실습을 듣고있는데지금 프리티어 등급으로는 Amazon Aurora를 사용할 수 없는데사용할수 있는 방법은 등급을 올리는것밖에 없나요?
-
미해결쉽게 설명하는 AWS 기초 강의
S3 기타 기능 실습에서 압축파일 업로드 에러
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" S3 기타 기능 실습에서 demo-lambda-image-resizer.zip 파일을 업로드하면The editor could not be opened because the file was not found.메세지가 출력되면서 업로드가 안되는데 왜그럴까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
Docker Compose파일을 작성했을때 CI CD와의 연동
현재 강의에서는 간단한 instagram-server 프로젝트를 docker에 이미지화 시켜서 이를 ecr에 연결해 이미지를 업로드하고 ec2에서 이미지를 다운받아 실행하고 배포하는 것을 잘 이해했습니다.하지만 혹시 간단한 프로젝트가 아닌 MSA의 각 서비스들, Kafka, Redis가 모두 모인 프로젝트 일때에는 각 서비스, kafka, redis 모두 이미지로 만들어야하는 것으로 알고 있습니다. 이때 한번에 docker compose 파일을 만들면 될 것 같지만 이를 CI CD의 deploy.yml에 어떻게 연결짓는 것인지가 궁금합니다. 아니면 혹은 cmopose 파일을 github action에 직접 입력해서 수동으로 관리하는 것인가요? 불편하게 그저 각 서비스, redis, kafka를 deploy.yml에 작성해서 일일이 하면 편하긴 하겠지만 이런 경우는 보통 compose 파일을 만드는 것이 훨씬 장점이 있다고 생각합니다. 이 compose 파일을 어떻게 deploy.yml 혹은 EC2에 보내는 것인지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
보안그룹 생성 오류
강사님, 보안그룹 HTTP 추가 하면 위와 같이 경고문구가 뜨면서 인스턴스 생성이 불가합니다..! 어떻게 수정해야 할까요
-
미해결쉽게 설명하는 AWS 기초 강의
엔드포인트에 연결된 라우팅 테이블 없음
800명이 넘는 AWS 강의실 오픈채팅방에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다.질문내용은 상세하고 자세하게 부탁드립니다.예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 동영상 강의와 동일하게 따라했는데 새로 생성된 VPC를 선택하면 '엔드포인트에 연결된 라우팅 테이블 없음'이라고 뜹니다. 24:00 부분인데요. 이는 어떻게 해결해야 하나요? 저는 서울 리전에서 VPC를 추가하여 실습했습니다. 올바른 VPC인지 확인해 달라는 것이 어떤 의미인가요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
AWS 5월에 탈퇴해서 그러는데....
안녕하세요 선생님.제가 1월부터 5월까지 Spring,Java 벡엔드 과정 교육을 온라인으로 들었습니다.그 과정에서 AWS 기초를 배우는 과정이 있었는데 5월달에 교육이 끝나면서 탈퇴를 하지 3개월 밖에 안됬는데.. 혹시 이걸 다시 가입해야 되는 걸까요?? 한달 무료 사용해버려서요..
-
미해결쉽게 설명하는 AWS 기초 강의
AWS Cloud Practitioner 자격증
안녕하세요, 강의 잘 듣고 있습니다.현재 AWS Cloud Practitioner 자격증을 취득할라고 준비중인데, 강의를 어디까지 들어야 할까요?
-
미해결쉽게 설명하는 AWS 기초 강의
bastion host 실제 프로젝트 적용 관련 질문
안녕하세요 강의를 듣고 실제 소규모 앱 프로젝트에 AWS 서비스를 활용해 봤습니다. 현재 상황은앱 프로젝트용 VPC 생성 public subnet 1개, private subnet 2개 백엔드 서버(개발, 배포)용 EC2 instancepublic subnet에 위치탄력적 IP 할당 bastion host용 EC2 instancepublic subnet에 위치탄력적 IP 할당RDS(mysql) private subnet 2개에 위치보안을 위해 RDS를 private subnet에 위치했고, 허용된 IP만 bastion host를 통해 DB에 접근할 수 있도록 이렇게 구성했습니다.질문 1. 소규모 앱 프로젝트용으로 이러한 구성은 괜찮은가요? 굳이 Bastion host를 생성하지 않고 백엔드 서버용 인스턴스를 통해서 RDS에 접근해도 되지 않나 싶어서요질문 2. 보안그룹과 관련해서 고민이 있는데 팀원들이 백엔드 서버에 SSH로 접속을 할 때팀원 -> 백엔드 서버팀원 -> bastion host -> 백엔드 서버 두 방식중 어느 것이 더 권장되는 지 궁금합니다. 답변 주시면 감사하겠습니다
-
미해결쉽게 설명하는 AWS 기초 강의
21강에서 쓰이는 profile 에 대해 질문합니다
cloudshell 에 입력한 profile 정보는 어떻게 저장되나요? 처음에 aws configure 을 이용해 iam read 권한을 가진 유저의 키로 user 라는 profile 을 만들었고 권한 사용이 잘 되었습니다. 이후 같은 쉘에서 앞서 user 를 만들 때 사용한 키와 같은 키로 iamuser 라는 profile 을 aws configure 로 만들었는데, 처음 생성한 user 와 iamuser 둘 다 사용이 잘 됩니다. 그러면 한 사용자의 키값만 있다면 profile 은 계속 찍어낼 수 있나요? 이 profile 은 언제까지 유지되고 어떻게 저장되나요? 생성된 profile이 계속 남아있다면 보안 문제가 있을 것 같은데 이 부분이 어떻게 작동되는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
배포 오류
Actions 는 다 통과하는데 저기서 배포 오류가 뜨는데 이유를 알 수 있을까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
node.js 설치시 에러
node.js 설치 명령어를 실행하면 odesource.gpg: command not foundbash: /: Is a directorydeb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro mainbash: /: Is a directoryE: Malformed entry 1 in list file /etc/apt/sources.list.d/nodesource.list (Component)E: The list of sources could not be read.E: Malformed entry 1 in list file /etc/apt/sources.list.d/nodesource.list (Component)E: The list of sources could not be read. 이렇게 뜨면서 설치가 되지 않는 것 같습니다. root@ip-172-31-34-207:/home/ubuntu# node -vCommand 'node' not found, but can be installed with:apt install nodejs
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
appspec.yml, 스크립트 파일 수정요청
안녕하세요CI/CD 강의를 재미있게 수강중 입니다수강 중 수정 사항을 요청드리기 위해 여기에 남깁니다노션 : https://jscode.notion.site/CI-CD-c028a6824f824524bcb35b8c384c9771 appspec.yml 파일 작성 중 오타가 있습니다이로 인해 정상적인 배포가 되지 않습니다확인 해주시기 바랍니다
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
appleboy/ssh-action stop_script 대체
학습 도중 발견한 내용이 있어 공유합니다. appleboy/ssh-action 라이브러리에서 stop_script 설정에 대한 내용입니다. 결론부터 말하면, appleboy/ssh-action 최신 버전(작성일 기준 1.2.2)을 사용하는 경우 stop_script: true 대신 script 첫 줄에 set -e를 사용해야 합니다.script: | set -e cd /home/ubuntu/github-actions git pull origin main문제 상황강의를 따라하던 중, 테스트에서 RuntimeException을 던져 실패하는 부분에서 다음과 같이 빌드는 실패하는데 github actions가 성공하고 코드도 업데이트 되는 경우가 발생했습니다. deploy.yml과 github actions 결과는 다음과 같습니다.name: hello application on: push: branches: - main jobs: Deploy: runs-on: ubuntu-latest steps: - name: ssh to EC2 uses: appleboy/ssh-action@v1.2.2 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} script_stop: true script: | cd /home/ubuntu/github-actions git pull origin main ./gradlew clean build sudo fuser -k -n tcp 8080 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log 2>&1 & > Task :test GithubActionsApplicationTests > contextLoads() FAILED java.lang.RuntimeException at GithubActionsApplicationTests.java:11 1 test completed, 1 failed FAILURE: Build failed with an exception. > Task :test FAILED * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/***/github-actions/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 8s 8 actionable tasks: 8 executed 8080/tcp: 4782 =============================================== ✅ Successfully executed commands to all hosts. =============================================== 문제 원인이 차이점은 appleboy/ssh-action 버전을 최신 버전(1.2.2)으로 사용한 차이에서 발생한 것이었습니다. appleboy/ssh-action 링크에 가서 script_stop으로 검색해보니 다음과 같은 부분이 있습니다.1.0.3v 를 보니 해당 옵션이 있는 걸로 보아 script_stop 옵션은 제거된 것으로 보입니다. 그래서 적힌대로 set -e를 script 첫 줄에 추가했습니다.script: | set -e cd /home/ubuntu/github-actions git pull origin main이후 다시 푸시해보니 정상적으로 실패하는 것을 확인할 수 있습니다.1 test completed, 1 failed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///home/***/github-actions/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. GithubActionsApplicationTests > contextLoads() FAILED java.lang.RuntimeException at GithubActionsApplicationTests.java:11 BUILD FAILED in 8s 8 actionable tasks: 8 executed 2025/07/12 14:16:36 Process exited with status 1 Error: Process completed with exit code 1.