안녕하세요! 도커의 사용목적에 대해 알고싶습니다. 도커가 편리한 이유는 여러 프로그램을 한 대의 컴퓨터에서 실행시킬 수 있기 때문이라고 이해하였습니다. 그런데 만약 서버 한 개만 돌릴 때는 도커를 사용해야 할 필연성이 있을까요? 단순히 확장성 떄문에 사용하는 건가요? 왜 써야 하는지 잘 모르겠습니다..
안녕하세요 강사님, 현재 강의를 참고하여 팀원끼리 클론 코딩 프로젝트를 하기위해 EC2에서 Spring Boot + MySQL 서비스를 Docker Compose로 구성하여 배포 중입니다. GitHub Actions를 통해 ECR에 푸시한 Spring Boot 이미지를 EC2에서 pull 받아서 docker-compose로 실행하는 파이프라인을 구축했습니다. 현재까지 진행한 작업에 대해 말씀드리겠습니다. Spring Boot 애플리케이션을 Dockerfile로 빌드해 Amazon ECR에 업로드 EC2에 MySQL과 Spring Boot를 각각 컨테이너로 구성 ( docker-compose.yml 사용) GitHub Actions에서 EC2로 SSH 접속 후 .env 생성 및 docker-compose up -d 자동 실행 설정 현재 EC2 인스턴스(t2.micro)에 연결이 실패하고있습니다. ssh -v -i를 통해 로그를 확인 해본 결과 연결은 성공하지만 인증 전 또는 핸드쉐이크 중에 connection reset 이 발생하였다고 합니다. 현재 인스턴스 유형은 t2.micro이며, Docker로 2개 컨테이너가 실행 중이었습니다. CPU/RAM 자원이 부족해 SSH 연결도 거부되는 것 아닌가 의심됩니다. 혹시 이 경우 인스턴스 유형을 업그레이드를 하는게 해결방법일지 혹은 다른 방법이 있을까요?
800명이 넘는 AWS 강의실 오픈채팅방 에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다. 질문내용은 상세하고 자세하게 부탁드립니다. 예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 강의 24분경 엔드포인트 생성하는 부분에서 이전부터 같은 방식으로 진행했는데 엔드포인트를 생성할 vpc 를 선택한 이후 라우팅 테이블이 나타나지 않습니다. 라우팅 테이블에 들어가 잘 생성되어있는것도 확인했고 서브넷과 연결되어있는것도 확인했는데 추가로 확인해야할 부분이 어디일까요?
.gitignore에 추가된 application.yml을 CI/CD로 관리하기 강의에서 1:40초 부분에서 git add . / git status한 다음에 application.yml이 수정이 되고 있다. 캐싱떄문이라고 하셨는데 . application.properties를 yml로 바꾸고 aws: access-key: ABCDEFG secret-key : HOIJOIASDJO 이 값들을 입력했는데 git status에 어느부분이 문제인건가요? yml파일도 modified?라는 상태가 안떠서 문제인건지 정확히 이해를 못해서 질문 남깁니다. 혹시 .gitignore에 넣었으니깐 새로운 파일을 추가하던 수정을 하던 git status에 안떠야 정상인건가요?
- name: application.yml 만들기 run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application.yml 강의에서 이런식으로 시크릿 변수에 yml을 미리 넣었는데 만약에 yml안에서도 시크릿 변수를 사용하면 제대로 동작을 하나요?? ex)kakaopay: secretKey: ${KAKAOPAY_KEY} 이런식으로 yml에 있다고 할 때
강사님 안녕하세요. nest를 완강하고 개인적으로 Node로 만들어보고 있습니다. 근데 Github Actions 까지 무사히 잘 완료가 되었는데요. 배포가 제대로 되어있는지 확인하려고 하니까 안되고 있습니다. 이렇게 서버가 살아있고 저는 3000번 포트를 사용해서 https://43.202.202.143:3000/ 이라고 작성했는데 접속이 안되더라고요. 제가 Gpt랑 나름 찾아봐서 작성해본 코드는 아래와 같습니다. ============================= name: Deploy To EC2 on: push: branches: - dev jobs: deploy: runs-on: ubuntu-latest steps: - name: Github Repository 파일 불러오기 uses: actions/checkout@v4 - name: Node 설치 uses: actions/setup-node@v4 with: node-version: "20" - name: 의존성(라이브러리) 설치 run: yarn install --frozen-lockfile - name: .env 파일 만들기 run: | echo '${{secrets.ENV}}' > .env # - name: 테스트 코드 실행 # run: npm run test # - name: 빌드 # run: npm run build - name: 압축하기 run: tar -czvf project.tar.gz .env package.json yarn.lock src - name: SCP로 EC2에 빌드된 파일 전송하기 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: project.tar.gz target: /home/ubuntu/Solo-Resume-Project/tobe - name: SSH로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # EC2의 퍼블릭 IPv4 주소 = 고정 주소를 말함. 연결 된 상태의 43.202.xxx.xxx <- 이런거 username: ${{ secrets.EC2_USERNAME }} # EC2 접속 username = 대부분 우분투 key: ${{ secrets.EC2_PRIVATE_KEY }} # EC2의 key-pair 파일의 내부 텍스트 script_stop: true script: | rm -rf /home/ubuntu/Solo-Resume-Project/current mkdir /home/ubuntu/Solo-Resume-Project/current mv /home/ubuntu/Solo-Resume-Project/tobe/project.tar.gz /home/ubuntu/Solo-Resume-Project/current/project.tar.gz cd /home/ubuntu/Solo-Resume-Project/current tar -xvf project.tar.gz yarn install pm2 kill pm2 start src/app.js --name "backend-server" ============================= 세팅도 전부 다했고요. 근데 pm2 logs를 작성하면 아래와 같이 나옵니다. 제가 env에 서버포트 번호를 넣어놓고 상수값을로 지정한 후에 따로 빼서 사용하는데 그것 때문인가요? 기존의 vs 코드에서는 잘 작동이 됩니다. 처음 혼자서 node로 작성하는거다보니 너무 질문이 많아서 죄송한데 답을 알려주시옵소서!!!
선생님 IAM 고급과 보안서비스 업로드 언제 될까요? 보안직무 종사자라 손꼽아 기다리고 있습니다. 바쁘시겠지만 대략적인 일정이라도 알려주시면 감사하겠습니다. Identity Center, AWS Control Tower, Organizations 설명해주시면 정말 좋겠습니다.
무슨 말인고 하니 똑같이 고의로 테스트를 실패하게 만들었는데 강사님 화면은 어디에서 테스트가 실패했는지 CI/CD 화면에서 보여주는데 제 화면은 스샷과 같이 안나옵니다. 강사님 화면에서는 github actions에서 아래의 화면처럼 테스트 실패 이유가 뜨는데 저는 안 떠요! =================================== 위의 사진은 저의 실제 코드 사진입니다. 제가 어디 잘못한게 있나요?
강사님과 같이 만들었습니다. 다만 제가 deploy.yml을 depoly.yml로 잘못 작성한거 빼고는 강사님과 같은데 설명에 .yml 앞의 이름은 상관 없다고 하셔서 큰 문제는 되지 않을거라고 생각합니다. 다만 사진과 같이 간단한 CI/CD 코드인데 2분이 넘도록 체크 표시가 안뜨는 문제가 있습니다. 제가 어떤 것을 잘못했을까요? 코드는 이렇게 작성했습니다.
안녕하세요. 강사님! 현재 AWS 강의를 잘 듣고 있는 학생입니다. 제가 Node.js / Nest.js를 주로 사용하고 있는데 강의 목록에 Nest에서 적용 할 수 있게 목록에 있더군요! 근데 Node에 대해서는 언급이 없는 것 같아서 Node에서도 적용 할 수 있게 해주는 내용이 강의에 있나요? 있다면 혹시 어느 목차에 있나요? 그리고 여러가지 언어에서 적용 할 수 있게끔 목록을 잘 나눠주셨더라고요! 혹시 필요한 부분만 듣고 나머지(ex_ 프론트 / 스프링 / etc..)들은 따로 안 들어도 제가 해당하는 부분만 들어도 적용과 이해에 무리가 없을까요?
800명이 넘는 AWS 강의실 오픈채팅방 에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다. 질문내용은 상세하고 자세하게 부탁드립니다. 예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" 설정 역시 모두 강의 영상대로 따라왔으며, 아래 이미지와 같은 오류가 발생합니다. 웹 브라우저에서 ip를 그대로 입력하면 접속은 되지만, 가끔씩 타임아웃으로인한 오류 때문인지 접속이 안 되고, http://www.gstatic.com/generate_204 라는 새탭이 발생합니다.
(실습)AWS 계정 생성 및 초기 설정 강의 13:00 에 해당하는 루트 계정으로 로그인하기 실습을 따라하던 중에 로그인이 실패하여 문의드립니다. 크롬 브라우저를 통해 실습을 진행하였고, 루트 계정을 입력하면 아래와 같은 에러메세지가 뜹니다. "잘못된 요청. 요청에 문제가 있습니다. 쿠키를 삭제하고 요청을 확인한 후 다시 시도하십시오. 문제가 지속되는 경우 AWS Support 에 문의하십시오." 쿠키를 삭제하고 루트 계정 로그인을 다시 시도해 보았으나 실패했습니다. 혹시나 해서 Edge 브라우저를 통해 루트 계정 로그인을 진행하니 문제없이 진행되었습니다. 크롬을 통해 로그인이 실패하는 이유가 뭔지 궁금합니다.
안녕하세요. 이번 수강을 듣고 있는 학습자 입니다. 아직 동영상 강의 중 [예정]인 사항이 있던데 이러한 영상은 언제쯤 업로드가 되는지 알고 싶습니다. 약 33개의 영상입니다. [예정]Autoscale의 종료 정책 [예정]Amazon DynamoDB [예정]Amazon ElasticCache [예정]Amazon RedShift [예정]AWS의 기타 데이터베이스 [예정]임시 자격 증명의 활용 [예정]IAM 정책 고급 [예정]IAM 권한 범위 [예정]IAM 기타 기능 [예정]EC2 기타 기능 [예정]EC2의 백업 [예정]Network Load Balancer [예정]Application Load Balancer 고급 [예정]Autoscale Warm Pool [예정]EC2 Spot Fleet [예정]ENI 고급 활용 [예정]EC2 Userdata 고급 [예정]VPC Flow Logs [예정]AWS의 IPv4 와 IPv6 [예정]Amazon Eventbridge [예정]AWS Lambda 기초 [예정]AWS StepFunctions 기초 [예정]AWS Organizaition [예정]AWS Identity Center [예정]AWS Control Tower [예정]AWS 비용 관리 기초 [예정]AWS의 비용관리 도구 및 서비스 [예정]AWS KMS [예정]AWS Secrets Manager [예정]AWS WAF [예정]AWS의 기타 보안서비스 [예정]Amazon QuickSight [예정]AWS xxx 서비스 vs Amazon xxx 서비스의 차이는?
도착지 입장에서 생각해보고 있습니다. 도착지인 61.123.44.1서버에 톰캣이 8080포트를 서비스하고 있는 상황을 가정해봅니다. 톰캣으로 요청을 하기 위해서는 위 표에서 SRC port가 8080를 갖어야 하지 않을까 생각듭니다. 표가 어떻게 채워져야할지 감이 오지 않습니다.
안녕하세요 강사님 [(실습)ELB + ASG 실습 - 2] 강의에서 상태확인에서 "ELB 상태 확인 켜기"로 업데이트 특정 인스턴스 한 개 service httpd stop 명령어로 중지 PublicIPs URL 로 접근해서 서버 닫힌거 확인 후 어플리케이션 로드 밸런서 도메인으로 접근했을 때 3개 중에 정상적인 두 개만 호출 되는 것이 아닌, 정상 2개 인스턴스 호출 되고 닫은 서버는 502 Bad Gateway 로 서버가 열리는데 뭐가 문제일 수 있을까요? 그 이후 과정인 대상 그룹에 생성된 데이터 보면 강사님 처럼 정상 2 / 비정상 1 이아닌 비정상 3으로만 뜹니다. [인스턴스] [특정 인스턴스 서버 종료] [ASG 상태확인 업데이트] [대상 그룹 세부정보]