첫 오프라인 써밋에 참가하다!

그동안 코로나로 인해서 온라인으로만 진행되었는데 올해 드디어 현장에서 열린 AWS Summit Seoul 2023에 다녀왔다!

 

이번 AWS Summit Seoul 2023은 5월 3일, 5월 4일 이틀동안 열렸고, 장소는 코엑스였는데 코엑스 전체를 대관할 정도로 대규모로 진행되었다.

너무 너무 가고 싶었는데 마침 팀원 분들께서 가게 되어서 데리고 가주셨다! 개인적으로 이번이 첫 오프라인 컨퍼런스, 써밋이었는데 멋진 경험을 할 수 있어서 정말 감사했다.

 

괜히 조기 마감 된게 아님을 실감할 수 있을 정도로 정말 많은 사람들이 있었는데, 대학생부터 주니어, 시니어까지 다양한 연령대와 데이터베이스, AI, 인프라, 시스템 등의 직종이 모인 것 같았다. 아무래도 오랜만의 오프라인 행사여서 그런지 많은 분들이 참석하셔서 뜨거운 관심과 열기를 느낄 수 있었다.

이 많은 사람들이 다 한 써밋을 보러 온 거라니..!


어떤 내용들이 구성되어 있나?

오전 9시 30분에 시작해서 오후 6시에 끝나는 일정으로

하루에 베뉴 별로 6개의 세션이 동시에 진행되어 원하는 강연을 골라서 보는 방식이었다.

 

Day 1은 산업 업종별 강연으로 AWS를 사용하고 있는 회사에서 어떻게 다루고 있는지, 업종 별로 사용에 어떤 특징이나 차이점이 있는지 알아볼 수 있는 시간들로 구성되어 있다.

Day 2는 기술 주제별 강연으로, 입문/중급/심화 기술로 나뉘어 AWS의 새로운 기술과 다양한 분야의 클라우드 전문가들의 강연을 듣고 배울 수 있는 시간들이었다.

 

나는 Day 2에 참석했고, 데이터베이스와 관련되면서 흥미로운 주제로 골라서 아래와 같이 듣기로 계획하였는데,

 

11:10~11:50오픈소스 데이터베이스로 탈 오라클! Why not?

13:10~13:50 : 갤럭시 규모의 서비스를 위한 Amazon DynamoDB의 역할과 비용 최적화 방법

14:20~14:50성공적인 AWS RDS 마이그레이션을 위한 여정과 필수 고려사항

15:20~16:00 : AWS에서 최소한의 비용으로 구현하는 멀티리전 DR 자동화 구성

 

아쉽게도 두번째 13:10 세션은 참석하지 못 했다.. 인기가 너무 많았는지 스탠딩 좌석까지 모두 마감되었다고 해서 입장이 불가능했다..

 

세션 간 쉬는 시간이 2~30분 정도 되기 때문에 인기 있는 세션은 최소 10분 전에는 가서 미리 줄을 서야 되겠다는 교훈을 얻을 수 있었다 😂


입장

코엑스 B홀에서 사전신청한 사람들한테 이름이 적힌 카드 목걸이를 준다. 이걸로 베뉴 들어갈 때마다나 부스 방문할 때마다 태깅하고 그러니까 계속 쓰게 된다.

 

또 처음에 기조연설 들어갈 때 선착순으로 런치박스 먹을 수 있는 고무밴드도 나눠주니까 받아놨다가 바꿔 먹을 수 있다.


기조연설

먼저 9시 30분~10시 40분에 기조연설이 진행되는데 3층 오디토리움에서는 강연자가 직접 강연하는 모습을 볼 수 있다. 그 외에는 지하 1층, 1층, 2층에서 강연 장면을 실시간으로 화면으로 만나볼 수 있다. 너무 시간에 맞춰 가면 3층 오디토리움이 마감되었다고도 해서 현장의 모습을 확인하고 싶다면 조금 넉넉히 가는 것이 좋을 것 같았다.

 

