묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
ECS Fargate 배포후 504 time-out
안녕하세요, 회사에서 GCP에서 AWS로 인프라를 이관 중에 있습니다. 강의를 들으면서 개발 서버를 이관했고 ECS에 서비스를 작동 중입니다. 하지만, Deploy는 Failed 하고 504 timeout-error가 발생하면서 ALB의 IP들도 모두 unhealthy 상태입니다. 이상한 점은 ECS에서 서비스 로그를 확인하면 스케줄러로 등록해뒀던 작업들이 실행되는 로그를 확인할 수 있습니다. 이로 미루어 볼때 서버는 실행이 되고 있는 상태이나 외부에서 접근이 안되는 것 같아 security-group 과 vpc 설정, 포트도 확인을 해봤었는데요. 그래도 해결을 못하고 있어서 이렇게 질문 남겨 둡니다. ㅠㅠALB Resource map2. ECS service 상태서비스 이벤트 로그 service has started 1 tasks: task ******* Amazon ECS replaced 1 tasks due to an unhealthy status.service registered 1 targets in target-group *****service port 3000 is unhealthy in target-group *** due to (reason Health checks failed).service deployment *** deployment failed: tasks failed to start.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
25강 findAll듣던중에
다음 첨부파일처럼 공유자께(첨부1)서는 public UserResponse(long id, User user) { }가 있습니다.그런데 저는 지금까지 쓴 코드에서 첨부파일(첨부2)처럼 저 코드부분이 없습니다.몇강에서 놓친건가요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
25강 질문있습니다.
저장기능 변경에서 save를 하게 되면 저장된 User객체가 반환되는데 이때 id를 사용할 수도 있다.라고 했는데반환되는것이 User객체의 ID인건가요?그리고 꼭 반환 안하고 처음에 작성했던 public void saveUser(UserCreateRequest request) { userRepository.save(new User(request.getName(), request.getAge())); }이렇게 써도 되는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
25강 질문있습니다
JpaRepository를 UserRepository가 상속받게 해줄때, 만든 테이블의 매핑 객체인 User 와 유저 테이블의 id인 Long 타입을 각각 적어주어야 한다고 하셨는데 user객체는 이해가 가는데 갑자기 id인 Long타입은 왜 적나요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
배포는 성공하지만, pm2 list를 확인해보면 에러가 발생이 되어있습니다.
해당 부분을 응용해서, aws linux / next.js를 진행하고 있었습니다. 앞선 강의는 잘 되었으나, 해당 강의해서 어려움을 겪게되어 질문을 남기게 되었습니다.우서 배포를 확인해보니 성공, s3버킷에는 압춗파일이 잘 올라갔습니다.ls를 통해서 디렉토리까지 생성이 되는것을 확인하였습니다.하지만 node_modules가 설치가 안되어 log를 확인해보니,아래와 같은 에러가 발생합니다. 혹시 설정에 문제가 있을까요? cd: /home/ec2-user/instantgram-server: No such file or directory 2024-08-12 15:00:19 [stderr]npm ERR! Tracker "idealTree" already exists 2024-08-12 15:00:19 [stderr] 2024-08-12 15:00:19 [stderr]npm ERR! A complete log of this run can be found in: /home/ec2-user/.npm/_logs/2024-08-12T15_00_19_547Z-debug-0.log 2024-08-12 15:00:20 [stdout][PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2 2024-08-12 15:00:20 [stdout][PM2] PM2 Successfully daemonized 2024-08-12 15:00:20 [stderr][PM2][WARN] No process found 2024-08-12 15:00:20 [stdout][PM2] [v] All Applications Stopped 2024-08-12 15:00:20 [stdout][PM2] [v] PM2 Daemon Stopped 2024-08-12 15:00:21 [stdout][PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2 2024-08-12 15:00:21 [stdout][PM2] PM2 Successfully daemonized 2024-08-12 15:00:21 [stdout][PM2] Starting /usr/bin/npm in fork_mode (1 instance) 2024-08-12 15:00:21 [stdout][PM2] Done.#appspec.yml version: 0.0 os: linux files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ec2-user/instagram-server permissions: - object: / owner: ec2-user group: ec2-user hooks: ApplicationStart: - location: scripts/start-server.sh timeout: 60 runas: ec2-user#deploy.yml name: Deploy To EC2 on: push: branches: - master jobs: Deploy: runs-on: ubuntu-latest steps: - name: Github Repository 파일 불러오기 uses: actions/checkout@v4 # Github Repository의 파일을 가져오는 Action - name: Node.js 설치 uses: actions/setup-node@v4 # Node.js를 설치하는 Action with: node-version: 18.x # Node.js 버전 - name: 의존성(라이브러리) 설치 run: npm ci # npm ci는 package-lock.json에 있는 의존성을 설치하는 명령어 - name: .env 파일 만들기 run: | echo '${{ secrets.ENV }}' > .env - name: 테스트 코드 실행 run: npm run test - name: 빌드 run: npm run build # 빌드 - name: 압축하기 run: tar -zcvf $GITHUB_SHA.tar.gz appspec.yml scripts public .next .env package.json package-lock.json # 압축 - name: AWS Resource에 접근할 수 있게 AWS credentials 설정 uses: aws-actions/configure-aws-credentials@v4 with: aws-region: ap-northeast-2 aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCRESS_KEY }} - name: S3에 프로젝트 폴더 업로드하기 run: aws s3 cp --region ap-northeast-2 ./$GITHUB_SHA.tar.gz s3://instagram-server-s3/$GITHUB_SHA.tar.gz - name: Code Deploy를 활용해 EC2에 프로젝트 코드 배포 run: aws deploy create-deployment --application-name instagram-server --deployment-config-name CodeDeployDefault.AllAtOnce --deployment-group-name Production --s3-location bucket=instagram-server-s3,bundleType=tgz,key=$GITHUB_SHA.tar.gz #start-server.sh #!/bin/bash echo "-----------------서버 바로 배포 시작-----------------" cd /home/ec2-user/instantgram-server npm i pm2 kill pm2 start npm --name "my-next-app" -- start echo "-----------------서버 바로 배포 끝-----------------"
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장부탁드립니다.
강의를 보기도 전에 시험이 다가와 연기했네요...강의 수강기간 연장부탁드립니다. ㅠㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
14강. 유저 업데이트 API, 삭제 API 개발과 테스트 수정하기 안됨
코드대로 글을 잘 작성하고 POST,GET,DELETE도 전부 잘 동작하고 db에서도 확인이 되는데,수정하기만 동작하지 않습니다..어떻게 해야할까요..수정하기 버튼을 누를시 아무런 화면의 변화가 없습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
구글링해서 나온건 다따라해봤는데 ,...안돼네요 강사님 하신거랑 똑같이했는데 메시지는 키값을못찾는다고나오는거같은데...이거 방법이 없을까요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
질문입니다.
비전공자도 이해할 수 있는 AWS 입문/실전 인강을 다 듣고 비전공자도 이해할 수 있는 CI/CD 입문·실전 을 들으려고 하는데 강의가 겹치는것 같아요? 어디서부터 들으면 될까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
섹션3 질문 있습니다
안녕하세요!섹션3 마지막 부분쯤 나온 @Component 어노테이션에 대해 질문이 있습니다!이 어노테이션은 다음과 같은 경우에 사용된다고 하셨는데요!컨트롤러, 서지스, 리포지토리가 모두 아니고,개발자가 직접 작성한 클래스를 스프링 빈으로 등록할 때 사용된다. 제가 궁금한 것은 Service 나 리포지토리 모두 우리가 직접 작성한 클래스 아닌가요??그러면 컴포넌트 어노테이션 아닌가요??답변해주시면 감사하겠습니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 오류입니다 !
Execution failed for task ':LibraryAppApplication.main()'.> Process 'command 'C:/Program Files/Java/jdk-11/bin/java.exe'' finished with non-zero exit value 1 이것은 어떤 에러일까요 ㅠㅠ
-
해결됨비전공자도 이해할 수 있는 AWS 입문/실전
인스턴스 생성시 인바운드 규칙으로 https를 적용시키는 것과의 차이
안녕하세요 강의 잘 보고 있습니다.강의를 보다가 궁금한게 생겨 질문드립니다. ELB를 통해서 https 리스너를 추가하고 http 요청을 https로 전환시켰는데 최초 인스턴스 생성시에 http 80포트와 https 443 포트를 인바운드 규칙으로 추가시키는 것과의 차이가 있을까요?
-
해결됨인프라공방 - 그럴듯한 서비스 만들기
aws 비용관련 문의
학습을 진행하다보니 aws에서 비용청구가 계속해서 진행되고있는데요. ㅠㅠec2의 비용청구를 중지하려면 인스턴스만 끄면 해결이 되는 문제일까요? 아니면 설정했던 모든 부분에 대한 삭제가 진행되어야 할까요?
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
지금 시점에서 1.26버전은 추가지원만 가능한데, 그 이상의 버전으로 할경우 문제가 될까요?
지금 시점에서 1.26버전은 추가지원만 가능한데, 그 이상의 버전으로 원클릭배포 환경값을 입력해서 구성해서 실습하면 문제가 될게 있을까요? (ex. 1.30, 1.29 ..)
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
IAM 역할 부여
sec3에서 IAM 역할 실습을 해보고 있는데 강의와 동일하게 역할을 생성하고 EC2에 연결을 해주었는데 여전히 아래의 명령어를 통해서 iam 사용자 리스트에 접근이 불가합니다. aws iam list-users IAM 역할을 생성했을 때 역할에 대한 새 인스턴스 프로파일을 생성하지 못했습니다. Instance Profile EC2_IAM_ReadOnly_Role already exists. 역할 EC2_IAM_ReadOnly_Role이(가) 생성되었으나 몇 가지 오류가 있습니다. 아래 오류 설명을 참조하세요와 같은 에러가 떴었는데 어느 부분이 잘못된지 모르겠습니다
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
Release Elastic IP addresses
EC2 인스턴스에 연결해준 Elastic IP addresses 를 Release 하려면EC2 인스턴스를 terminate 해줘야 하는건가요?EC2 인스턴스를 stop한 상태에서는 Elastic IP addresses가 Release가 안되는건가요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
gitignore 및 branch에 대한 질문
강의를 들으면서 궁금증이 생겼습니다.gitignore에 설정된 파일은 깃허브에만 노출되지 않는것인지, 아니면 git clone으로 프로젝트 다운 시에는 폴더 안에 존재하는지 궁금합니다.만약 clone으로 다운 시 존재하지 않는다면 다른 사람이 제 프로젝트를 clone 하더라도 로컬에서 제대로 돌아가지 않는 게 제 생각인데 맞을까요?ec2에서 현재 프로젝트에 여러 branch가 있을 때, 그 중에서 어떤 branch의 코드를 사용할지는 어떻게 정해지는지 궁금합니다.
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
pem 키를 ppk 로 바꿔주는 이유
[실습] Public EC2 인스턴스 생성 및 LAMP 웹서버 구성 이 강의에서 pem 키를 ppk 로 바꿔주는 이유가 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
time out 질문
현재 github actions 실행할때마다 계속 Run Command timeout 뜨는 상태입니다. swap 생성을 해주었는데도 계속 실패하네요..아래는 yml 코드입니다.# Workflow의 이름 # Workflow : 하나의 yml 파일을 하나의 Workflow라고 부른다. name: Deploy To EC2 # Event : 실행되는 시점을 설정 # main이라는 브랜치에 push 될 때 아래 Workflow를 실행 on: push: branches: - step3 # 하나의 Workflow는 1개 이상의 Job으로 구성된다. # 여러 Job은 기본적으로 병렬적으로 수행된다. jobs: # Job을 식별하기 위한 id deploy: # Github Actions를 실행시킬 서버 종류 선택 runs-on: ubuntu-latest # Step : 특정 작업을 수행하는 가장 작은 단위 # Job은 여러 Step들로 구성되어 있다. steps: - name: SSH(원격 접속)로 EC2에 접속하기 # Step에 이름 붙이는 기능 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # IP 주소 username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} # 키페어 값 script_stop: script: | cd /home/ubuntu/spring-gift-point git pull origin step3 ./gradlew bootJar -x test sudo fuser -k -n tcp 8080 || true nohup java -jar build/libs/*SNAPSHOT.jar > ./output.log >&1 &
-
해결됨[2024] 실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
IRSA 의 토큰이 최대 24시간인데 만료되면 어떻게 되나요?
안녕하세요우선 좋은 강의 감사합니다. 강의 시청 중 IRSA 부분을 진행 중인데, 웬만한 것들은 이해가 되는데 한가지 궁금한 것이 있습니다.결국 파드가 AWS 리소스에 접근할 수 있는 토큰을 특정 마운트 경로에 가지고 있는 것인데, 임시 자격 증명은 영구적인 것이 아니고 최대 24시간까지만 유지가 되는데, 이 유효 시간이 지나면 어떻게 되나요? 예를 들어 파드 A 는 S3 에 접근을 해야 해서 IRSA 를 사용하고 있습니다. 최대 만료 시간인 24시간 지난 후에도 여전히 S3 에 접근이 가능한데, 이게 왜 가능한지가 궁금합니다. 무언가 토큰을 갱신해주는 쿠버네티스 컨트롤러나 오퍼레이터 같은 것이 있는 걸까요?(근데 암만 찾아봐도 mutatingwebhookconfigurations 의 pod-identity-webhook 외에는 관련된 것을 못찾겠네요 ㅜㅜ)