묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ssh 터널링으로 vm 접속이 안됩니다.
안녕하세요.며칠 전에 올린 질문 내용과 동일합니다.rsa 키 삭제 후 다시 만들어서 lightsail 터미널에서 authorized_keys에 새로운 rsa.pub 키를 넣어서 다시 접속해봤는데도 접속이 거부됩니다.아무리 찾아보고 권한도 600으로 줘봤지만 해결이 되지 않습니다. 진도를 못 나가고 있는데 도와주세요..ㅠㅠ
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
[배포용 Workflow 만들기] 에러 해결과 아직 남은 에러
에러 해결 infogithub secres 에 SSH_PRIVATE_KEY 저장할때 로컬에서$ cat ~/.ssh/github_id_rsa (뒤에 pub 없는거 )이렇게 조회 한걸 저장 해야 deploy.yml 에서 ssh 연결시에 인증 정보 틀림에 의한 에러가 발생하지 않았습니다 run: | ssh ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_PUBLIC_IP }} " cd sample_express git pull || exit 1 npm install || exit 1 npm run build sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit "그런데 아직 에러가 남아 있는데 코드가 반영된 이후에 에러가 발생 합니다.ex)에러가 발생한 코드name: deployon: push: branches: - mainjobs: deploy: runs-on: ubuntu-latest steps: - name: Set up SSH run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - name: Set up known hosts run: | echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts - name: SSH and deploy run: | ssh ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_PUBLIC_IP }} " cd sample-express2 sudo chown ubuntu:root .git/FETCH_HEAD sudo chmod +w .git/FETCH_HEAD chmod +w .git/FETCH_HEAD git pull || exit 1 npm install || exit 1 npm audit fix npm run build sudo pkill node || exit 1 sudo npm run start & npx wait-on http://localhost exit "
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
deploy.yml이 workflow에서 작동되지 않는 이유
섹션 4의 "배포용 Workflow 만들기"를 수강 중 deploy.yml이 진행되지 않습니다..test.yml은 진행이 잘 됩니다뭐가 문제일까요?.yml 파일 작성할 때 들여쓰기가 상관이 있나요?아래는 작성한 deploy.yml 파일입니다.추가로 한 탭씩 들여쓰기 하지 않고 중간 중간에 스페이스 두 번으로 들여쓰기 하는게 있는데, 규칙인가요?- (대시)기호 이것도 규칙인가요? 안 적으면 실행이 안되는건가요? name: deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Set up SSH run: | mkdir -p ~/.ssh/ echo "${{secrets.SSH_PRIVATE_KEY}}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - name: Set up known hosts run: | echo "${{secrets.SSH_KNOWN_HOSTS}}" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts - name: SSH and deploy run: | ssh ${{secrets.SSH_USERNAME}}@${{secrets.SSH_PUBLIC_IP}} " cd express git pull || exit 1 npm install || exit 1 npm run build || exit 1 sudo pkill node || exit 1 sudo npm run start & || exit 1 sudo npm run start & npx wait-on http://localhost exit "
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
SSH 터널링으로 Lightsail VM 접속하기
안녕하세요..! 또 질문을 드려서 너무 죄송합니다.authorized_keys에 제가 만든 public 키를 추가를 해줬는데 터미널로 접속하려고 하니까 아래와 같이 접속이 거부됩니다..! 혹시나 키를 잘못 기입했나 해서 다시 복사해서 넣었는데도 저렇게 거부가 되는데 다른 이유가 있을까요?너무 죄송합니다..!!답변주시면 정말 감사드리겠습니다!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
workflows 내용 질문입니다.
안녕하세요. 강의 잘 보고 잘 따라가고 있습니다! 우선 좋은 강의 제공해주셔서 감사 인사 드립니다!AWS lightsail 부분 수강하고 있는 와중에 workflows 내용에 대한 질문이 생겼습니다.여기 내용을 보면 npm 설치와 redis 설치가 포함되어있는데 저렇게 설치를 하는 곳은 가상 ubuntu 서버에 하는 거라고 보면 될까요? 이미 AWS lightsail 서버에는 node와 npm 및 redis 설치를 다 끝냈는데 매번 pull request 할 때마다 다시 설치가 되는건가 궁금합니다!같은 맥락으로 도커 이미지를 나중에 만들어서 빌드를 하게 된다면 매번 수정된 내용이 반영되는 이미지를 다시 만들어서 그 이미지를 빌드해서 배포를 하는 건가요? 질문은 이 정도로 마치겠습니다! 긴 질문 읽어주셔서 감사합니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
AWS Security Groups 접근시에 AuthFailure 에러가 발생합니다
강사님의 강의를 들으면서 모든 과정 에러없이 다 따라서 진행하였습니다. 완강을 하고 기존에 제가 따로 운영하던 프로젝트를 EC2에서 ECS 배포로 변경하는 작업을 진행하였습니다.제 프로젝트에 ECS 배포와 Github Action 등이 정상적으로 적용된것을 확인하고 강의에서 진행하셨던 리소스들(express-ecs.com)에 대한 cluster, loadbalancer, task definition 등을 삭제하였습니다. 또한, IAM 롤에 대해서도 삭제를 하였는데 해당 리소스들을 삭제한 직후에 발생한 에러인지는 정확히 파악을 못 하였으나 그 이후로 갑자기 제가 자체적으로 만든(newdok) 로드밸런서의 Listener, Security Group에 대해서 접근 에러가 발생하였습니다. 여기까지가 현재 발생한 문제점이고 해당 내용들에 대한 2가지 질문이 있습니다.질문 1위 사진들을 보시면 AuthFail 에러가 발생하는데 여러 해결법들을 검색해보고 액세스 키도 새로 발급해보고 IAM 권한도 admin으로 설정해보고 여러 시도를 하였으나 해결을 하지 못하였습니다. 문제는 아무 서버와도 연결되지 않은 깡통 로드밸런서(test-lb)을 생성하여 리스너와 보안그룹을 지정해주면 해당 로드밸런서에 대해서는 AuthFail에러가 발생하지 않습니다. 만약, AWS 인증 문제라면 제가 관리하고 있는 모든 자원에 대해서 Security Group 접근 에러가 발생해야 하는데 해당 로드밸런서(newdok-lb)에 대해서만 에러가 발생하는 이유를 잘 모르겠습니다. 질문 2두 번째 질문은 ECS Task Container의 Health Check에 대해서입니다. 첫 번째 질문에서 언급했던 에러가 발생함에도 로드 밸런서 접속(HTTP만), 연결한 도메인에 대한 접속(HTTP, HTTPS)은 정상적으로 되고 있는 상황입니다. 실제로도 ECS Cluster에 들어가보면 cluster, service, 심지어 task까지 정상적으로 작동 및 Health 상태를 반환합니다.하지만, 마지막 사진을 보시면 Task을 들어갔을때, Container에서 Healthy가 아니라 Unknown 상태를 반환합니다. Unhealthy가 아니라 Unknown 반환의 경우 어떤 문제일까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
비용 문제!
혹시 이 강의들을 실습하면 비용이 많이 청구될까요..!?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
node api 및 redis 서버
안녕하세요. 강의를 듣고 있는 초보 개발자입니다.test 코드 만드는 부분에서 오류가 나서 진도를 못나가고 있는 상태입니다. export createApp을 했음에도 불구하고 index.test.ts 파일에서 import createApp을 한 후 let app: Express.Application 선언 후 app을 request 인자로 넣을 때 오류가 납니다.또 한가지 질문은 os 환경이 windows인데 redis 설치를 했습니다만 이게 node api와 연동이 되고 있는건지 잘 모르겠습니다..ㅠㅠ redis cli에서 list에 push한 후 typescript로 만든 api를 구동해서 push를 했을 때 성공했다고 postman으로 확인을 했는데 get을 호출하면 [] 빈 리스트가 반환됩니다..ㅠㅠ 제가 node와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
build & production stage 구분해서 도커 이미지 크기 줄이기 실패
build & production stage 구분해서 도커 이미지 크기 줄이기 강의에서 다음과 에러가 납니다.(base) david@davidui-MacBookPro ~/workspace/express dev ± docker build -t my-express-app-light . -f ./DockerFile [+] Building 1.9s (13/13) FINISHED => [internal] load build definition from DockerFile 0.0s => => transferring dockerfile: 37B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 34B 0.0s => [internal] load metadata for docker.io/library/node:18 0.8s => [build 1/5] FROM docker.io/library/node:18@sha256:f152130c9bb77afd49873a26fcfb6da7971b451ae6db51901fb7e028ccc0ca75 0.0s => [internal] load build context 0.0s => => transferring context: 11.27kB 0.0s => CACHED [build 2/5] COPY package*.json . 0.0s => CACHED [build 3/5] RUN npm install 0.0s => CACHED [build 4/5] COPY . . 0.0s => CACHED [build 5/5] RUN npm run build 0.0s => CACHED [production 2/5] COPY --from=build ./build ./build 0.0s => CACHED [production 3/5] COPY --from=build ./package.json .package.json 0.0s => CACHED [production 4/5] COPY --from=build ./package-lock.json .package-lock.json 0.0s => ERROR [production 5/5] RUN npm install --only=production 0.9s ------ > [production 5/5] RUN npm install --only=production: #13 0.561 npm WARN config only Use `--omit=dev` to omit dev dependencies from the install. #13 0.885 npm ERR! Tracker "idealTree" already exists #13 0.890 #13 0.891 npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2023-12-30T05_16_10_548Z-debug-0.log ------ executor failed running [/bin/sh -c npm install --only=production]: exit code: 1 (base) ✘ david@davidui-MacBookPro ~/workspace/express dev ±
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
DockerFile 빌드 에러
DockerFile 빌드시에 에러가 나서 찾아보고 해결책 공유 드립니다. >> docker build . 에러메세지 : failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount029268071/Dockerfile: no such file or directory 해결책 : docker build . -f ./DockerFile
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ecs deploy 용량 공급자
용량 공급자와 같은 설정에 대해서 질문이 있습니다기존의 fargate로 배포해놓은 ecs 서비스에 용량 공급자 설정을 fargate_spot으로 변경하여 서비스 업데이트 한 후,강사님께서 짜주신 ecs git action을 통해 배포하면 fargate spot이 적용이 될까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
github action workflow test timeout
안녕하세요,CI - 배포 준비를 위한 Github Workflow 생성하기강의 내용 중 위와 같이 run test 에서 오류 발생합니다. test.yml은 name: teston: pull_requestjobs:test:runs-on: ubuntu-22.04steps:- name: Checkout repositoryuses: actions/checkout@v3- name: Node.js setupuses: actions/setup-node@v3with:node-version: "18"- name: Install npm packagesrun: npm ci- name: Install and run redis-serverrun: |sudo apt-get updatesudo apt-get install -y redis-serverredis-server --daemonize yes --requirepass test_env --port 6380- name: Run testrun: npm run test:ci- name: Test buildrun: npm run build package.json은"scripts": {"build": "npx tsc","start": "node build/index.js","dev": "concurrently \"npx tsc --watch\" \"nodemon build/index.js\" ","test": "jest --watchAll --detectOpenHandles","test:ci": "jest"}, index.test.ts는import request from "supertest";import { LIST_KEY, RedisClient, createApp } from "./app";import * as redis from "redis";let app: Express.Application;let client: RedisClient;const REDIS_URL = "redis://default:test_env@localhost:6380";beforeAll(async () => {client = redis.createClient({ url: REDIS_URL });await client.connect();app = createApp(client);});beforeEach(async () => {await client.flushDb();});afterAll(async () => {await client.flushDb();await client.quit();}); 23.12.11 추가redis 설치 시 Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Hit:2 http://azure.archive.ubuntu.com/ubuntu jammy InReleaseGet:3 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]Get:6 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease [3631 B]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1244 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [257 kB]Get:9 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1226 kB]Get:10 http://azure.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [199 kB]Get:11 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1018 kB]Get:12 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [226 kB]Get:13 http://azure.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [27.8 kB]Hit:14 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InReleaseGet:15 http://azure.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1016 kB]Get:16 http://azure.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [195 kB]Get:17 http://azure.archive.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1179 kB]Get:18 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [815 kB]Get:19 http://azure.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [152 kB]Get:20 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main arm64 Packages [28.7 kB]Get:21 https://packages.microsoft.com/ubuntu/22.04/prod jammy/main amd64 Packages [117 kB]Fetched 8042 kB in 2s (4798 kB/s)Reading package lists...Reading package lists...Building dependency tree...Reading state information...The following additional packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-toolsSuggested packages: ruby-redisThe following NEW packages will be installed: libjemalloc2 liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-server redis-tools0 upgraded, 7 newly installed, 0 to remove and 37 not upgraded.Need to get 1273 kB of archives.After this operation, 5725 kB of additional disk space will be used.Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]Get:2 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 libjemalloc2 amd64 5.2.1-4ubuntu1 [240 kB]Get:3 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.1-0 amd64 5.1.5-8.1build4 [99.9 kB]Get:4 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 liblzf1 amd64 3.6-3 [7444 B]Get:5 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-bitop amd64 1.0.2-5 [6680 B]Get:6 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-cjson amd64 2.1.0+dfsg-2.1 [17.4 kB]Get:7 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-tools amd64 5:6.0.16-1ubuntu1 [856 kB]Get:8 http://azure.archive.ubuntu.com/ubuntu jammy/universe amd64 redis-server amd64 5:6.0.16-1ubuntu1 [45.9 kB]Fetched 1273 kB in 0s (2631 kB/s)Selecting previously unselected package libjemalloc2:amd64.(Reading database ...(Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 302654 files and directories currently installed.)Preparing to unpack .../0-libjemalloc2_5.2.1-4ubuntu1_amd64.deb ...Unpacking libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Selecting previously unselected package liblua5.1-0:amd64.Preparing to unpack .../1-liblua5.1-0_5.1.5-8.1build4_amd64.deb ...Unpacking liblua5.1-0:amd64 (5.1.5-8.1build4) ...Selecting previously unselected package liblzf1:amd64.Preparing to unpack .../2-liblzf1_3.6-3_amd64.deb ...Unpacking liblzf1:amd64 (3.6-3) ...Selecting previously unselected package lua-bitop:amd64.Preparing to unpack .../3-lua-bitop_1.0.2-5_amd64.deb ...Unpacking lua-bitop:amd64 (1.0.2-5) ...Selecting previously unselected package lua-cjson:amd64.Preparing to unpack .../4-lua-cjson_2.1.0+dfsg-2.1_amd64.deb ...Unpacking lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Selecting previously unselected package redis-tools.Preparing to unpack .../5-redis-tools_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-tools (5:6.0.16-1ubuntu1) ...Selecting previously unselected package redis-server.Preparing to unpack .../6-redis-server_5%3a6.0.16-1ubuntu1_amd64.deb ...Unpacking redis-server (5:6.0.16-1ubuntu1) ...Setting up libjemalloc2:amd64 (5.2.1-4ubuntu1) ...Setting up lua-cjson:amd64 (2.1.0+dfsg-2.1) ...Setting up liblzf1:amd64 (3.6-3) ...Setting up lua-bitop:amd64 (1.0.2-5) ...Setting up liblua5.1-0:amd64 (5.1.5-8.1build4) ...Setting up redis-tools (5:6.0.16-1ubuntu1) ...Setting up redis-server (5:6.0.16-1ubuntu1) ...Created symlink /etc/systemd/system/redis.service → /lib/systemd/system/redis-server.service.Created symlink /etc/systemd/system/multi-user.target.wants/redis-server.service → /lib/systemd/system/redis-server.service.Processing triggers for man-db (2.10.2-1) ...Processing triggers for libc-bin (2.35-0ubuntu3.4) ...NEEDRESTART-VER: 3.5NEEDRESTART-KCUR: 6.2.0-1018-azureNEEDRESTART-KEXP: 6.2.0-1018-azureNEEDRESTART-KSTA: 1Could not connect to Redis at 127.0.0.1:6380: Connection refusedError: Process completed with exit code 1.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
dockerfile 내부 폴더 copy
FROM node:20.10.0-alpine as build WORKDIR /home/app COPY package*.json . RUN npm install COPY . . RUN npm run build FROM node:20.10.0-alpine as production WORKDIR /home/app COPY --from=build ./home/app/package.json ./package.json COPY --from=build ./home/app/package-lock.json ./package-lock.json COPY --from=build ./home/app/tsconfig.json ./tsconfig.json COPY --from=build ./home/app/tsconfig.build.json ./tsconfig.build.json COPY --from=build ./home/app/nest-cli.json ./nest-cli.json COPY --from=build ./home/app/dist/ ./dist RUN npm install --only=production CMD ["npm", "run", "start:dev"]nestjs 애플리케이션을 docker를 사용하여 배포하기 위해서 Dockerfile을 작성했는데, dev stage에서 build한 build 산출물인 dist 폴더를 복사하려고 하는데, 복사가 되질 않네요,, 어떤 이유일까요? production stage를 주석처리하고, run build까지만 하고 exec 명령어로 해당 컨테이너에 들어가서 확인했을 때는 dist폴더가 존재하는 것을 확인했습니다..!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Workflow 작성시 npm install 문제
name : SSH and deployrun : | ssh ...run 스크립트 안의 npm install 실행시 command not found 라고 뜹니다. 근데 LightSail SSH 접속해서 다 확인해봤을 때, npm, npx 모두다 정상적으로 설치가 되어있는데 혹시 다른 문제가 있는걸까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ECS Deployment Circuit Breaker was triggered
안녕하세요 계속 질문만남기는 것 같아 죄송합니다.섹션 10. AWS Elastic Container Service (ECS) 자세히 알아보기!에서 ECR private repository 이미지로 AWS ECS service 생성하기 강좌를 따라하고 있는데요앞강좌에서 local 에서 도커 이미지 push 까지 완료하고 해당 강좌도Task definition 까지 생성을 잘 완료 하였습니다.하지만 서비스 생성중에강좌대로 똑같이 서비스를 생성후 서비스 생성 클릭을 눌렀는데요해당 에러가 나와서 CloundFormation 에서 보기 버튼을 눌러서 확인해보니깐Resource handler returned message: "Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'." (RequestToken: c1e2037e-83e2-33f1-1337-2b3ffd4347aa, HandlerErrorCode: GeneralServiceException) 검색을 해봐도 정확히 나오지가 않아서다시 서비스 생성해도 동일한 에러가 나오네요혹시 더 디테일한 로그를 보는방법이나해결방법을 알 수 있을까요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
nginx와 app 연결 (ECS 내에서)
안녕하세요 강사님강사님께서는 강의에서 어플리케이션을 80포트에 배포해 바로 ELB에 연결하셨는데요혹시 nginx를 중간에 끼게 된다면 어떤 방식으로 하면 좋은지 궁금합니다 저는 nginx를 중간에 껴서 리버스 프록시 서버를 만들고 싶은데요이러한 방법이 ecs에서는 권장되지 않아 80포트로 어플리케이션을 배포하신건지 궁금합니다 또한 만약 nginx를 중간에 낄 수 있다면이를 service discovery 방식으로 nginx와 어플리케이션을 각각 서비스로 분리해 연결하는 방식하나의 태스크 정의에 nginx + 어플리케이션을 같이 정의해 하나의 서비스로 배포하는 방식이 방법은 fargate 사용시 bridge 를 지원해 주지 않아 localhost로 통신했습니다둘 중에 어떤 방식이 더 괜찮을지...? 아님 더 추천해주는 방식이 있으신지 궁금합니다
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
VPC와 Security Group 관련해서 질문 있습니다
안녕하세요 강사님강의 너무 잘 듣고 있습니다 🙂 위의 로드밸런서 내 vpc 통신 관련 강의를 듣다가 vpc 내 통신에 관련해서 질문이 있어 문의글을 남깁니다1. Vpc가 달라도 인바운드 규칙에 security group을 추가하면 통신 가능한지?2. 같은 vpc 내에서는 security group 없이도 통신 가능한지?로드밸런서 같은 경우, 로드밸런서를 연결하는 인스턴스에 로드밸런서의 sg를 매핑시켜놓는 것을 확인했습니다근데 제가 같은 vpc 내에서 sg 인바운드 규칙 추가 없이 private ipv4로 curl 요청을 보냈을 때, curl이 정상적으로 통신이 가능해서 여쭤봅니다위의 2가지 내용이 궁금합니다
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
redis 서버 추가시 할당량 에러
이번엔 제가 스스로 해보고 싶었는데 안되서 질문드립니다 죄송합니다 ㅜㅜredis 서버를 추가하는 도중에이런창이떠서이렇게 추가를 했더니....redis 서버가 추가가안되서 다시 요청하려고했더니Only one open service quota increase request is allowed per quota라고 뜨네요 ㅜㅜ 혹시 redis 서버를 추가할 수 있는 방법이 있을까요?
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
308 status code
안녕하세요. 백그라운드를 먼저 소개해드리자면,강사님께서 설명해주셨듯 http -> https로 리다이렉션을 시킬 때, 301 status code를 내뱉도록 만들었습니다. 테스트하다가 알게 됐는데,GET 메서드의 경우에는 잘 리다이렉션되지만, POST PUT 메서드의 경우 GET 메서드로 바뀐채 리다이렉션되더라고요. rfc 문서에서는 아래와 같이 설명하고 있습니다.| Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the 308 (Permanent Redirect) status code can be used instead. 이에 따라 http -> https로 리다이렉션을 시킬 때 POST나 PUT 인 경우 308 status code를 주려고 했으나, aws 공식문서에는 이를 지원하고 있지 않더라고요.참고 : https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions보안 그룹에서 http에 대한 요청 자체를 막는것도 하나의 방법이 될거 같긴한데, 강사님께서는 어떻게 해결하실지 궁금해서 질문 남겨봅니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
client_loop: send disconnect: Broken pipe
안녕하세요 dev push 후 master 에 merge 중 에러가 나서 질문 드립니다! 섹션 4. Github Actions 를 이용한 배포자동화main branch 보호해주기 강좌를 보고 있는데요 client_loop: send disconnect: Broken pipe해당 에러가 나고 있지만domain 으로 접속해보니깐 수정한 텍스트 적용이 잘되더라구요 검색해보니https://may0301.tistory.com/10소켓이 닫혀서 nano ~/.ssh/config 파일에text editor에 Host * ServerAliveInterval 120 TCPKeepAlive no를 입력 해줘야한다고하는데 혹시 해당 에러가 나는 원인을 알수 있을까요?위에 검색한대로 소켓이 닫혀서 그럴까요?