본격적으로 기조연설이 시작되기 전에 쇼트 영화 같은 영상을 시청했다. 아마존 CTO인 버너 보겔스가 연기를 한 것도 재밌었고, 내용 자체도 생각보다 너무 재밌었는데 주제는 비동기에 대한 내용이었다.

 

실제 세상은 비동기적(asynchronus)으로 동작하고 있고 그래야만 하는데, 그렇지 않고 동기적으로 동작한다면 어떻게 되는지를 그리는 내용이다.

 

버너 보겔스는 평소에도 비동기적에 대해 강조하는 걸 볼 수 있는데 AWS Re:Invent 2022 기조연설에서 한 말을 따오자면

"실제 세계는 비동기적이다. 동기적인 것은 하나도 없다. 많은 일이 항상 일어나고 있다. 자연은 비동기식으로 작동한다. 컴퓨터 시스템도 비동기식으로 만들어지는 게 자연스럽다. 이벤트 드리븐 아키텍처로 느슨하게 결합된 시스템(Loosely coupled systems)을 만들어야 한다." 라고 한 적도 있다.

 

 

Day 2 기조연설자는 아래와 같았는데

특히, Flitto 강동한 CTO님을 뵐 수 있어서 좋았다.

Flitto는 번역 통합 서비스를 제공하는 스타트업인데, 평소에도 참 멋진 CTO님과 문화가 있는 회사라고 생각하고 있었다.

한국은 Node.js 불모지라고 불릴 정도로 Node.js를 주로 사용하는 기업이 많지 않은데, 그 속에서도 Node.js로 운영을 하고 있고 결국 성공을 하신 그런 분이시다..

 

그리고 LG U+ 송주영 연구위원님도 짧은 순간 뵌 거였지만 정말 괜히 최연소가 아니구나 싶을 정도로 말씀을 너무 잘 하시고, "딱 이 5가지만 기억하세요" 하면서 원칙들을 딱 딱 알려주실 때 멋지다고 생각했다..

 

딱 이 5가지라는 건, DevOps에서 중요한 5가지 단계인데

  1. Security
  2. Reliability
  3. Automation
  4. Organization
  5. Governance

1번부터 피라미드 모양으로 기반이 되어 쌓아 올라간다고 생각하면 된다고 한다.

 

 

윤석찬 수석 테크 에반젤리스트께서 AWS 기반 아키텍처와 다양한 도구, 서비스를 소개해주셨고

나머지 내용은 윤석찬 수석 테크 에반젤리스트께서 강동한님과 송주영님께 Q&A 하는 방식으로 진행되었다.

 

내용을 간단하게 정리해보자면

 

  • 스타트업에서 AWS를 사용하면 좋은 점
    • 클라우드를 이용하면 서버리스를 구성하기 좋고, 비용도 절감할 수 있음
  • 서비스를 글로벌하게 제공하면서 겪은 점들
    • 인프라를 어떤 리전에 구축할 지도 고려해봐야 함
    • 거주 지역 / 기기 접속 위치 / IP 위치 등 어떤 점을 기준으로 잡을 지 정하는 것이 쉽지 않음
    • AWS의 글로벌 서비스를 이용하면 쉽게 해결할 수 있음(AWS DynamoDB 글로벌 테이블 등)
  • 보안에 대해서
    • 보안에 대해 정의하고 가자면, 보안이란 접근 통제, 암호화, 마스킹, 감시, 추적, 인증과 권한 관리 등이다.
    • 보안 모범 사례를 하나 잡고 따라가면 좋음
    • 놓치기 쉬운 부분인데 예를 들면 데이터베이스 연결 정보 등을 평문으로 박지 않도록 주의하기(AWS Secrets Manager 등 활용 가능)
  • 빼놓을 수 없는 비용 문제
    • 스팟 인스턴스를 적극적으로 활용해보기
    • 온디맨드하게 사용하기
    • 리전 마다 서비스 과금이 다르기 때문에 레이턴시가 크게 중요하지 않은 작업이라면 저렴한 리전으로 사용하기
  • 인프라 운영에 대해서
    • 모든 인프라를 코드화해서 자동화하는 것 추천(IaC)
    • 이 인프라를 Why/When/What 만들었는지 늘 추척할 수 있어야 함
    • 온디맨드하게 사용하기, 예를 들면 단순히 오토 스케일링을 설정해 놓는 것이 아니라 필요할 때마다 하루에 몇 번이라도 자동으로 정책을 수정할 수 있어야 함
    • 스팟 인스턴스, Graviton 등을 활용하기

