AWS란?

SEO


  • 아마존닷컴에서 개발한 클라우드 컴퓨팅 플랫폼이다.
  • Amazon Web Services는 아마존(Amazon)에서 제공하는 클라우드 서비스로, 네트워킹을 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등 다양한 서비스를 제공하고 있다.
  • 비즈니스와 개발자가 웹 서비스를 사용하여 확장 가능하고 정교한 애플리케이션 구축하도록 지원하여 준다.
  • 현재 소규모 법인(회사) 및 개인 을 포함한 다양한 사용자들이 사용하고 있으며, 클라우드 컴퓨팅의 장점을 이용하기 위해 많은 거대 기업에서도 활용하고 있다.

AWS의 개요


클라우드 컴퓨팅은 모든 산업에 걸쳐 비즈니스의 필수적인 부분이 되었다. AWS는 가장 인기 있는 형태이다. 효율성을 개선하고 다양한 비즈니스 관습을 완화했다. 2000년대에는, 기업들이 구입한 서버에 전적으로 의존했고, 이러한 서버들은 기능이 제한적이고 가격이 비쌌다. 게다가, 작동하는 서버에는 수많은 검증이 필요했다. 기업이 성장하면 할수록 서버 및 최적화가 더 많이 필요하게 되는데, 그러한 것들을 매번 관리하는 것은 비효율적이며 때로는 엄청나게 비용이 많이 들기도 했다. AWS의 이점은 이러한 많은 문제를 해결했다. AWS를 사용하는 기업은 서버를 즉시 사용할 수 있으며 AWS는 다양한 워크로드, 향상된 스토리지 옵션 및 향상된 보안 수단을 제공한다.


AWS의 역사

AWS는 2002년에 설립되었다. 그 회사는 서비스, 또는 고객들에게 제공하는 것으로 사용되지 않는 인프라가 팔리길 원했다.

그 아이디어 열정을 만났고, 아마존은 2006년 첫번째 AWS상품을 내놓았다. 4년 후, 2012년에 아마존 닷컴은 큰 행사 AWS에 대해 그리고 고객의 의견 수집에 집중할 이벤트를 개최했다. 아마존는 AWS에 대한 피드백을 공유할 Reinvent 같은 비슷한 이벤트들을 수용했다.
2015년에 아마존은 AWS수익은 78억에 이르렀다고 발표했다. 그리고 2016년 사이에, AWS는 고객이 AWS서비스 마이그레이션 하도록 도와 준 움직임이 시작이었다. 그 움직임들은 AWS의 특장점에 대한 대중의 인식이 높아지면서 경제 성장을 이끌었다. 아마존의 수익은 122억으로 2016년보다 증가하였다. 오늘날, AWS고객 160제품과 서비스를 제공한다. 아마존이 AWS를 기반으로 하고 조작하는 비율을 감안할 때 그 숫자는 증가할 것 같다.


AWS는?

무엇이 AWS인지 물어보기 전에 우리는 먼저 클라우드 프로바이더라는 사실을 이해해야 한다. 다른 기능 중 클라우드 프로바이더는 더 많은 스토리지 유연성을 부여하고 보안 조치를 강화한다. 또한 강화된 보안, 더 높은 컴퓨팅 용량, 데이터베이스 구축과 같은 로컬 데이터 센터에서 볼 수 있는 기능도 제공한다. 위치에 따라 콘텐츠 캐싱과 같은 다른 기능을 사용할 수 있다.

AWS의 장점 중 하나는 모든 160개의 클라우드 서비스를 사용한 만큼 유료로 제공한다는 것이다. 즉, 사용하는 서비스에 대해서만 요금을 지불하는 것이다. 그것은 당신이 그것을 적게 사용할수록, 당신이 더 적게 지불한다는 것을 의미한다. 그리고 당신이 그것을 더 많이 사용할수록, 당신은 단위당 더 적은 돈을 지불한다.

AWS의 다른 장점은 AWS와 관련된 애플리케이션과 관련이 있습니다.


-애플리케이션은 안전하고 안정적인 인프라에서 실행되기 때문에 안정적 -온디맨드 인프라를 통해 확장성 향상 -클라우드에서 사용할 수 있는 설계 옵션을 통해 유연성 향상


AWS 서비스

Amazon Web Services는 설립된 이후 필수적인 클라우드 컴퓨팅 기술이 되었습니다. 다음은 AWS의 주요 서비스입니다.


  1. Amazon S3

