avatar
eunah0507

[AWS] 02장. AWS 이해하기 위한 클라우드 & 네트워크의 구조

Women in Spring그림으로 이해하는 AWS 구조와 기술
a month ago
·
15 min read

02장. AWS 이해하기 위한 클라우드 & 네트워크의 구조


💡 AWS는 클라우드 컴퓨팅을 제공하는 서비스이다. 그래서 클라우드가 뭘까?

🎨 2.1 클라우드와 온프레미스

📌 2.1.1 클라우드란?

  • 클라우드란 언제, 어디서든 인터넷을 통해서 접속이 가능한 환경을 뜻한다.

    • ex. 마이크로소프트이 Office365나 파일 스토리지 서비스, 음악 배포 서비스 등

  • 클라우드 환경에서는 인터넷상에 설치된 소프트웨어나 동영상, 음악 등 자원을 사용할 수 있고 로컬 환경에 저장하는 것처럼 클라우드에 저장하는것도 가능하다.

📌 2.1.2 클라우드 컴퓨팅: 인프라를 통째로 빌린다

💡 일반적으로 클라우드라고 하면 클라우드 컴퓨팅을 일컫는다.

  • 클라우드 중에서도 서버 및 네트워크 등 인프라 전체를 임대해 주는 서비스로 AWS 및 마이크로소프트 애저(Azure), 구글 클라우드 플랫폼(Google Cloud Platform)이 있다.

  • 이와 같이 클라우드에 구축된 인프라를 활용하는 서비스나 이를 사용하는 것을 클라우드 컴퓨팅이라고 한다.

📌 2.1.3 온프레미스와 임대

💡 온프레미스(on-premises)란 자사가 서버 등을 구축하는 것을 의미한다.

  • 서버만 임대하는 것을 임대 서버라고 부르는 경우가 많다.

  • 네트워크나 장소를 임대하는 경우는 온프레미스라고 한다.

  • 온프레미스의 장점은 자사에서 자유롭게 설계, 운영할 수 있다는 점이다.

    • 그러나 그만큼 서버 구성에 대해 숙련된 기술자가 필요하다.

💎 그렇다면 온프레미스의 반대말이 클라우드일까? 엄밀하게는 다르다.

  • 온프레미스의 반대말은 오프프레미스(off-premiss)라고 말할 수 있다.

  • 좀 더 쉽게 말한다면 임대나 공용이라고 할 수 있다.

    • 자사가 소유, 운영하지 않고 임대하거나 공공장소에 구축된 것을 사용하는 형태이다.

  • 임대의 장점은 회사에서 직접 관리할 필요가 없다는 것이다.

  • 그렇지만 제공하는 측의 규제를 지켜야한다는 단점이 존재한다.

    • OS 업데이터, 설치할 수 있는 소프트웨어, 구성 등에 제한이 있는 경우 多

📌 2.1.4 공용 클라우드와 사설 클라우드

2092
  • 공용 클라우드란 AWS처럼 임대하는 클라우드이다.

  • 사설 클라우드란 자사에 구축하는 클라우드이다.

  • '온프레미스에서 클라우드로' 전환할 경우 2가지 변화가 있는데, 하나는 자사 운영에서 임대로 바뀌는 것이고, 다른 하나는 비클라우드에서 클라우드로 바꾸는 것이다.

  • 그림과 같이 온프레미스와 클라우드는 완전히 반대되는 말은 아니지만, 자사에서 물리적인 모든 것을 충당하는 체제에서 클라우드 환경을 임대하여 사용하는 체제로 크게 움직이고 있다고 이해하면 된다.


🎨 2.2 가상화와 분산 처리

💡 클라우드를 지탱하는 데 가장 중요한 기술은 가상화이다.

  • 가상화란 본래 서버에 필요한 물리적인 부품을 가상으로 생성하여 가상 서버로 만드는 것을 뜻한다.

📌 2.2.3 분산 처리와 로드 밸런서