점심

런치 박스를 받으면 요런 구성으로 되어 있다. Day 1 거는 다른 것 같던데 샐러드 과일 쿠키까지 이것저것 있어서 좋았다.

각 베뉴마다 나눠주는 거 같은데 고무밴드랑 교환해서 받으면 원하는 곳에서 먹으면 된다.


EXPO

MongoDB, Redis, Redhat, SKT, LG CNS, Megazone Cloud 등 많은 기업들이 부스를 운영했다. 세션을 안 듣는 시간이나 쉬는 시간 같을 때 들리면 되는데 이것저것 체험해보고 상품을 받거나 기업들과 서비스 상담을 해볼 수도 있다. 부스를 돌면서 설문조사 많이 하고, 가방이랑 시계, 무선 충전 거치대 등을 받아왔다. 사람들도 엄청 많고, 같이 다니면서 체험하는 과정 자체가 넘 즐거웠다.


끝으로..

첫 오프라인 써밋을 이렇게 대규모로 열리는 곳에 함께 참여할 수 있어서 뜻 깊은 시간이었다. 정말 멋지고, 대단하고, 똑똑한 사람들이 참 많다는 것을 다시금 느끼고 더 열심히 정진해야겠다는 동기 부여를 확실히 받을 수 있었다.

 

자세한 내용은 아래 홈페이지에서 확인할 수 있고, 발표된 강연 자료와 영상은 6월 중에 공개될 예정이라고 하니

다시 확인하고 싶거나 놓쳤던 강연을 보면 좋을 것 같다 :)

https://aws.amazon.com/ko/events/summits/seoul/agenda/

 

AWS Summit Seoul | Agenda

Day 1: 산업 업종별 강연 산업 업종별 강연 2023년 5월 3일 (수) AWS 모니터링 및 관측성 담당 부사장 난디니 라마니 (Nandini Ramani)의 기조 연설과 함께, 42개 세션에서 소개하는 산업 업종별 고객 혁신

aws.amazon.com

 

4월 20일(목) 10~17시 한국컨퍼런스센터

 

✅ 교육 목표

  • NHN Cloud 서비스를 활용하여 2-tier 구조를 설계하고 구축할 수 있습니다.
  • 인프라 확장 기술인 Auto Scale 개념을 이해하고 활용할 수 있습니다.
  • 클라우드 서비스를 운영 관리에 필요한 서비스를 사용할 수 있습니다.

 

✅ 교육 목차

  1. 소규모 웹사이트 구축하기
  2. 인스턴스 시스템 모니터링 및 감시 설정하기
  3. 조건에 맞춰 서버 Scale In/Out 해보기

1. 소규모 웹사이트 구축하기

NHN Cloud에서 아래와 같은 아키텍처를 구성하는 실습을 진행해보았다!

 

 

Lab1. 기본 인프라 서비스 활성화

  1. 리전부터 확인하고 설정하기! 잘못된 리전에 만들었을 경우, 다 부수고 다시 만들어줘야 함..
  2. 기본 인프라 서비스 활성화하기

 

Lab2. 2개의 VPC 설정 / 인터넷 게이트웨이를 생성 후 라우팅 테이블에 연결

먼저, 사설망을 2개 생성한다.

  • 서비스용 : 웹 서버가 돌아갈 Service VPC
  • 관리용 : Private Subnet에 DB 서버가 돌아갈 mgmt VPC (Default VPC를 이걸로 변경)

 