이 도구는 인터넷 백업에 사용되며 객체 스토리지 범주에서 가장 저렴한 스토리지 옵션입니다. 가장 좋은 점은 필요할 때마다 거의 모든 곳에서 저장된 데이터를 검색할 수 있다는 것입니다.

  1. AWS 데이터 전송 서비스

이름에서 알 수 있듯이 데이터를 원활하게 수집하는 데 도움이 되는 마이그레이션, 데이터 수집 및 데이터 전송 제품이 있습니다. 또한 데이터를 실시간으로 모니터링하고 분석할 수 있습니다.

  1. Amazon EC2(Elastic Compute Cloud)

필요에 따라 안전하고 크기가 조정 가능한 컴퓨팅 용량을 제공합니다. 이 서비스는 웹 스케일 클라우드 컴퓨팅에 보다 쉽게 액세스할 수 있도록 설계되었습니다.

  1. Amazon SNS(단순 알림 서비스)

이메일이나 SMS를 통해 다수의 가입자에게 메시지를 전달하는 알림 도구이며, 중요한 정보에 주의를 환기시키기 위한 경보, 서비스 알림 및 기타 메시지를 보낼 수 있습니다.

  1. Amazon KMS(키 관리 시스템)

이 도구는 데이터에 256비트 암호화를 사용하는 보안 도구입니다. 그것은 또한 해커와 사이버 공격으로부터 보호.

  1. Amazon Lambda

이 서비스는 특정 이벤트에 따라 코드를 실행하고 종속 리소스를 관리합니다. 서버를 관리하거나 프로비저닝할 필요가 없으며, 코드를 실행하는 데 걸리는 시간에 따라 지불 비용이 달라집니다. 시간당 요금을 부과하는 서비스에 비해 비용이 많이 절약됩니다.

  1. Route 53

이 서비스는 별도의 DNS 계정을 유지 관리할 필요가 없는 클라우드의 DNS 서비스입니다. 이 제품은 사용자를 인터넷 애플리케이션으로 라우팅할 수 있는 안정적이고 비용 효율적인 방법을 기업에 제공하도록 설계되었습니다.

(통신 방식) Http 통신과 Socket 통신 차이

일반적으로 단말기에서 필요로 하는 데이터들은 Server에서 관리합니다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신 방식은 크게 Http 통신과 Socket 통신 2가지가 있는데, 오늘은 이 2가지 통신 방식의 차이에 대해 알아보도록 하겠습니다.


Http 통신


Client의 요청(Request)이 있을 때만 서버가 응답(Response)하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식

Http통신은 Client의 요청이 있을 때만 Server가 응답하여 처리를 한 후에 연결을 끊는 방식입니다. 이러한 연결 방식은 Client가 요청을 보내는 경우에만 Server가 응답하는 단방향적 통신으로, Server가 Client로 요청을 보낼수는 없습니다. 이해를 돕기 위해 여러분들이 이 글을 보기 위해 블로그에 들어오는 상황을 예로 들어보겠습니다. 여러분들이 이 글을 위한 링크를 클릭한 순간에 Client(웹)는 Server(웹서버)로 이 글에 대한 내용을 보내달라고 요청을 한 것입니다. 이 글에 대한 내용들을 받은 후에는 바로 연결이 종료됩니다. 그렇기 때문에 요청을 보낼때, 내용을 기다리는 시간과 함께 연결하는 시간이 들어가게 됩니다. 이러한 Http 통신은 실시간 연결이 아닌, 필요한 경우에만 Server로 접근하는 콘텐츠 위주의 데이터를 사용할 때 용이합니다. 만약 게시물에 대한 내용을 요청하기 위해 실시간으로 연결을 유지하는 Socket통신을 사용하게 되면, 게시물을 받은 후에도 계속 통신을 위한 연결이 성립되어 있어 부하가 걸리게 됩니다. 일반적으로 모바일 어플리케이션은 필요한 경우에만 Server로 정보를 요청하는 경우가 많은데, 이러한 Web Server로 Http 통신을 주로 사용하며 비용 및 유지보수 등 대부분의 방면에서 좋습니다.

http 통신

Http 통신의 특징
  • Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신이다.
  • Server로부터 응답을 받은 후에는 연결이 바로 종료된다.
  • 실시간 연결이 아니고, 필요한 경우에만 Server로 요청을 보내는 상황에 유용하다.
  • 요청을 보내 Server의 응답을 기다리는 어플리케이션(Android or Ios)의 개발에 주로 사용된다.

Socket 통신


Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식

