[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영
c++로 만든 MMO 서버를 EC2 머신에서 띄워보고 싶은데, 로컬에서 빌드한 서버 실행 파일을 ec2로 옮기는 정석적인(혹은 현업에서 사용하는?) 방법이 궁금합니다. 당장 떠오르는 방법은 svn,git같은 저장소로 옮겨도 되지만 S3를 배웠으니, 혹시 S3에 서버 실행파일을 업로드하고 EC2에서 다운로드 받는거도 가능할까 생각합니다.
선생님 안녕하세요 좋은 강의 감사합니다. 섹션 7의 세번째 강의, python의 위한 도커 의 13:25 에서 바로 torch를 pip으로 설치하지 않고도 바로 import torch를 할 수 있는 이유는 azure vm을 만들때 선택한 size인 nc4as_t4_v3 4 vcpus 에 기본적으로 torch가 깔려있기 때문인가요 (즉, 만약 gpu를 사용하지 않는 다른 환경을 고르면, torch가 안깔려 있어서 pip 으로 깔아야 하는 것인가요) cpu만 사용하는 size인 Standard D2s v3 (2 vcpus, 8 GiB memory) 로 가상환경을 만들었는데, 여기서는 ipynb 파일에 !pip install torch를 해도, import torch를 하면 torch가 없다고 나오는데, 혹시 이 이유를 아실까요..ㅠ
선생님 안녕하세요 좋은 강의 감사합니다. 섹션 7에서 dev container 를 사용하는 부분을 보고 있는데, 계속 에러가 납니다. 일단 화면 왼쪽 아래를 클릭하고 add dev container configuration file 클릭하고, 나머지 부분을 말씀하신 것 처럼 해도 오른쪽 아래 reopen in container 팝업이 뜨질 않고요 다시 왼쪽 아래를 클릭하고 중간 위에 뜨는 옵션 중 reopen in container를 클릭하면, 돌아가다가 아래와 같은 에러가 뜹니다. 혹시 뭐가 문제인지 확인이 가능하실까요
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
색션 11 reverse proxy 관련 문의 드릴 것이 있습니다. reverse proxy 위하여 nginx.conf 파일에서 어떤 port로 요청이 오면 어떤 container 로 연결할지 설정해주고 있습니다. 가령 아래 코드는 8080 포트로 연결이 오면 docker-nginx로 포워딩하여 nginx라는 container의 80 포트로 연결을 합니다. upstream docker-nginx { server nginx:80 } listen 8080 location /{ proxy_pass http://docker-nginx } 즉 위와 같이 nginx.confd에는 외부 포트와 container간의 연결이 정의되어 있는데요.. docker-compose 파일을 보면 port라는 key로 proxy 서버의 포트 연결을 또 정의 합니다. ports: -"8080:8080" -"8081:8081" 즉 nginx.conf에서 외부 포트와 container간의 연결을 설정하면 docker-compose 파일에서 port 연결 명령은 필요 없을까요?
(문제가 해결되어서 내용을 수정하였습니다.) 동영상에서는 SSLforFREE 사이트에서 인증서를 발급받는 식으로 설명을 하였습니다. 그런데 SSLforFREE 사이트에서 인증서 발급을 하면 ZeroSSL 사이트로 리다이렉트가 되어서, 실제로는 ZeroSSL에서 인증서 발급이 됩니다. 무료 인증서를 발급받는데는 동영상에서처럼 하면 되지만, 유료 인증서를 발급받을 때는 "반드시" ZeroSSL 사이트에서 결제하셔야 합니다!! 제가 SSLforFREE 사이트에서 결제를 하고 인증서를 발급받으니, 발급은 되는데 DNS 인증이 안되는 버그가 발생하였습니다. 그래서 ZeroSSL 사이트에서 결제를 하니 DNS 인증이 되더라고요.. 다행히도 ZeroSSL 사이트의 고객센터가 잘 되어있어서 문제는 해결하였지만, 불상사를 막기위해서는 반드시 유료 인증서는 ZeroSSL에서 결제하셔야 합니다!
안녕하세요. 좋은 강의 정말 감사드립니다 😋 강의에서 분석하는 커널 버전이 3.10.X(on Jul 1, 2013( https://github.com/torvalds/linux/releases/tag/v3.10 )) 으로 한 이유가 있으신지 궁금합니다. 최신 버전은 6.9.X 과는 시간 간극이 꽤 큰 것 같습니다. 강의 17:00 에서의 리눅스 소스코드 버전을 보면 3.10.X( https://github.com/torvalds/linux/blob/v3.10/lib/sort.c ) 에서의 generic_swap 함수를 띄어왔지만, 최신 버전(6.9.X - https://github.com/torvalds/linux/blob/v6.9/lib/sort.c ) 에서는 generic_swap 함수를 찾을 수 없습니다. 물론, 코드를 읽어보면 강사님이 해주신 내용으로 충분히 이해가 가능합니다. 핵심 아이디어는 동일하다는 것이겠지만, 조금씩 다른 부분, 그리고 시간이 더해지면서 발전한 코드가 있을 것 같아, 질문으로 남깁니다
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
안녕하세요, section 8 / docer 활용하기에서 jupyter notebook 페키지를 설치중 no space error가 발생합니다. 제가 EC2 인스턴스 생성 시 용량을 8G만 했었거든요. 그래서 일단 EC2 서버에 가서 용량을 16G로 늘리고, 블로그 보고 파티션 설정까지 해줬습니다. 현재 lsblk 치면 아래와 같이 나옵니다. 다시 jupyter notebook을 설치해도, 여전히 no space left 라고 나오네요 ㅠㅠ 뭔가 파티션 설정이 잘못 된 것 같은데, 방법을 알려주시면 감사드리겠습니다!!!!
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
이렇게 나와있는데 실제로 결제된건 아니고 예상청구금액 같은 것 같아요 혹시 왜 이렇게 나오는지 짐작가시는 거 있을까요? 가입한지 한달 안되었고.. 똑같이 따라한 것 같거든요... 짐작가시는 부분 있으시면 알려주세용... 강의 쉬었다가 보려고 2주정도 인스턴스 정지해놓긴 했거든요.
안녕하세요. CENTOS 7부터 이것이 리눅스다의 도움을 많이 받았습니다. 그런데 단 하나의 추가 도움을 요청드리려고 합니다. VMWARE 17과 VMWARE FUSION13을 통해 ROCKYLINUX 9.3 KS를 제작하였는데 해당 부분에서 에러가 발생하네요. 그래서 아래와 같이 수정 했는데도 에러가 발생하여 이 부분을 무시하고 설치 할 수 있는 방법이 있을까요? PXE로 구성하고 싶은데 그런 환경이 아니라서 CD-ROM MODE로 설치 가능한지 문의드립니다.
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
선생님 안녕하세요 좋은 강의 감사드립니다. section 6, docker 주요 명령 익히기7 (컨테이너를 다루는 다양한 옵션) 강의 3:40초 부분에서 질문이 있습니다. 해당 부분은 -v 옵션을 사용해서 docker의 특정 폴더를 로컬(여기서는 aws ec2 서버)의 폴더와 연결한 모습을 보여주고 있는데요. 문제는. 저는 이 도커에 -v를 사용해서 로컬의 폴더와 연결한 적이 없다는 것입니다. 제가 " section 6, docker 주요 명령 익히기5" 에서 한 것은 httpd 이미지를 사용해서 만든 도커를 연결한 것이었고, " section 6, docker 주요 명령 익히기7"에서는 httpd:alpine 이미지를 사용해서 도커를 새로 만들었거든요. 도커를 새로 만들었음에도 불구하고, 이전에 연결해놓은 -v가 그대로 작동하는 것은 왜 그런것이죠?
일방적인 수업이 아닌 양방향의 수업을 지향합니다. 게시판에서 질문을 적극적으로 활용하세요. (이해가 되실 때까지 지속적으로 질문을 던지시는 것이 중요합니다. 업무일 기준 2~3일 내에 답변을 드릴 수 있도록 최선을 다하겠습니다.) 다만, 질문이 이해될 수 있도록 (상식 수준에서), 다듬어 주세요. 게시판 공개가 어려운 경우에 메일로 연락주시길 요청 드립니다. (daniel@datatrain.education) 수업을 빠르게 한 번 쭉 들으신 후에, 한 번 더 학습하실 것을 권장드립니다. 안녕하세요 강사님 수업을 듣다가 궁금한 점이 있어 질문 드립니다. 수업을 들으면서 devcontainer.json를 생성하고 rebuild container를 하면 1. devcontainer.json의 "build" 정보를 이용하여 docker build 를 진행 docker run ~ 그 외 추가적인 과정 한다고 이해했습니다. 그리고 Dockerfile을 image로 만들 때, build를 하는 것으로 알고있습니다. 실습에서 Dockerfile과 json 파일에서 "build" 부분을 수정하지 않고, "runArgs", "customization" 을 추가했는데 build를 다시 해야하는 점이 이해가 가지 않습니다...ㅠㅠ devcontainer.json의 수정 사항을 적용하거나 실행하기 위해서는 build과정이 필요해서 그런 것 일까요?? 그리고 devcontainer.json을 수정하고 rebuild하면 container가 재생성이 되는 것인가요?? 또한 처음에 devcontainer.json 파일을 생성하고 New Dev Container 가 아닌 Rebuild container를 하는 이유도 궁급합니다. 감사합니다.
[ 에러 정보 ] learn-linux-main 폴더 진입 cmd 에서 dockercompose up 실행 ERROR [ubuntu 5/12] RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu 발생 user 'ubuntu' already exists 에러 발생 [ 해결 방법 ] * 리눅스 명령어를 잘 몰라서,, ChatGPT의 도움을 받았습니다! 아래와 같이 DockefFile을 수정했습니다. 혹시 더 좋은 방법이 있다면 공유 부탁드릴게요! # Add a user 'user' with a password 'password' (You should change this) # 이미 ubuntu 계정이 존재하는 경우 그룹 및 ID 변경 RUN sh -c 'if id "ubuntu" &>/dev/null; then \ usermod -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu \ else\ useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu \ fi' RUN echo 'ubuntu:password' | chpasswd
서버 구성하기 미션을 진행중입니다. 서버 실행을 하고 curl http://localhost:8080 명령어에 의해서 응답까지는 옵니다. 외부망 보안그룹에서 다음과 같이 설정했습니다. 브라우저에서 요청이 가는지 확인하고 https의 443 포트는 tls 설정을 하지 않으면 접속이 안되는걸로 알고 있어서 브라우저에서 요청하기 위해서 80포트를 전체대역대에 대해서 열어줬습니다. 인터넷 게이트웨이도 생성이 되어있고, 외부망의 라우팅 테이블에서 인터넷게이트에 대해서 전체대역대로 설정이 되어있습니다. curl명령어를 통해서 요청을 보내봤는데 connection refuesed 가 뜹니다. 브라우저에서 http://3.36.115.136:80 으로 보내봤는데도 사이트에 연결할 수 없음 3.36.115.136 에서 연결을 거부했습니다. 와 같은 오류가 뜹니다. ping 체크 잘 되고 port 체크에서도 telnet: Unable to connect to remote host: Connection refused 와 같은 오류가 발생합니다. 어떤점을 더 체크해봐야할까요? 3tier 구성하기 강의를 들으면서 진행하다가 미션을 하지 않을것을 확인하고 중간에 미션을 진행하고 있는데 혹시 이점에서 문제가 있었을까요?