HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
프론트엔드 스쿨 교안(1기)
/
📝
Server(Linux, Ubuntu, AWS)
/
📝
5. AWS
📝

5. AWS

1. 가격 및 성능 비교2. 회원가입3. Lightsail부록node 배포시4. AWS S3

1. 가격 및 성능 비교

2020 클라우드 VM 가격 비교
2020 클라우드 VM 가격 비교
https://zetawiki.com/wiki/2020_%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C_VM_%EA%B0%80%EA%B2%A9_%EB%B9%84%EA%B5%90
아마존 라이트세일 요금의 모든 것과 비용 관리 방법 (서버 및 리소스 가격 책정 방법) | 스위프트코딩
서버를 유지하면서 유지관리비의 산정은 중요한 문제입니다. Lightsail의 요금은 기본적으로 인스턴스 유지비용만을 생각할 수 있겠지만 사용하는 요소들에 따라 다른 비용이 필요할 수도 있는데요. 라이트세일 서비스를 사용하면서 무료로 이용가능한 여러 서비스들의 혜택들도 알아보고 초과시 어떤 비용이 들어갈지 알아보려고 해요.
아마존 라이트세일 요금의 모든 것과 비용 관리 방법 (서버 및 리소스 가격 책정 방법) | 스위프트코딩
https://swiftcoding.org/all-about-amazon-lightsail-billing
아마존 라이트세일 요금의 모든 것과 비용 관리 방법 (서버 및 리소스 가격 책정 방법) | 스위프트코딩
(자료) 퍼블릭 클라우드 업체 3사 비교-2021
1] 2021년 3사 비교 점유율과 가성비 비교 빅 3 비교 코 크로치 랩스, 클라우드 3사 평가 보고서 발간 점유율 AWS 32% , Azure 20% , GCP 9% 클라우드 시장 계속 커진다. 2020년 코로나 시대 Azure 47% 성장, 구글 43% 성장, AWS 29% 성장 AW
(자료) 퍼블릭 클라우드 업체 3사 비교-2021
https://brunch.co.kr/@topasvga/1242
(자료) 퍼블릭 클라우드 업체 3사 비교-2021

2. 회원가입

📝
회원 가입

3. Lightsail

선택 이유 : 가격 저렴하여 오랫동안 여러분 프로젝트를 유지하기 좋습니다.
  • 로그인용 URL : https://scloudy.signin.aws.amazon.com/console
    • 계정 ID를 모를 경우 루트 사용자 이메일을 사용하여 로그인 버튼을 클릭하여 로그인 해주세요.
      notion image
  • 관리 콘솔
    • notion image
      notion image
  • 전체 제품군에서 가장 많이 사용되는 것은 EC2, Lightsail, S3(이미지 저장과 같은 저장서비스)
    • notion image
  • 로그인한 콘솔에서 검색해보아도 됩니다.
    • notion image
  • 회사에서는 보통 AWS를 사용하지만 AWS가 외국회사다 보니 회사에서 법적인 요건이 충족되지 않는 경우가 많습니다. 이런 이유때문에 Naver에서 제공하는 클라우드 서비스인 NCP를 사용하기도 합니다. (NCP 사용법은 아래 영상 참고) 사용법은 어떤 클라우드 서비스를 사용하시든지 대부분 유사합니다.
      1. 클라우드 서버를 할당받는다.
      1. 서비스와 관련있는 서버들을 연결한다.
      1. 원격 접속하여 코드를 배포한다.
      Video preview
 
  • 콘솔에서 “Lightsail” 검색 후 클릭, let’s get started 눌러주세요.
    • notion image
      notion image
notion image
 
  • 만약 운영하고 있는 서비스가 있다면 아래와 같이 떴을 것입니다. 인스턴스 생성을 눌러주세요. 위와 동일한 페이지로 이동합니다.
    • notion image
       
  • 접속 방법은 웹 접근과 원격 접속이 있습니다.
  • 인스턴스 생성(우분투로 생성해 주세요.)
    • notion image
  • 설정과 가격(플랜 선택)
    • notion image
      notion image
 
  • Cafe24와 비교
    • notion image
 
  • 인스턴스 생성 확인 (IP로 접속하면 돌아가고 있는 서비스를 확인할 수도 있습니다.)
    • notion image
      notion image
      notion image
 
  • 잠시 기다리면 활성화되며, 웹에서 콘솔로 접속할 수 있습니다.
    • notion image
 
  • 웹으로 접속하는 것이 편합니다. 컴퓨터에 key를 다운받고 ssh로 접속하는 방법도 있습니다.
    • notion image
 
  • ssh로 접속할 경우 git을 사용합시다.(명령어 통일을 위해)
    • Git
      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
      Git
      https://git-scm.com/
      Git
 
  • 구름IDE를 사용해보신 적이 있으시다면 구름IDE의 ssh 접속 명령어도 한 번 확인해보세요. (구름IDE도 AWS를 사용하고 있습니다.)
    • ssh -p 53435 root@15.165.76.108
      notion image
 
  • SSH키 다운로드
    • notion image
      notion image
      notion image
      notion image
      notion image
  • 접속 명령어
    • ssh ubuntu@내서버IP -i ./LightsailDefaultKey-ap-northeast-2.pem
      notion image
  • 리눅스 명령어(Shift + Insert 키를 누르면 붙여넣기가 됩니다.)
    • chmod 400 ~/.ssh/LightsailDefaultKey-ap-northeast-2.cer ssh ubuntu@내서버IP -i ~/.ssh/LiglshtsailDefaultKey-ap-northeast-2.cer sudo apt-get update sudo apt-get install nginx -y # nginx 시작하는 명령 # sudo systemctl start nginx cd /var/www/html/
      notion image
  • 파일 수정하고 여러분의 IP로 접속해보세요. 이미 접속해 있는 경우 새로고침하십시오.
    • notion image
  • route53 검색 후 도메인 연결 (생활코딩 강의 추천해드립니다. 해당 강의는 AWS 후원으로 만들어진 강의에요.)
    • notion image
      notion image
  • 도메인 등록
    • notion image
  • DNS 관리
    • notion image
  • 호스팅 영역 생성(레코드 이름과 값 입력)
    • notion image
      notion image
 