Socket통신은 Http 통신과 달리 Server와 Client가 특정 Port를 통해 연결을 성립하고 있어 실시간으로 양방향 통신을 하는 방식입니다. Client만 필요한 경우에 요청을 보내는 Http 통신과 달리 Socket 통신은 Server 역시 Client로 요청을 보낼 수 있으며, 계속 연결을 유지하는 연결지향형 통신이기 때문에 실시간 통신이 필요한 경우에 자주 사용됩니다. 예를 들면, 실시간 Streaming 중계나 실시간 채팅과 같이 즉각적으로 정보를 주고받는 경우에 사용합니다. 예를 들어 실시간 동영상 Streaming 서비스를 Http 통신으로 구현하였다고 가정하겠습니다. 이러한 경우에 사용자가 서버로 동영상을 요청하기 위해서는 동영상이 종료되는 순간까지 계속해서 Http 통신을 보내야 하고 이러한 구조는 계속 연결을 요청하기 때문에 부하가 걸리게 됩니다. 그러므로 이러한 경우에는 Socket을 통해 구현하는 것이 적합합니다.

socket 통신

Socket 통신의 특징
  • Server와 Client가 계속 연결을 유지하는 양방향 통신이다.
  • Server와 Client가 실시간으로 데이터를 주고받는 상황이 필요한 경우에 사용된다.
  • 실시간 동영상 Streaming이나 온라인 게임 등과 같은 경우에 자주 사용된다.

TCP/IP란?


TCP/IP

인터넷 프로그램들이 서로 통신을 하는데 있어서 HTTP, SFTP, FTP 등 다양한 프로토콜이 있습니다. 인터넷 프로토콜에서 가장 많이 사용하는 대표적인 프로토콜은 여러분들도 많이 아시다시피 IP입니다. 여기서 중요한 것은 TCP/IP는 계층이 아니라 프로토콜이라는 점 입니다.
TCP/IP는 OSI7 계층과는 조금은 다른 TCP/IP의 구조적인 계층 위에서 동작합니다


tcp/ip
OSI7 계층과는 조금은 다른 모습입니다.
계층의 갯수 부터가 다르고. OSI는 7계층인데 반해 TCP/IP 계층은 4계층이 전부라는 것을 알 수 있습니다.


1. 네트워크 인터페이스 계층 (Network Interface Layer)

이 계층은 Node-To-Node간의 신뢰성 있는 데이터 전송을 담당하는 계층입니다.
OSI7 계층의 물리 계층과 데이터링크 계층의 역할을 이 네트워크 인터페이스 계층이 담당합니다.
따라서 MAC주소가 이 계층에서 사용됩니다.
네트워크 인터페이스 계층이 바로 데이터링크 계층까지 담당하니까 MAC 어드레스가 사용됩니다.
랜카드
위의 장비는 랜카드 입니다. 정확한 명칭은 NIC라고 하여 Network Interface Card입니다.
바로 이 랜카드가 있어야만 네트워크 통신을 할 수 있는데, 네트워크 인터페이스 계층에서 동작하는 장비입니다.

LAN상에서는 Ethernet, TokenRing, FDDI 등이 있으며 WAN 상에서는 X.25, Frame Relay, PPP 등이 있습니다.


2. 인터넷 계층 (Internet Layer)

OSI7계층의 네트워크 계층을 담당하는 계층입니다. OSI7 계층처럼 호스트간의 라우팅을 담당하게 됩니다.
인터넷 계층에서 동작하는 프로토콜에는 아래와 같습니다.

  • IP(Internet Protocol) : 비신뢰성, 비연결지향 데이터그램 프로토콜

  • ARP(Address Resolution Protocol) : 주소변환 프로토콜입니다. IP주소를 MAC주소로 변환하는 프로토콜

  • RARP(Reverse ARP) : 반대로 MAC주소로 IP주소를 찾는 프로토콜

  • ICMP(Internet Control Message Protocol) : 상태 진단 메시지 프로토콜. 이 프로토콜을 이용하는 대표적인 프로그램이 ping

  • IGMP(Internet Group Message Protocol) : 멀티캐스트용 프로토콜


3. 전송 계층 (Transport Layer)