2093
  • 클라우드를 지탱하는 중요한 기술을 한 가지 더 든다면 분산 처리이다.

    • 분산 처리란, 기기 여러 대에 분산하여 처리하는 방법을 말한다.

  • 이 기술을 많이 사용하는 것은 웹 사이트이다.

  • 서버 여러 대에 분배하는 장치를 로드 밸런서(LB)라고 한다.

  • 로드 밸런서는 각 서버를 확인하여 부하를 분산한다.

  • AWS는 로드 밸런서로 ELB(Elastic Load Balancing)를 제공한다.

  • 클라우드의 '언제든지 마음대로 서버나 인프라를 구축할 수 있다'는 특징은 가상화와 분산 처리에 의해 지탱된다

💎 이중화

  • 이중화란 시스템이나 서버에 문제가 생겨도 계속 가동되게끔 조치하는 것을 말한다.

  • 백업하거나 여러 대를 운영하는 것이 일반적이다.

  • 가상화나 분산 처리 방식은 이러한 이중화에도 크게 도움이 된다.

  • 서버 여러 대를 구축하는 것은 그것만으로도 백업이 되고, 분산 처리를 해두면 서버 한 대에 문제가 생겨도 다른 서버에 의해 기능이 유지된다.


🎨 2.3 SaaS, PaaS, IaaS

  • 클라우드를 말할 때 자주 사용되는 용어가 SaaS, PaaS, IaaS인데,

    '어느 수준까지 제공하는가?'를 분류해 놓은 것이다.

  • SaaS(Software as a Service)는 인프라나 플랫폼(OS)뿐만 아니라 애플리케이션까지 제공한다.

    • 구체적으로 SNS나 블로그 서비스, 웹 메일 서비스 등을 들 수 있다.

  • PaaS(Platform as a Service)는 플랫폼까지만 제공한다.

    • OS가 설치된 서버에 사용자가 애플리케이션 등을 설치해서 사용해야한다.

    • 이른바 임대 서버가 이에 해당한다.

  • IaaS(Infrastructure as a Service)는 인프라만 제공한다.

    • 즉, 네트워크나 서버 머신 등을 제공한다.

  • 이러한 SaaS, PaaS, IaaS를 통칭해서 EaaS(EvevryTing as a Service)라고 한다.

  • 또 다른 말로는 XaaS라고도 한다.

📌 2.3.2 3가지 서비스의 특징

2094

🎨 2.4 서버와 인스턴스

💡 서버란, 어떠한 서비스를 제공하는 것이다.

💎 '기능으로서의 서버'와 컴퓨터를 구분하자

  • 조금 애매하긴 하지만 서버를 서치하는 컴퓨터 자체도 '서버'라고 한다.

  • '기능으로서의 서버'와 서버 기능을 설치하는 '물리적인 컴퓨터로서의 서버'는 구분해야한다.

📌 2.4.3 대표적인 서버

  • 웹 서버

    • 웹 사이트의 기능을 제공하는 서버이다.

    • HTML 파일이나 이미지 파일 등을 저장한다.

      ex. 대표적인 소프트웨어로 Apache, Nginx 등이 있다.

  • 메일 서버

    • 메일의 송수신을 담당하는 SMTP 서버와 클라이언트에 메일을 수신하는 POP 서버가 있다.

    • 위 두가지를 합쳐 메일 서버라고 부르는 경우가 많다.

    • 메일을 내려받지 않고 서버에 둔 채로 읽는 IMAP4 서버도 있다.

      ex. Sendmail, Postfix, Devecot 등

  • 데이터베이스 서버

    • 검색하기 위한 데이터를 저장하는 서버이다.

      ex. MySQL, PostgreSQL, MaraiaDB, Oracle 등

📌 2.4.5 서버용 OS란

2095
  • OS(Operating System)란 컴퓨터를 움직이기 위한 소프트웨어로, 하드웨어와 OS 위에서 동작하는 소프트웨어 사이에서 중간 역할을 한다.

  • 서버용 OS는 클라이언트용 OS에 비해 종류가 많고 특히 유닉스 계열은 원래 오픈 소스로 개발되었기 때문에 종류가 다양하다.

  • 윈도 계열은 윈도 서버만 있다. 파일 서버의 OS로 많이 사용된다.

  • 웹 서버나 메일 서버 등 인터넷에 사용되는 서버의 OS에는 리눅스 계열이나 BSD 계열이 사용되는 경우가 대부분이다.