부록

  • Networking에서 Loadbalancer를 추가하면 하나의 서버가 다운되었을 때 다른 대체 서버를 설정할 수 있습니다. 이것을 사용하기 위해서는 위에 서버를 여러개 생성해두어야 합니다.
    • notion image
      notion image
 
  • 데이터베이스를 별도로 설정할 수 있습니다. 대신 DB는 가격이 조금 나갑니다.
    • notion image
      notion image
      notion image
  • 스냅샷 설정도 가능합니다. 매일 밤 백업을 해주는 기능이에요.
    • notion image
 

node 배포시

처음 Node 컨테이너로 생성 후 아래 코드 입력
cd htdocs rm -rf * git clone 주소 . npm i node app // 콘솔이 닫혀도 계속 실행하는 명령어는 nohup node app &, 나중에 kill 하셔야 합니다. 이는 웹 터미널이 아닌 터미널에서 실행하셔야 합니다.(https://morningame.tistory.com/154 글을 참고해보세요. 완전히 죽지 않게 하려면 forever를 사용하셔야 합니다.)
  • node 배포시 static IP 생성 필요.
    • notion image
 
  • 서버 선택 후 Create
    • notion image
  • 생성된 아이피 기록
    • notion image
  • Node 클릭 후 Networking 탭으로 이동
    • notion image
  • 아래 add rule을 통해 8080포트 Create
    • notion image
  • 생성 확인
    • notion image
  • 고정아이피:8080으로 접속
    • notion image
 
  • node 배포시 CSP 정책에 따라 배포가 제대로 안되는(CSS가 제대로 보이지 않는) 현상이 있을 수 있습니다. 프로젝트마다 아래 글에 따라 조치해주시면 됩니다.
Content Security Policy 해결 (feat. express-csp-header)
내 소중한 주말의 세시간을 잡아먹은 오류에 대한 포스팅이다. Nodejs & Express로 작업을 하고 있던 도중, ejs 파일에 inline script를 추가할 일이 있어서 여느 때와 같이 script 태그 안에 JS 코드를 작성했더니, Content Security Policy: 페이지 설정에 의해 리소스 로드가 차단됨: inline ("script-src") 이 에러가 떠서 나를 아주 화나게 했다.
Content Security Policy 해결 (feat. express-csp-header)
https://velog.io/@1106laura/Content-Security-Policy-%ED%95%B4%EA%B2%B0
Content Security Policy 해결 (feat. express-csp-header)
콘텐츠 보안 정책 | Web | Google Developers
웹의 보안 모델은 에 근간을 두고 있습니다. https://mybank.com의 코드는 https://mybank.com의 데이터에만 액세스 권한이 있으며 https://evil.example.com 에는 액세스 권한이 없습니다. 각 출처는 나머지 웹과 격리되며, 빌드하여 재생할 수 있는 안전한 샌드박스를 개발자에게 제공합니다. 이론상 완벽할 정도로 훌륭합니다. 실제로는 공격자가 영리하게 그 시스템을 파괴했습니다.
콘텐츠 보안 정책 | Web | Google Developers
https://developers.google.com/web/fundamentals/security/csp?hl=ko#%EA%B5%AC%ED%98%84_%EC%84%B8%EB%B6%80%EC%A0%95%EB%B3%B4
콘텐츠 보안 정책 | Web | Google Developers
  • 위 조치로도 안되는 경우는 아래 사항을 참고해주세요.
    • app.use(helmet()) 코드 삭제(아래 코드를 모두 입력한 것과 같습니다.)
      • notion image
    • 아래 코드 추가
      • app.use(helmet({ contentSecurityPolicy:false, }));

4. AWS S3

📝
부록 : AWS s3에서 정적페이지 호스팅하기