OSI7 계층의 전송계층과 같습니다. 프로세스간의 신뢰성 있는 데이터 전송을 담당하는 계층입니다.
process-to-process 전송을 담당하기 위해서는 논리적 주소가 필요한데 process가 사용하는 포트 번호를 그 논리적 주소로 사용합니다.
전송 계층에서 동작하는 프로토콜은 아래와 같습니다.

  • TCP (Transmission Control Protocol) : 신뢰성있는 연결지향형 프로토콜. 신뢰성있다는 말은 그 페킷에 대한 오류처리나 재전송따위로 에러를 복구하는 것을 말합니다. 그때문에 TCP의 헤더에 붙는 정보가 많습니다.

  • UDP (User Datagram Protocol) : 비신뢰성 비연결형 프로토콜입니다. 페킷을 잃거나 오류가 있어도 대처하지 않는 것을 말합니다. 따라서 UDP헤더는 간단한 구조를 갖고 있습니다.


4. 응용 계층 (Application Layer)

사용자와 가장 가까운 계층입니다. OSI7계층의 5계층부터 7계층까지의 기능을 담당하고 있습니다.
서버나 클라이언트 응용 프로그램이 이 계층에서 동작합니다. 우리가 알고 있는 브라우저나 텔넷같은 서비스가 이 계층에 동작하며, 동작하기 위해서는 전송계층의 주소, 즉 포트번호를 사용합니다. 예를들어 http가 88번 포트를 사용하는 것과 같습니다.
응용 계층에서 동작한느 프로토콜은 아래와 같습니다.

  • HTTP (Hyper-Text Transfer Protocol) : TCP기반의 프로토콜로 포트번호 80번을 사용

  • Telnet : TCP 포트번호 23번을 사용합니다. 원격 터미널을 접속할때 이 포로토콜을 사용

  • SSH (Secure Shell) : 텔넷과 같은 서비스는 보안에 취약. 비밀번호가 암호화되지 않아 그대로 노출됩니다.. 이것을 보완한것이 SSH입니다. 포트번호 22번을 사용합니다. SFTP 같은 프로토콜도 22번 포트로 주요 사용합니다.

  • FTP(File Transfer Protocol) : 파일 전송 프로토콜. 파일을 받거나 올릴때 FTP를 사용. FTP는 파일을 올리거나 내려받을때 신뢰성을 중요시하기 때문에 TCP에서 동작합니다. 2개의 포트를 사용합니다.

TCP 포트 20번은 데이터 전송을 위한 용도, TCP 포트 21번은 제어용으로 사용합니다.

  • SMTP (Simple Mail Transfer Protocol) : 메일 전송 프로토콜입니다. TCP 상에서 동작하며 포트는 25번을 사용합니다.

  • POP3 (Post Office Protocol Version3) : 메일 수신용 프로토콜입니다. 아웃룩같은 프로그램이 POP3라는 프로토콜을 사용하여 동작합니다. TCP 포트 110번을 사용합니다.

  • DNS (Domain Name System) : 도메인명에 대한 호스트 정보를 제공해줍니다. 기본적으로 UDP상에서 동작합니다. 기본적으로 실패하면 다시 한번 요청하면 되며 그렇게 중요한 정보가 아니기 때문이죠. 하지만 신뢰성을 요할 경우에는 TCP상에서도 동작합니다. 데이터의 길이가 길 경우같은 때 TCP 기반으로 동작할 수 있습니다.

UDP, TCP 포트 53번을 사용합니다.

이와 같이 포트번호가 특정 프로토콜이 사용해서 우리가 쓸 수 없는 포트들이 있습니다. 이런 포트들을 well-known port라고 합니다.

RTSP란?

RTSP(real time streaming protocol) 는 실시간 멀티미디어 스트림을 제어하기 위한 프로토콜이다.
RealNetwork사, Netscape사, IBM사 등이 공동개발을 하였다.

RTSP의 특징

  • 다지점 스트리밍 응용을 위한 기반구조

    • 응용계층에서 유니캐스트 또는 멀티캐스트 연결 모두를 사용하는 다지점 응용에서, 멀티미디어 스트림 제어를 위한 프로토콜 제공이라는 목적을 가지나, 프로토콜이라기 보다는 기반구조라고 볼 수 있음

  • 클라이언트/서버 형태로 동작

    • 구조,문법,동작방식이 HTTP 와 매우 유사

  • 세션 관리

    • 다지점 다수개의 멀티미디어 세션의 설정과 제어가 RTSP에 의하여 제어됨
    • RTSP의 자원 관리 셋업 및 예약은 RSVP를 가지고 사용 가능

  • 여러 프로토콜들이 관련됨

    • 실제 멀티미디어 정보의 실시간 전송 매커니즘은 RTP/RTCP에 기본을 두고 있음

      • RTP/RTCP : 오디오,비디오 등에서 시간 동기화된 스트림을 생성 및 제어함
    • 신뢰적인 TCP, 비신뢰적인 UDP 등 다양한 전송 프로토콜 위에서 동작 가능
      주로 UDP 위에서 동작

      • 이러한 프로토콜의 도움을 받아 RTSP/RTP(RTCP) 실시간 패킷이 전달됨
    • RTP,RTCP와는 다른 채널 사용 (데이터 전송 포트와 다른 포트번호로써 554번 사용)

      • RTP,RTCP는 동일 채널을 통해 전송된다.
      • RSTP는 RTP/RTCP와 다른 채널을 사용하여 전체 스트리밍 제어를 수행함