사설망은 인터넷이 연결이 안 되어 있기 때문에, 인터넷 게이트웨이(문과 같은 역할)를 연결해야 한다.

 

단계는..

1. 인터넷 게이트웨이 생성

2. 라우팅 테이블(Service VPC)에 인터넷 게이트웨이 연결 (경로를 알려주는 것)

 

디폴트로 생성된 Default VPC의 경우 인터넷 게이트웨이가 자동으로 할당되어 있기 때문에

라우팅 테이블에서 Service VPC에만 인터넷 게이트웨이를 연결해주면 된다.

Lab3. Management vpc - public subnet 생성 / Service vpc - private subnet, public subnet 생성

  • mgmt vpc : Default Network의 경우, public용 subnet 또한 자동 생성 → Default Network를 서브넷 변경으로 이름만 변경
  • service vpc : private, public용 subnet 총 2개 생성
  • 헷갈리지 않게 네이밍이 대충 하지 말고 의미를 담는 것이 중요하다.

 

Lab4. mgmt vpc의 서브넷에 mgmt 인스턴스 생성

인스턴스를 생성 시, 네트워크 서브넷에 public-subnet-mgmt를 연결한다.

 

Lab5. 보안그룹 설정 (local → mgmt-server)

공인 IP를 통해 mgmt-server에 접속할 수 있게 mgmt-sg에 내 IP로 보안 규칙을 생성한다.

 

Lab6. Service VPC의 Private Subnet에 MariaDB 인스턴스를 생성

💡 RDS for DB vs DB Instance

 

✔️ RDS for DB

  • 복잡한 설정 없이 고가용성, 자동 백업, 모니터링을 UI 상에서 이용할 수 있음
  • PaaS형 상품
  • 설치 간편성 : 희망 서버 사양 선택 > 희망 DB 버전 선택 > 생성

1. 고가용성(HA)

  • Master와 Candidate Master 인스턴스가 나란히 생성됨
  • Master가 정지되면 Candidate가 자동으로 Master로 승격되어 장애를 막음

2. 자동화된 백업

  • 지정된 시간 범위 안에 자동으로 백업이 수행됨
  • Object Storage에 보관할 수 있고, 원하는 시점으로 복원할 수 있음

3. 손쉬운 설정 변경

  • 웹 콘솔을 통해 설정을 쉽게 변경할 수 있음

4. 모니터링

  • 하드웨어 및 DB 상태를 모니터링 할 수 있음
  • 슬로우 쿼리 같은 부분도 같이 제공
  • 임계치 설정 시 알림 설정도 받을 수 있음

 

✔️ DB Instance

  • OS 위에 DB를 설치한 단순 DB 설치형, 나머지는 고객이 관리
  • IaaS형 상품

 

 

Lab7. Service VPC의 Public 서브넷에 웹서버를 설치

 


  • mgmt vpc와 service vpc가 통신하기 위해 거쳐야 할 설정 단계!

mgmt vpc ↔ Sevice vpc

0. local에 있는 펨키를 mgmt-server로 전송

1. 피어링 게이트웨이 생성

2. 라우팅 테이블 두개 다 잡아주기

3. 보안그룹 mgmt에서 들어오는 것만 열어주면 됨

 

아래에서 따라해보자!

 

Lab8. Local 환경에서 mgmt-server로 키페어 전송

ssh -i key.pem centos@[mgmt-server public ip]

 

Lab9. mgmt VPC ↔ Service VPC를 피어링 작업 / 각각의 VPC 라우팅 테이블 설정

1. 네트워크 - 피어링 게이트웨이 - 생성

두 개의 네트워크가 사설 통신하기 위해서 피어링 게이트웨이를 생성해준다.

 

2. 네트워크 - 라우팅 - 라우트 선택 - 라우트 생성

mgmt는 service도 가야 되고, db에도 가야한다.