📌 2.4.6 인스턴스와 서버

  • Amazon EC2에서 서버는 인스턴스로 생성된다.

  • 인스턴스란 '실체'라는 의미이며, 실제 가동되고 있는 가상화 컴퓨터를 말한다.

  • 기능으로서의 서버는 인스턴스라 부르지 않는다.

    • 즉, '웹 서버의 인스턴스'를 생성한다는 말이 되어도 '웹 인스턴스'라고 하지 않는다.


🎨 2.6 IP 주소와 DNS

📌 2.6.1 IP 주소란

  • 인터넷상에서 서버나 네트워크, PC 등 호스트를 구별하는 주소나 이름표와 같은 것이 IP 주소이다.

  • 웹 사이트를 볼 때나 데이터를 송수신할 때 사용한다.

  • IP주소는 IPv4의 경우 10.210.32.40과 같이 4개로 구분된 10진수의 숫자(최대치 255)로 표시된다.

  • 개인적으로 사용할 경우 유동적으로 할당되는 것이 일반적이다.

  • 그러나 서버는 고정해두지 않으면 사용자가 접속할 수 없기 때문에 고정해야한다.

📌 2.6.2 사설 IP주소와 공인 IP 주소

  • 인터넷에서 사용되는 것은 공인 IP 주소이다.

    • 공인 IP 주소는 관리되고 있어서 전 세계에 어떤 것도 중복되는 일은 없다.

    • 따라서 어떤 호스트인지 정확하게 확인할 수 있다.

  • 사설 IP 주소는 사내 LAN이나 가정 LAN에서 사용되는 IP주소이다.

  • 공인 IP 주소의 수는 한정되어 있고 전 세계에 있는 PC에 각각 하나씩 할당할 수 없다.

    그러므로 가정이나 회사와 같이 큰 단위로 공인 IP를 할당하고, 그 안에 있는 PC는

    가정이나 회사 내에서만 통신하는 IP를 할당 받는다 → 이것을 사설 IP주소라 한다.

💎 IPv6로 이전

  • IPv4는 IP 주소가 약 43억 개밖에 없어 부족해지고 있다.

  • 현재는 IPv6로 바꾸는 것을 추천한다.

  • IPv6는 8개로 구분되어 16진수로 표현하기 때문에 약 340간 개를 사용할 수 있다.

📌 2.6.3 DNS와 도메인

  • DNS란 URL에 포함된 이름에 해당하는 서버의 IP 주소를 알려주는 방식이다.

  • 사용자는 URL로 접속한다고 생각하지만, 실제는 DNS가 백그라운드에서 도메인명에 해당하는 IP주소를 확인하고 그 IP주소를 가진 서버에 접속한다.

  • AWS도 DNS서비스를 제공하고 있으며, Route53이 이에 해당한다.

💎 DHCP

  • 가정이나 회사의 사설 IP 주소는 DHCP(Dynamic Host Configuration Protocol)라는 방식에 의해 각 호스트에 할당된다.

  • DHCP에 의해 할당된 IP 주소는 유효 기간이 있어 기간이 지나면 재할당된다.

  • PC나 프린터의 IP 주소는 때에 따라서 바뀐다.


🎨 2.7 웹의 구조

  • 웹 사이트의 콘텐츠는 HTML이라는 형식으로 작성되어 있다.

  • 웹 사이트의 파일이 저장되어 있는 곳이 웹 서버이다.

  • 대표적인 웹 서버용 소프트웨어로는 Apache나 Nginx가 있다.

  • SSH란 서버를 설정할 때 접속하는 방버이다.

  • SSL 증명서를 설치하면 통신을 암호화할 수 있다.

📌 2.7.4 웹 사이트에 대한 공격 방법

2096

#Women-in-Spring

#2024-11-완독-그림으로-이해하는-aws-구조와-기술


- 컬렉션 아티클






꾸준함의 가치를 믿는 개발자