스트리밍 재생과 관련된 제어 명령어

ㅇ Setup(연결설정), Play(재생), Forward, Rewind, Pause(일시멈춤), Stop(완전정지), Resume(다시시작), Record, Teardown(연결해제) 등 - 가정용 VCR을 인터넷에 적용한 것임

ㅇ 인터넷 웹에 의한 구현 例
RTSP

ONVIF란?

ONVIF(Open Network Video Interface Forum 오픈 네트워크 비디오 인터페이스 포럼[*], 온비프)는 세계 개방형 산업 포럼의 하나로서, 보안 목적의 물리적인 IP 기반 제품들의 인터페이스를 위한 세계 개방형 표준의 개발 및 이용을 용이하게 하는 것을 목적으로 한다. ONVIF는 동영상 감시 및 기타 물리적인 방범 지역 내의 IP 제품들이 어떻게 서로 통신할 수 있는지에 대한 표준을 만든다. ONVIF는 2008년 액시스 커뮤니케이션스, 보쉬 시큐리티 시스템스, 소니가 시작한 단체이다.
간단히 말해 카메라를 제어할 때 사용되는 국제 표준 프로토콜이고 자세히 말하면 보안장비(CCTV, 카메라, 뷰어 등)에서 사용되는 표준 프로토콜이다.

프로파일

  • 프로파일 S
    비디오 및 오디오 스트리밍, PTZ 옵션, 릴레이 액티베이션 등의 IP 비디오 시스템의 공통 기능을 언급한다.

  • 프로파일 C
    도어 상태 및 제어, 자격 관리, 이벤트 관리 등의 IP 접근 통제 시스템의 공통 기능을 설명한다.

  • 프로파일 G
    비디오 스토리지, 녹화, 검색을 설명한다.

  • 프로파일 Q
    장치 발견, 구성, TLS 인증의 관리에 대해 설명한다.

  • 프로파일 A
    정보, 상태, 이벤트의 검색을 수행하고, 접근 규칙, 자격 정보, 스케줄 등의 PACS(물리 접근 제어 시스템) 관련 항목들을 구성하는 기능이다.

  • 프로파일 T
    (출시 후보/RC) H.264, H.265 인코딩 포맷, 이미징 설정, 알람 이벤트(모션, 부당 변경 감지 등) 등의 비디오 스트리밍 기능을 지원한다.


용도


보안장비끼리 서로 연결되어 동작하게 해주는 프로토콜이다.
ONVIF

일반적으로 보안장비, 영상장비들은 다양한 프로토콜을 지원하고 있는데 자사 표준 프로토콜과 국제 표준 프로토콜(ONVIF)을 사용한다.
국제 표준 프로토콜(ONVIF)의 경우 해당 장비에만 특화되어 있는 기능을 지원하지 않기 때문에 자사 표준 프로토콜을 사용하는 경우도 있다.
ONVIF를 사용할 경우 전세계 공통적으로 사용하는 프로토콜이기 때문에 새로운 사양이나 변경되는 작업이 어렵고 오래 걸린다. 하지만 세계 표준이기 때문에 세계 어디서든 사용할 수 있다.

일반적으로 프로토콜은 socket 통신 기반 프로토콜과 HTTP기반 프로토콜이 있는데 ONVIF는 HTTP 프로토콜을 사용한다.

기능 프로토콜의 종류
영상, 음성, 이벤트 송수신 RTP/RTSP 프로토콜
제어, 설정, 조회 WSDL, SOAP 프로토콜

영상을 볼 때는 RTP/RTSP를 사용하고, IP를 변경하거나 설정을 변경하거나 할 때에는 WSDL, SOAP를 사용한다
ONVIF 프로토콜이 RTP/RTSP 프로토콜을 구현한게 아니라 카메라와 같은 장비를 사용할 수 있도록 RTP/RTSP 주소를 알려주는 역할을 한다.