두 군데에 가야 되기 때문에 범위를 vpc 자체로 열어줄 것!

 

mgmt vpc 라우팅 테이블에서 10점 대역이 들어올 거니까 10점 대역이 피어링 게이트웨이를 타야 하므로

대상 CIDR에 10.0.0.0/16으로 설정한다.

service vpc의 라우팅 테이블은 192.168 대역이 피어링 게이트웨이를 타야 한다.

Lab10. 보안그룹 설정 ( mgmt → web, mydb )

 

Lab11. web1 → DB 서버 접속

먼저 보안그룹 설정이 필요하다.

 

  • 포트 : 3306

db 서버 보안그룹(db-sg)에 3306 포트를 열어주어야 한다.

 

  • IP : web-sg

web 서버가 현재는 1개지만 여러 개로 늘어날 수 있다고 하면,

db 서버 보안그룹(db-sg)에 web 서버 보안그룹(web-sg) 자체를 추가해주면

나중에 추가되는 web 서버를 db-sg에 매번 넣어주지 않아도 되어 편리하다.

 

🤔 db-sg 보안그룹에 web-sg 보안그룹 자체를 추가한다는 건?

web-sg를 보안그룹으로 쓰는 모든 인스턴스를 db-sg에서 허용해달라는 의미와 같다.

 

두둥

web 서버에서 db 서버에 접속했다!

 

Lab12. 웹서버의 /www/var/htmlprocess_create.php 파일 수정

db 서버의 ip로 변경

 

Lab13. 생성한 웹서버를 이용하여 이미지 생성

  • 이미지 : 현재까지 구성한 인스턴스 상태를 스냅샷

환경구성을 다 하고 이미지를 생성하는 것이 좋다.

인스턴스를 정지 후 이미지 기능을 사용하는 것을 권고한다.

 

1. Compute - 인스턴스

2. 생성하고자 하는 인스턴스 중지

3. 이미지 생성

 

4. Compute - Image에서 확인

 

Lab14. LB 생성 및 설정

💡 Load Balancer

트래픽을 분산시켜주는 기능

 

✔️ 알고리즘에 의해 동작 방식이 조금씩 다름

1. Round Robin (라운드 로빈)

  • 트래픽을 전달할 인스턴스를 순차적으로 선택하는 가장 기본적인 방식

2. Least Connections (최소 연결 우선 선택)

  • TCP 연결 수를 기준으로 하며 부하가 가장 적은 인스턴스로 보내는 방식
  • 특정 인스턴스에 부하가 집중되는 상황 방지

3. Source IP(원본 IP 기준 선택)

  • 청자의 원본 IP를 해싱하여 처리할 인스턴스를 선택
  • 한 사용자의 요청을 기억해 매번 동일한 인스턴스에서 처리하고자 할 때 유용

 

✔️ 지원 프로토콜

1. TCP : TCP(4계층) LB 제공

2. HTTP / HTTPS : OSI 7계층 LB 제공

3. TERMINATED_HTTPS : HTTPS에서 SSL Termination 기능이 추가돼 LB 제공

 

✔️ 리스너

  • LB 앞 단에 리스너가 있음
  • 리스너가 듣고자 하는 포트와 프로토콜 포트만 허용해줌
  • HTTP/80를 듣고자 하는데, HTTPS가 들어오려고 하면 못 들어감
  • 리스너가 듣고 있는 정보만 통신 가능
  • 필요한 수만큼 리스너 생성하면 됨
  • 보안그룹에 LB 정보가 없으면 통신이 안 되고 부하 분산도 안 됨

 

✔️ IP접근제어기능

🤔 LB로 들어오는 트래픽이 너무 많으면? 너무 느려지면?

IP를 확인해서 이슈가 있을 때 LB에 IP접근제어기능을 쓰면 좋음

 

 

LB 생성

1. network - Load Balancer

2. health check를 해서 인스턴스 상태를 확인함 -> 80 포트, url 체크(웹서버 특정 디렉토리에 특정 파일이 있는지)

