Cloud Service - AWS

letthem·2025년 3월 25일

LG CNS AM CAMP 1기

목록 보기
40/42
post-thumbnail

Cloud Service

  • On-Premises
    • 모든 걸 스스로 알아서 설치
    • 장점
      • 외부로부터 침입 방지.
      • 환경 private하게 구축 가능
    • 단점
      • 확장이 어렵고 비용이 많이 든다.
      • 문제가 생기면 대응 방법도 직접 구축해야 한다.
  • IaaS (Infrastructure as a Service)
    • 서버(운영체제), DB, JDK, data 관리, Application 등 직접 설치
  • PaaS (Platform as a Service)
    • 대부분 막혀있다. data 관리, Application 직접 운영
    • 장점
      • 훨씬 편리해짐
      • 네트워크, 운영체제, 플랫폼 등 신경 안 써도 된다.
  • SaaS (Software as a Service)
    • Gmail, iCloud, naver mail
    • 회원가입해서 그 회사가 제공해주는 서비스를 사용한다면 SaaS다.
    • Application도 신경 X
    • 구독 서비스 Subscribe (일정한 비용 지불하고 그에 걸맞는 서비스 제공받음)

AWS

용어 정리

  • root 계정 : 전체 서비스 이용 가능. IAM 계정 만들 수 있음. IAM 계정에 권한 부여
  • IAM 계정 : 일정 권한 부여받은 sub 계정

=> root 계정으로 IAM 계정(sub 계정 + 권한 부여) 여러 개 만들 수 있음

  • Region : 사용을 위해 분리된 완전히 독립된 공간
  • Availability Zone (AZ) : 가용 영역. 어느정도까지 안전하게 서비스가 되느냐 (트래픽 관리 등). 여러 위치에 분산시켜 관리하여 리스크 줄일 수 있음
  • VPC : virtual private cloud service 가상 네트워크 서비스
  • Private IP : 개인 IP
  • Public IP : 외부에 공개되어 있는 IP
  • Elastic IP : 고정되어 있는 IP
    • 서버가 중지되었다가 재시작하면 IP주소 재생성
    • Elastic IP를 사용하여 동일한 IP 주소 사용 가능

아키텍쳐 그리는 사이트
https://online.visual-paradigm.com/app/diagrams/#diagram:proj=0&type=AWSDiagram&width=11&height=8.5&unit=inch

EC2

인스턴스 : 서버



💫 키 페어 있어야 접근 가능

방화벽: 내부 -> 외부로 나가는 것 (아웃바운드) 막고, 외부 -> 내부로 들어오는 것(인바운드) 막음

ssh 트래픽 허용

내 IP -> 위치에 따라 바뀜. 지금은 테스트용이므로 위치 무관으로 설정

EC2 > 대시보드
리전과 가용 영역 🔽

인스턴스 연결 <- 이것보다 cmd로 접근하는 게 더 수월

centos git 설치
sudo yum install git
git --version

Termius 설치

cmd 창 (powershell X)

C:\Work> ssh -i lgcns-1-20250325-1.pem ec2-user@13.236.6.78

pem 키가 너무 많은 권한을 가짐 -> 권한 제한 필요

https://dabid.tistory.com/11

icacls.exe lgcns-1-20250325-1.pem /reset
icacls.exe lgcns-1-20250325-1.pem /grant:r %username%:(R)
icacls.exe lgcns-1-20250325-1.pem /inheritance:r

재접속 시도
ssh -i lgcns-1-20250325-1.pem ec2-user@13.236.6.78
ssh -i [pem키] [사용자명]@[IPv4]

🔽


C:\Users\user>cd C:\work

C:\Work>icacls.exe lgcns-1-20250325-1.pem /reset
처리된 파일: lgcns-1-20250325-1.pem
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

C:\Work>icacls.exe lgcns-1-20250325-1.pem /grant:r %username%:(R)
처리된 파일: lgcns-1-20250325-1.pem
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

C:\Work>icacls.exe lgcns-1-20250325-1.pem /inheritance:r
처리된 파일: lgcns-1-20250325-1.pem
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

C:\Work>ssh -i lgcns-1-20250325-1.pem ec2-user@13.236.6.78
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Tue Mar 25 06:08:06 2025 from 13.239.158.5


New Host

접속!

AMI 기반 EC2 인스턴스 생성

이미지(AMI) 생성
인스턴스가 중지된 상태에서 이미지(AMI) 생성 가능하다
공유하고 싶을 때 만들면 된다. 우선 삭제하자 !

이미지 > 프라이빗 이미지(강사님이 넣어주심) 🔽

  • docker가 설치된 AMI


  • 이렇게 생성한 toy-msa 이미지로 인스턴스가 생성되면
    1) 로그인 테스트 (접속 pem 파일 필요)
    2) Terminus 등의 SSH Client에 등록
    3) 인스턴스 중지 (Stop)
    4) AMI 생성 (자신의 이미지 생성)

1) 로그인 테스트
C:\work> ssh -i lgcns-1-20250325-1.pem ec2-user@13.210.241.63
다 잘 설치되어 있음 🔽
docker version
git --version
java -version


2) Terminus에 등록

Address만 바꿔줌!
docker images
필요없는 이미지 지우기
docker rmi edowon0623/first-service:ec2

cd /home/ec2-user/toy-msa/service-disc
mvn clean compile package -DskipTests=True
빌드 이후 target > .jar 파일이 생김

cat Dockerfile

도커 이미지 빌드
docker build --tag service-discovery:1.0 -f Dockerfile .

docker run -d -p 8761:8761 --name service-discovery service-discovery:1.0

  1. Terminus로 SSH 접속
  2. service-discovery 디렉토리 이동
  3. mvn clean compile package -DskipTests=true
  4. docker image build
  5. docker run discovery-service(8761 포트)

http://13.210.241.63:8761 안 들어가짐
인바운드 규칙 수정하자!

인바운드 규칙 추가
8761, Anywhere-IPv4

이제 접속 가능 !

이제 인스턴스를 여러 개 만들고, 하나의 인스턴스에 무얼 넣을지 설계할 수 있다.


3) 인스턴스 중지

4) AMI 생성



0개의 댓글