3. 네트워크 설정 (web1)

 

 

 

Lab15. web-img 이미지로 web2 서버 생성 / 종료된 web1 서버 시작

1. 정지했던 web1 서버 켜기

2. 인스턴스 생성 시 이미지 사용

 

Lab16. LB에 Floating IP를 할당

LB에 공인 IP 할당

 

Lab17. LB에 web-2 서버를 추가

  • LB - 인스턴스 연결 추가

로드 밸런서에 라운드 로빈할 총 2대의 인스턴스(web1, web2) 추가 완료!

 

  • web-sg 보안 그룹에 로드 밸런서 사설 IP 추가해주기

안 그러면 80포트로 모든 IP가 다 들어오게 되어버린다.

 

30초에 한번씩 추가하기 때문에 바로 안 될 수도 있음 기다려줘야 한다.

대신 LB를 재시작하면 바로 적용된다.

로드밸런서 - 리스너 - 리스너 변경 아무것도 변경하지 말고 누르면 재시작 된다.

 

결과

 

새로 고침 할 때마다 두 인스턴스로 라운드 로빈 되는 걸 확인할 수 있다!

 

Lab18. 웹사이트 확인

1. 데이터 입력

 

2. DB 서버 접속 후 데이터 삽입 확인!

웹에서 입력한 정보가 DB에 잘 들어가있는 것을 볼 수 있다.

 

+ 추후 도메인을 달고 싶다면 LB에 도메인 설정만 해주면 된다.

+ 원본 서버에 점검이 필요하면 mgmt-server를 통해 사설망으로 들어가서 점검할 수 있다.

 

로드 밸런서 모니터링

기본적으로 제공해주는 통계 기능을 통해 로드 밸런서를 모니터링 할 수 있다.


2. 인스턴스 시스템 모니터링 및 감시 설정하기

무료니까 꼭 이용해보기

1분 단위 수집해주고, 이슈가 있으면 연락을 준다.

 

  • Compute - System Monitoring

 

단계는..

1. 레이아웃 만들기

2. 알림

2-1 알림 받을 사용자 그룹 생성

 

2-2 어떤 그룹에 어떤 알림 줄 지 생성

 

2-3 감시 설정

 

2-4 서버 목록 설정

 

2-5 사용자 그룹 설정

 

 

테스트

  • systemctl stop httpd로 강제로 httpd 종료해보기

 

SMS와 이메일로 바로 연락이 온다!

 

 

시스템 모니터링 - 이벤트 현황 페이지에서도 확인할 수 있다.


3. 조건에 맞춰 서버를 Scale In/Out 해보기

필요에 따라 서버를 확장하거나 축소하는 것

 

💡 Scaling

인스턴스 또는 컴퓨팅 파워를 확장하는 것

 

  • Scale Up : 장비의 설비 성능을 높이는 것

 

  • Scale Out : 장비의 설비 규모를 늘리는 것

Auto Scaling Group

  • Scale In/Out을 자동으로 해주는 것
  • 인스턴스를 추가로 생성 또는 삭제하는 조건과, 조건이 만족하는 경우 수행할 행동을 정의한 것
  • 최소, 최대, 구동 인스턴스는 스케일링 그룹에서 반드시 정의해야 하는 매개변수
    • 최소, 최대 : 만들어질 수 있는 limit 수
    • 구동 : 돌아갈 인스턴스
  • 임계치 또는 감축 정책을 미리 설정해놓으면 지속적으로 모니터링 하다가 조건이 만족하면 Scale In/Out 함
  • 모니터링은 아래 항목 중에 원하는 항목을 선택하면 됨

  • 어떤 값을 보고 움직일까? Auto Scaling Group 안에 있는 인스턴스의 평균값으로 움직임
  • Instance Template을 사용하면 좋음
    • 자주 사용하는 인스턴스 구성 요소 정보를 미리 정의해 보관하는 서비스

 

설정

1. 인스턴스 템플릿 설정

스펙은 한 번 설정하면 나중에 바꿀 수 없다.

 

2. Compute - Auto Scale

2-1 인스턴스 템플릿으로 인스턴스 설정

2-2 스케일링 그룹 설정

증설 정책 - 재사용 대기 시간 → 쿨타임 : 한번 수행하고 나면 쿨타임 동안은 조건이 만족해도 오토 스케일링을 하지 않음

 

로드 밸런서랑 연동해서 자동으로 LB 밑으로 들어가도록 한다.

 

설정 결과

  • 오토 스케일링 그룹 생성

 

  • 인스턴스 템플릿 + 로드 밸런서 -> 인스턴스 생성

 

  • 로드 밸런서 인스턴스에 오토 스케일링 인스턴스가 추가됨

 

3대에서 움직이다가 4대가 됐다가 3대가 됐다가 그런 방식이다.

 

⚠️ 오토 스케일링으로 만들어진 인스턴스는 콘솔에서 삭제하거나 중지할 수 없음

 

 

부하 테스트 방식

  • 리눅스 도구 Stress를 이용하여 부하테스트 진행
  • web-auto에서 해야 됨
  • stress -c 1 --timeout 240
  • 인스턴스 > web-auto > 모니터링 > 전체 팝업으로 보기
  • 오토 스케일 > web-auto > 통계 > 평균 값 보여주는 것

 

결과

1. 인스턴스 1대가 추가됨

 

2. 오토 스케일 인스턴스 목록에도 추가됨

 

3. 로드 밸런서에도 2대 추가됨

 

 

4. 나중에 축소될 때는 먼저 만들어진 인스턴스가 삭제됨

 

 

모든 로그는 Cloud Trail에서 확인 가능

오토 스케일은 SYSTEM이 해준걸 알 수 있다.

 

++ 리소스 반납

다 썼으면 잊지 말고 꼭 리소스 반납하기

  1. 인스턴스 삭제
  2. 서비스 비활성화
  3. 조직 삭제

 

NHN Cloud 전반적인 기능을 알차게 배울 수 있는 유익한 시간이었다.

이미지, 인스턴스 템플릿, VPC, 라우터, 피어링, 로드 밸런서, 모니터링, 스케일링까지-!

특히 처음에 구성할 아키텍처를 먼저 보여주시고 직접 실습을 통해서 따라가니까 더 이해가 잘 된 것 같다.

엔클 최고당

IaaS vs. SaaS vs. PaaS

요즘, 클라우드 하면 IaaS, PaaS, SaaS 를 많이 들어보셨을텐데, 이는 클라우드 서비스를 분야별 특성으로 나눈 것입니다.

 

IaaS, PaaS, SaaS가 대체 무엇인지 비교를 통해 알아보겠습니다.

IaaS (Infrastructure-as-a-service)

시스템 인프라를 서비스로서 제공합니다. 네트워크, 스토리지, 서버 등을 가상화하여 제공하고 관리합니다. 즉, 가상머신을 빌려주는 서비스입니다.

NHN Cloud, AWS, MS Azure, GCE 등에서 제공합니다.

 

PaaS (Platform-as-a-service)

애플리케이션 실행 환경을 서비스로서 제공합니다. 소프트웨어 작성을 위한 플랫폼을 가상화하여 제공하고 관리합니다. 개발자는 운영체제, 소프트웨어 업데이트, 저장소 또는 인프라에 대한 관리없이 소프트웨어 개발에만 집중할 수 있습니다.

NHN Cloud PaaS-TA, AWS Elastic Beanstalk, Heroku, Google App Engine 등이 있습니다.

 

SaaS (Software-as-a-service)

애플리케이션을 서비스로서 제공합니다. 대부분의 SaaS 애플리케이션 웹 브라우저를 통해 직접 실행되므로 클라이언트 측에서 다운로드 설치가 필요하지 않습니다.

NHN Cloud Dooray!, Google Apps, Dropbox 등이 있습니다.

 

 

NHN Cloud

국내 NCP 중 하나인 NHN Cloud는 IaaS, PaaS, SaaS를 모두 아우르는 전 영역에서 각 산업 분야에 맞는 클라우드 솔루션을 직접 개발 및 출시하여 사업영역을 확장해나가고 있습니다.

 

NHN Cloud의 서비스를 나누어 보면 다음과 같습니다.

 

IaaS

  • Public Cloud
  • Private Cloud
  • Multi Cloud

 

PaaS

  • PaaS-TA

애플리케이션 개발과 운영을 위해 필요한 플랫폼을 온라인 환경에서 제공하는 공개형 PaaS 플랫폼입니다. 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경으로 구성되며, 다양한 개발 언어와 프레임워크를 제공합니다.

국내 최초로 공공 클라우드 PaaS 부문 보안인증을 획득했습니다.

  • Gamebase
  • Security
  • Notification
  • Search
  • Dev Tools
  • 등등

 

SaaS

  • Dooray! : 메일과 프로젝트 단위의 업무 관리, 메신저를 통합한 협업도구
  • 그룹웨어 : 전자결재 및 게시판을 통합
  • ERP : 인사와 재무 서비스를 제공하는 ERP

 

 

 

 

참고링크

✅ 공식문서

인스턴스 생성 과정

  1. 조직 생성 (그룹의 개념, 프로젝트를 여러개 소유할 수 있음)
  2. 프로젝트 생성
  3. 서비스 추가
  4. Compute > Instance > + 인스턴스 생성
  5. 이미지 설정
    1. 이미지 종류(CentOS, Ubuntu, Windows 등), 최소 블록 스토리지(저장공간 크기), 비트
  6. 인스턴스 정보 설정
    • 인스턴스 이름, 타입(리소스 사양) 수, 키 페어(ssh -i [키페어파일] [OS]@[IP])
  7. 네트워크
  8. 플로팅 IP (외부에서 접근 가능할 수 있게 만든 IP, 해당 설정을 해야 외부에서 접근 가능)
  9. 보안 그룹 (인스턴스에 port를 오픈해주는 역할, ssh는 22번 포트이므로 외부에서 접근 시 22번 포트를 오픈해야 접근 가능)

테스트용 인스턴스 정보

  • 이미지 : CentOS 7.9
  • 인스턴스 정보
    • 이름 : mj-test
    • 타입 : m2, 4core, 8gb
    • 수 : 1개
    • 키페어 이름 : mj-keypair3
  • 블록 스토리지
    • 타입 : HDD
    • 크기 : 40gb
  • 네트워크 : 플로팅 IP 설정
  • 보안그룹 : JMJ

인스턴스 접속 방법

  • 외부에서 인스턴스에 접속할 수 있게 플로팅 IP 설정 필요
    • '플로팅 IP 관리' 메뉴에서 설정
  • 터미널에서 ssh로 접속하는 방법
$ ssh -i [키페어파일] [OS]@[플로팅 IP]
  • 접속 정보에 있는 커맨드를 복사할 수도 있음
  • 보안그룹 설정
    • 해당 인스턴스의 '네트워크' 메뉴 or Network > Security Groups 에서 보안 규칙 생성
    • TCP, 포트 22(SSH), 자신의 IP 주소/22를 입력 후 저장
    • 주의) 수신 0.0.0.0 허용 은 추가하면 안됨 -> 보안 상 문제
    • IP 주소 확인 : https://www.whatsmyip.org/more-info-about-you/
  • 포트 열려있는지 확인할 때
    • 특정 포트로 접근 시도해서 타임아웃 유무 확인
telnet xxx.xxx.xxx.xxx 22

nc -v -z host.docker.internal 4505
nc -v -z host.docker.internal 4506

nmap -sS -q -p 4505-4506 host.docker.internal

- telnet 말고도 nc나 nmap로도 포트 열려있는지 체크 가능

 

 

참고

https://base-on.tistory.com/449?category=939974

+ Recent posts