<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>미디어 서비스</title>
    <link>https://sunsson.tistory.com/</link>
    <description>- LG U+ IPTV CDN(Hybrid, Cloud)/DRM
- KT GiGAeyes(영상보안), 화상회의
- tving 미디어플랫폼 개발
- SKT(B), LG U+  VoIP(SIP, SBC, CSCF), 
- SKComms nateon(VoIP, 화상채팅, 토크온)
- Streaming, 영상보안, VA(Video Analytics)</description>
    <language>ko</language>
    <pubDate>Sat, 20 Jun 2026 18:07:58 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>하늘을닮은호수M</managingEditor>
    <image>
      <title>미디어 서비스</title>
      <url>https://t1.daumcdn.net/cfile/tistory/1674FF364E00210203</url>
      <link>https://sunsson.tistory.com</link>
    </image>
    <item>
      <title>LG전자 Smart TV, LG채널(FAST서비스)에 Hybrid CDN을 적용</title>
      <link>https://sunsson.tistory.com/1117</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;기술개발그룹 성과공유-FAST향 Hybrid CDN2.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;725&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nlmKV/btsIXdQk86i/97LYLmkVVzGTo0L5FAg5U1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nlmKV/btsIXdQk86i/97LYLmkVVzGTo0L5FAg5U1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nlmKV/btsIXdQk86i/97LYLmkVVzGTo0L5FAg5U1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnlmKV%2FbtsIXdQk86i%2F97LYLmkVVzGTo0L5FAg5U1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;725&quot; data-filename=&quot;기술개발그룹 성과공유-FAST향 Hybrid CDN2.png&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;725&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;LG U+는 고객들의 미디어 사용 패턴 변화에 따라 기존 IPTV 사업 이외의 신규 미디어인 FAST(Free Ad-Supported Streaming TV)를 서비스하고 있습니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;기존 종량제방식의 클라우드 CDN은 시청량 상승에 따라 비용이 크게 증가하였고 클라우드장애 시 서비스가 중단될 수 있는 우려가 있었습니다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;이에 On-Premise 형태의 인프라와 클라우드 CDN을 병행 활용하여 비용을 절감(약 20% 비중)하고 한쪽에 장애가 발생해도 안정적으로 서비스할 수 있는 하이브리드형태의 CDN을 설계하여 구축 하였습니다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>[Develope]/Multimedia</category>
      <category>CDN</category>
      <category>fast</category>
      <category>hybridcdn</category>
      <category>IPTV</category>
      <category>OTT</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1117</guid>
      <comments>https://sunsson.tistory.com/1117#entry1117comment</comments>
      <pubDate>Thu, 8 Aug 2024 13:53:59 +0900</pubDate>
    </item>
    <item>
      <title>(임시)CENC (Common ENCryption) in ISO Base media file format files</title>
      <link>https://sunsson.tistory.com/1116</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;CENC(Common ENCryption) 암호화란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CENC, 공통 암호화는 다른 DRM 및 키 관리 시스템을 사용하여 동일한 파일을 복호화하기 위해 사용할 수 있는 표준 암호화 및 키 매핑 방법을 지정합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;배경&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;암호화 방식 (참조: &lt;a href=&quot;https://pallycon.com/ko/blog/%EB%A9%80%ED%8B%B0-drm-%EC%BD%98%ED%85%90%EC%B8%A0-cmaf%EC%9C%BC%EB%A1%9C-%EB%8B%A8%EC%9D%BC%ED%99%94%ED%95%A0-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C/&quot;&gt;멀티DRM 콘텐츠, CMAF으로 단일화할 수 있을까 - PallyCon&lt;/a&gt; )&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 멀티DRM 콘텐츠의 미디어 청크를 암호화하는 AES 암호화 방식은 아래와 같이 두가지로 나뉘어졌습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;DASH&lt;/b&gt; (Widevine, PlayReady): AES-128 CTR 모드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;HLS&lt;/b&gt; (FairPlay Streaming): SAMPLE-AES CBC 모드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CMAF 규격은 두 가지 암호화 모드를 모두 지원하지만, 단일 콘텐츠 포맷을 위해서는 둘 중 하나가 기본이 되어야 합니다.?이를 위해 각 플랫폼 및 DRM 제공 업체들은 아래와 같이 CMAF 지원을 위한 업데이트를 진행해왔습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;구글&lt;/b&gt;: 안드로이드 N(7.1) 버전과 크롬 브라우저 68버전부터 CBC 모드 지원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;마이크로소프트&lt;/b&gt;: XBox One 기기에서 AES-128 CBC 모드 지원 (PlayReady 4.0)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CMAF 기반 DRM 단일 콘텐츠의 현주소 (참조: &lt;a href=&quot;https://pallycon.com/ko/blog/%EB%A9%80%ED%8B%B0-drm-%EC%BD%98%ED%85%90%EC%B8%A0-cmaf%EC%9C%BC%EB%A1%9C-%EB%8B%A8%EC%9D%BC%ED%99%94%ED%95%A0-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C/&quot;&gt;멀티DRM 콘텐츠, CMAF으로 단일화할 수 있을까 - PallyCon&lt;/a&gt; )&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 알아본 것과 같이 관련 업계의 노력으로 CMAF 단일 콘텐츠는 현실화를 눈 앞에 두고 있습니다. CMAF 멀티 DRM 콘텐츠를 서비스하기 위해서는 아래와 같은 조건들을 만족시켜야합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;DRM 라이선스 서버&lt;/b&gt;: PlayReady 4.0 버전 지원 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DRM 콘텐츠 패키져&lt;/b&gt;: AES-128 CBC 암호화된 fMP4 미디어 청크와 두 개의 플레이리스트(mpd, m3u8)를 생성하는 기능 필요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DRM 클라이언트&lt;/b&gt;: DASH 또는 HLS 재생과 AES-128 CBC 모드 복호화 기능, 그리고 코덱(주로 H.264) 지원 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 조건 중에서 라이선스 서버와 패키져는 DRM 솔루션 업체의 업데이트로 해결이 가능하지만, 클라이언트 기기의 CMAF 지원에는 아직 많은 한계가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;!&lt;a href=&quot;https://pallycon.com/wp-content/uploads/2019/05/n-lg-1024x535.png&quot;&gt;https://pallycon.com/wp-content/uploads/2019/05/n-lg-1024x535.png&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 안드로이드는 7.1 버전 이후의 기기들만 지원되는데, 아직도 시장에는 7.0 이전 기기들이 상당 수 존재합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 윈도우즈 PC의 경우 OS에서 아직 CBC 모드를 지원하지 않아서 CBC로 암호화된 PlayReady DASH 콘텐츠를 재생할 수 없으며, 대신 크롬 브라우저를 이용해 소프트웨어 기반의 Widevine DRM을 적용할 수 밖에 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CMAF 지원 플랫폼에 대한 자세한 사항은 PallyCon Docs 사이트의 &lt;a href=&quot;https://pallycon.com/docs/en/multidrm/getting-started/supported-env/&quot;&gt;해당 페이지&lt;/a&gt;를 참고하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 아직 CMAF이 지원되지 않는 HTML5 플레이어가 있기 때문에, 웹 브라우저를 지원하는 서비스의 경우에는 사용하는 HTML5 플레이어의 CMAF 지원 여부도 확인해야 합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CENC&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;목표&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;암호화 알고리즘 및 암호화 관련 메타 데이터 정의&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CENC의 범위 예외&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;권한 매핑, 키 획득 및 저장, DRM 콘텐츠 보호 컴프라이언스 규칙은 DRM 시스템에서 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;PSSH&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;라이선스, 권리, 라이선스 취득 정보 등 DRM 고유의 정보를 PSSH에 저장할 수 있습니다.&lt;/li&gt;
&lt;li&gt;파일의 이 박스에 저장된 이 상자의 각 인스턴스는 잘 알려진 시스템에 의해 식별된 하나의 해당 DRM 시스템에 대응합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Sample Table 구조&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sample table 구조는 ISO 14496-12(ISOBMFF) or 14496-14(ISOBMFF의 MPEG-4확장), 14496-15(ISOBMFF의 AVC 확장)을 참고해야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OtRGH/btszDRunlCj/OspTuJVPR4Ibpl1mNynfx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OtRGH/btszDRunlCj/OspTuJVPR4Ibpl1mNynfx0/img.png&quot; data-alt=&quot;ISOBMFF의 암호화 관련 Box&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OtRGH/btszDRunlCj/OspTuJVPR4Ibpl1mNynfx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOtRGH%2FbtszDRunlCj%2FOspTuJVPR4Ibpl1mNynfx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;477&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ISOBMFF의 암호화 관련 Box&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;보호 체계 유형&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;cenc&lt;/span&gt; AES-CTR 모드 풀샘플 및 비디오 NAL 하위 서브샘플 암호화&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;cbc1&lt;/span&gt; AES-CBC 모드 풀샘플 및 비디오 NAL 하위 서브샘플 암호화&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;cens&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #242424; text-align: left;&quot;&gt;AES-CTR 모드 부분 비디오 NAL&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;패턴&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #242424; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;암호화&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;cbcs&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #242424; text-align: left;&quot;&gt;AES-CBC 모드 부분 비디오 NAL&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;패턴&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #242424; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;암호화&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;보호 스킴 시그널링&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;sinf&lt;/span&gt;: 구성표 정보 상자 (Scheme Information Box)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;schm&lt;/span&gt; : 구성표 유형 상자, 암호화 구성표를 전달합니다.(scheme_type: [&lt;b&gt;cenc, cbc1, cens, cbcs&lt;/b&gt;])&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;schi&lt;/span&gt;: Scheme Information Box : 홀더:tenc&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;tenc&lt;/span&gt;: Track Encryption Box 암호화에 대한 기본 파라미터 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Track ENCryption Box(TENC)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 트랙에 대한 기본 암호화 매개 변수값입니다. 트랙당 키가 하나만 있는 파일의 경우, 이 상자를 사용하면 샘플당 반복되지 않고 트랙당 한 번씩 기본 암호화 매개변수를 지정할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ISOBMFF-CENC-TENC.png&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lGT0H/btszFXA6pNU/nhrqDQw1uZSAqCCkMDQct1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lGT0H/btszFXA6pNU/nhrqDQw1uZSAqCCkMDQct1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lGT0H/btszFXA6pNU/nhrqDQw1uZSAqCCkMDQct1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlGT0H%2FbtszFXA6pNU%2FnhrqDQw1uZSAqCCkMDQct1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;720&quot; height=&quot;325&quot; data-filename=&quot;ISOBMFF-CENC-TENC.png&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;325&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;version: 1 for pattern-based encryption&lt;/li&gt;
&lt;li&gt;if default_constant_iv is present, it is IV for all samples&lt;/li&gt;
&lt;li&gt;a constant IV shall not be used with counter-mode encryption&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sample ENCryption(SENC)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sample Encryption Box에는 암호 해독에 필요한 초기화 벡터 및 다른 암호 해독 매개 변수(선택 사항)를 포함한 샘플별 암호화 데이터가 들어 있습니다. Fragment내의 샘플 데이터가 암호화되어 있을 가능성이 있는 경우에 사용합니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ISOBMFF-CENC-SENC.png&quot; data-origin-width=&quot;713&quot; data-origin-height=&quot;743&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k0vSD/btszDC5jwZF/QHRV5eKQq0W0oSqWoX6uek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k0vSD/btszDC5jwZF/QHRV5eKQq0W0oSqWoX6uek/img.png&quot; data-alt=&quot;ISOBMFF - CENC 중 SENC Box&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k0vSD/btszDC5jwZF/QHRV5eKQq0W0oSqWoX6uek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk0vSD%2FbtszDC5jwZF%2FQHRV5eKQq0W0oSqWoX6uek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;713&quot; height=&quot;743&quot; data-filename=&quot;ISOBMFF-CENC-SENC.png&quot; data-origin-width=&quot;713&quot; data-origin-height=&quot;743&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ISOBMFF - CENC 중 SENC Box&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sample Encryption&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ISOBMFF-CENC-Sample Encryption.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLNRzN/btszGTLHhG2/keykh8Pl0X47dysdSK9nJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLNRzN/btszGTLHhG2/keykh8Pl0X47dysdSK9nJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLNRzN/btszGTLHhG2/keykh8Pl0X47dysdSK9nJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLNRzN%2FbtszGTLHhG2%2Fkeykh8Pl0X47dysdSK9nJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;665&quot; height=&quot;254&quot; data-filename=&quot;ISOBMFF-CENC-Sample Encryption.png&quot; data-origin-width=&quot;665&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sub-Sample Encryption&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ISOBMFF-CENC-Sub-Sample Encryption.png&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PTTmr/btszCiT5vXW/lz59jy06ZU0SM8EOzZovhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PTTmr/btszCiT5vXW/lz59jy06ZU0SM8EOzZovhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PTTmr/btszCiT5vXW/lz59jy06ZU0SM8EOzZovhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPTTmr%2FbtszCiT5vXW%2Flz59jy06ZU0SM8EOzZovhk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;667&quot; height=&quot;259&quot; data-filename=&quot;ISOBMFF-CENC-Sub-Sample Encryption.png&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Sub-Sample Encryption Applied to AVC&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ISOBMFF-CENC-Sub-Sample Encryption to AVC.png&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Uqnpt/btszAnBwFd3/Cy9aLXKz3Vq2yu9jaIGmjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Uqnpt/btszAnBwFd3/Cy9aLXKz3Vq2yu9jaIGmjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Uqnpt/btszAnBwFd3/Cy9aLXKz3Vq2yu9jaIGmjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUqnpt%2FbtszAnBwFd3%2FCy9aLXKz3Vq2yu9jaIGmjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;659&quot; height=&quot;250&quot; data-filename=&quot;ISOBMFF-CENC-Sub-Sample Encryption to AVC.png&quot; data-origin-width=&quot;659&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AES-128 블록 암호화 방식에 대해서는 &lt;a href=&quot;https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A1%9D_%EC%95%94%ED%98%B8_%EC%9A%B4%EC%9A%A9_%EB%B0%A9%EC%8B%9D&quot;&gt;블록 암호 운용 방식&lt;/a&gt; 를 참고하시기 바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;eb17&quot; style=&quot;background-color: #ffffff; color: #242424; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;보호 시스템 특정 헤더 상자(PSSH)&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c3FYVu/btszCfQykQB/mbz4tAfgwSs9UvErWMu7g0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c3FYVu/btszCfQykQB/mbz4tAfgwSs9UvErWMu7g0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c3FYVu/btszCfQykQB/mbz4tAfgwSs9UvErWMu7g0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3FYVu%2FbtszCfQykQB%2Fmbz4tAfgwSs9UvErWMu7g0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;255&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p id=&quot;afce&quot; style=&quot;background-color: #ffffff; color: #242424; text-align: start;&quot; data-selectable-paragraph=&quot;&quot; data-ke-size=&quot;size16&quot;&gt;콘텐츠를 재생하기 위해 DRM(Content Protection System)에서 필요한 정보를 포함합니다.&lt;/p&gt;
&lt;p id=&quot;0c4f&quot; style=&quot;background-color: #ffffff; color: #242424; text-align: start;&quot; data-selectable-paragraph=&quot;&quot; data-ke-size=&quot;size16&quot;&gt;system_id의 형식을 지정합니다.data.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;CENC의 Life cycle (참조 : &lt;a href=&quot;https://www.iso.org/standard/79106.html&quot;&gt;ISO/IEC 23000-19:2020&lt;/a&gt; )&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2012&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The 'cenc' Common Encryption Scheme specifies standard encryption and key mapping methods that can be utilized by one or more digital rights and key management systems (DRM systems) to enable decryption of the same file using different DRM systems. The scheme operates by defining a common format for the encryption related metadata necessary to decrypt the protected streams, yet leaves the details of rights mappings, key acquisition and storage, DRM compliance rules, etc. up to the DRM system or systems supporting the 'cenc' scheme.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;첨부 파일 : ISO-IEC 23001-7 2012&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2016&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The AES-128 symmetric block cipher is incorporated by reference to encrypt elementary stream data contained in media samples. Both &lt;b&gt;AES counter mode (CTR)&lt;/b&gt; and &lt;b&gt;Cipher Block Chaining (CBC)&lt;/b&gt; are specified in separate protection schemes. Partial encryption using a pattern of encrypted and clear blocks is also specified in separate protection schemes. The identification of encryption keys, Initialization Vector storage and processing is specified for each scheme.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subsample encryption is specified for NAL structured video, such as AVC and HEVC, to enable normal processing and editing of video elementary streams prior to decryption.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;337&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dd9TRB/btszCeRDXov/FeN8RtgISLJIGHl5nAw2ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dd9TRB/btszCeRDXov/FeN8RtgISLJIGHl5nAw2ik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dd9TRB/btszCeRDXov/FeN8RtgISLJIGHl5nAw2ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdd9TRB%2FbtszCeRDXov%2FFeN8RtgISLJIGHl5nAw2ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;821&quot; height=&quot;337&quot; data-origin-width=&quot;821&quot; data-origin-height=&quot;337&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Reference&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[1] &lt;a href=&quot;https://poby.medium.com/common-encryption-in-iso-based-media-file-format-388b46a3cf27&quot;&gt;https://poby.medium.com/common-encryption-in-iso-based-media-file-format-388b46a3cf27&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[2] &lt;a href=&quot;https://pallycon.com/ko/blog/멀티-drm-콘텐츠-cmaf으로-단일화할-수-있을까/&quot;&gt;https://pallycon.com/ko/blog/멀티-drm-콘텐츠-cmaf으로-단일화할-수-있을까/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[3] &lt;a href=&quot;https://www.iso.org/standard/68042.html&quot;&gt;ISO/IEC 23001-7:2016&lt;/a&gt;&lt;/p&gt;</description>
      <category>[Standard]/ISO-IEC</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1116</guid>
      <comments>https://sunsson.tistory.com/1116#entry1116comment</comments>
      <pubDate>Thu, 2 Nov 2023 14:58:52 +0900</pubDate>
    </item>
    <item>
      <title>AWS E&amp;amp;M (읽을 거리)</title>
      <link>https://sunsson.tistory.com/1115</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;color: #232f3e; text-align: start;&quot;&gt;Amazon CloudFront를 활용한 미디어 서비스 모니터링 방안, 1부 : 표준 로그 기반 분석&lt;/h1&gt;
&lt;figure id=&quot;og_1682657100221&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Amazon CloudFront를 활용한 미디어 서비스 모니터링 방안, 1부 : 표준 로그 기반 분석 | Amazon Web Services&quot; data-og-description=&quot;미디어 서비스 환경에서 최종사용자와 직접 통신하는 콘텐츠 전송 네트워크(CDN)의 성능 및 가용성을 모니터링하는 것은 매우 중요합니다. 모든 미디어 데이터는 CDN 인프라를 통해 최종사용자에&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/blogs/tech/media-cf-monitoring-1/&quot; data-og-url=&quot;https://aws.amazon.com/ko/blogs/tech/media-cf-monitoring-1/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jxAtG/hySqQpwjBR/QIfEVFkS2c9y580jMvJ2I0/img.jpg?width=936&amp;amp;height=460&amp;amp;face=0_0_936_460,https://scrap.kakaocdn.net/dn/vjn9M/hySqVqPSBM/GrwR48YHXjmyDoNuBTQli0/img.jpg?width=936&amp;amp;height=460&amp;amp;face=0_0_936_460,https://scrap.kakaocdn.net/dn/rMK2r/hySqTzLZPK/ZA24X21Oknmv8Pbacanku0/img.jpg?width=1439&amp;amp;height=925&amp;amp;face=0_0_1439_925&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/blogs/tech/media-cf-monitoring-1/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/blogs/tech/media-cf-monitoring-1/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jxAtG/hySqQpwjBR/QIfEVFkS2c9y580jMvJ2I0/img.jpg?width=936&amp;amp;height=460&amp;amp;face=0_0_936_460,https://scrap.kakaocdn.net/dn/vjn9M/hySqVqPSBM/GrwR48YHXjmyDoNuBTQli0/img.jpg?width=936&amp;amp;height=460&amp;amp;face=0_0_936_460,https://scrap.kakaocdn.net/dn/rMK2r/hySqTzLZPK/ZA24X21Oknmv8Pbacanku0/img.jpg?width=1439&amp;amp;height=925&amp;amp;face=0_0_1439_925');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Amazon CloudFront를 활용한 미디어 서비스 모니터링 방안, 1부 : 표준 로그 기반 분석 | Amazon Web Services&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;미디어 서비스 환경에서 최종사용자와 직접 통신하는 콘텐츠 전송 네트워크(CDN)의 성능 및 가용성을 모니터링하는 것은 매우 중요합니다. 모든 미디어 데이터는 CDN 인프라를 통해 최종사용자에&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;color: #232f3e; text-align: start;&quot;&gt;AWS Elemental MediaPackage및 Amazon CloudFront를 활용한 미디어 콘텐츠의 보안 강화 전략 &amp;ndash; Part1: Live Streaming&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1682657136503&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;AWS Elemental MediaPackage및 Amazon CloudFront를 활용한 미디어 콘텐츠의 보안 강화 전략 &amp;ndash; Part1: Live Streami&quot; data-og-description=&quot;최근 미디어 산업의 발전으로 수 많은 미디어 컨텐츠들이 다양한 플랫폼과 디바이스로 시청자에게 전달이 되고 있습니다. 유료 미디어 컨텐츠를 제공하는 OTT 사업자나 다양한 유료 컨텐츠 제공&quot; data-og-host=&quot;aws.amazon.com&quot; data-og-source-url=&quot;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&quot; data-og-url=&quot;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iiUvX/hySpDyxStH/3CaTHLGKZblfBYq5sWIxk1/img.png?width=979&amp;amp;height=424&amp;amp;face=0_0_979_424,https://scrap.kakaocdn.net/dn/dkBdD3/hySqPRFIz9/bCjMfQ66OceZ6Cm2CHeRQk/img.png?width=979&amp;amp;height=424&amp;amp;face=0_0_979_424,https://scrap.kakaocdn.net/dn/bru6ug/hySqXIWdku/kNA6qXS0nm3BJzDcOQQHE0/img.png?width=979&amp;amp;height=712&amp;amp;face=0_0_979_712&quot;&gt;&lt;a href=&quot;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aws.amazon.com/ko/blogs/tech/live-media-security-on-aws/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iiUvX/hySpDyxStH/3CaTHLGKZblfBYq5sWIxk1/img.png?width=979&amp;amp;height=424&amp;amp;face=0_0_979_424,https://scrap.kakaocdn.net/dn/dkBdD3/hySqPRFIz9/bCjMfQ66OceZ6Cm2CHeRQk/img.png?width=979&amp;amp;height=424&amp;amp;face=0_0_979_424,https://scrap.kakaocdn.net/dn/bru6ug/hySqXIWdku/kNA6qXS0nm3BJzDcOQQHE0/img.png?width=979&amp;amp;height=712&amp;amp;face=0_0_979_712');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AWS Elemental MediaPackage및 Amazon CloudFront를 활용한 미디어 콘텐츠의 보안 강화 전략 &amp;ndash; Part1: Live Streami&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;최근 미디어 산업의 발전으로 수 많은 미디어 컨텐츠들이 다양한 플랫폼과 디바이스로 시청자에게 전달이 되고 있습니다. 유료 미디어 컨텐츠를 제공하는 OTT 사업자나 다양한 유료 컨텐츠 제공&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aws.amazon.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1115</guid>
      <comments>https://sunsson.tistory.com/1115#entry1115comment</comments>
      <pubDate>Tue, 2 May 2023 16:58:36 +0900</pubDate>
    </item>
    <item>
      <title>ERR_CONNECTION_RESET 해결방법</title>
      <link>https://sunsson.tistory.com/1114</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Netsh winsock reset&lt;br /&gt;Netsh int ip reset&lt;br /&gt;Ipconfig /release&lt;br /&gt;ip/config /renew&lt;br /&gt;Ipconfig /flushdns&lt;/p&gt;</description>
      <category>ERR_CONNECTION_RESET</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1114</guid>
      <comments>https://sunsson.tistory.com/1114#entry1114comment</comments>
      <pubDate>Mon, 3 Apr 2023 20:49:54 +0900</pubDate>
    </item>
    <item>
      <title>UDT (UDP based Data Transfer) Protocol</title>
      <link>https://sunsson.tistory.com/1113</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Reference : &lt;a href=&quot;https://udt.sourceforge.io/doc/udt-sc08-poster.pdf&quot;&gt;https://udt.sourceforge.io/doc/udt-sc08-poster.pdf&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;요약&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;최근 업데이트된 자료가 별로 없습니다.&lt;/li&gt;
&lt;li&gt;UDT는 Rate Control(신뢰성이 높은 망에서 매 SYN 패킷마다 Size를 확대) 방식을 사용하고, TCP는 Window Control(수신으로부터 Ack를 받지 않은 만큼만 전송 가능) 방식을 사용&lt;/li&gt;
&lt;li&gt;신뢰성이 높은 High Speed, High Performance에서 Bulk Data 전송이 가능합니다.&lt;/li&gt;
&lt;li&gt;TCP처럼 Network Layer의 Transport Protocol이 아닌, UDP 기반 Application Layer의 Protocol로 Legacy Network에 대한 업데이트 없이 구현/구축 가능합니다. (Application Layer에서 Sequence Number, Ack, 재전송 구현)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;이슈(TCP의 문제점)&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;High-speed WAN에서 Bulk Data 전송에 효율적이지 않음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 데이터 flow간 Control 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;High Computation Overhead, Large data copy, bursting disk-network IO&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;목표&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 용이성 : 사용자 공간 및 E2E 방식 (라우터 피드백 없이)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;High Performance, Fast Data 전송&lt;/p&gt;
&lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1&gt;해결책&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;UDP 기반의 응용프로그램 수준 프로토콜&lt;/li&gt;
&lt;li&gt;효율적인 패킷 처리를 지원하는 프로토콜 설계&lt;/li&gt;
&lt;li&gt;구성 가능한 혼잡 제어&lt;/li&gt;
&lt;li&gt;효율적인 기본 혼잡 제어 알고리즘.&lt;/li&gt;
&lt;li&gt;최적화된 구현&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;The Features&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Fast. UDT는 Rate Control : 신뢰성이 높은 망에서 매 SYN 패킷마다 Size를 확대 TCP는 Window Control : 수신단으로부터 Ack를 받지 않은 만큼만 전송 가능&lt;/li&gt;
&lt;li&gt;Fair and friendly.&lt;/li&gt;
&lt;li&gt;Easy to use.&lt;/li&gt;
&lt;li&gt;Highly configurable.&lt;/li&gt;
&lt;li&gt;Firewall friendly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;UDT Architecture&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsbdad/btr6Jn2T9pP/GHSf2WXRxzM59GklqTSNxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsbdad/btr6Jn2T9pP/GHSf2WXRxzM59GklqTSNxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsbdad/btr6Jn2T9pP/GHSf2WXRxzM59GklqTSNxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbsbdad%2Fbtr6Jn2T9pP%2FGHSf2WXRxzM59GklqTSNxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1094&quot; height=&quot;190&quot; data-origin-width=&quot;1094&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Rate Control in UDT&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo9o6L/btr6K2K5d0P/8tsVXJRpaRfepOeikiKLcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo9o6L/btr6K2K5d0P/8tsVXJRpaRfepOeikiKLcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo9o6L/btr6K2K5d0P/8tsVXJRpaRfepOeikiKLcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo9o6L%2Fbtr6K2K5d0P%2F8tsVXJRpaRfepOeikiKLcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;708&quot; height=&quot;227&quot; data-origin-width=&quot;708&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Window Control in TCP&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bviEpw/btr6Gqev4T6/TnXZb2fQ1jDIgFzzKiXjxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bviEpw/btr6Gqev4T6/TnXZb2fQ1jDIgFzzKiXjxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bviEpw/btr6Gqev4T6/TnXZb2fQ1jDIgFzzKiXjxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbviEpw%2Fbtr6Gqev4T6%2FTnXZb2fQ1jDIgFzzKiXjxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;380&quot; height=&quot;227&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1865&quot; data-origin-height=&quot;1398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byfk8c/btr6Gqr2BdO/KlbVeKckYihIQ3A8s7MkNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byfk8c/btr6Gqr2BdO/KlbVeKckYihIQ3A8s7MkNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byfk8c/btr6Gqr2BdO/KlbVeKckYihIQ3A8s7MkNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyfk8c%2Fbtr6Gqr2BdO%2FKlbVeKckYihIQ3A8s7MkNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1865&quot; height=&quot;1398&quot; data-origin-width=&quot;1865&quot; data-origin-height=&quot;1398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[IT Trend]/Network</category>
      <category>Rate Control</category>
      <category>TCP</category>
      <category>UDP</category>
      <category>UDP based Data Transfer Protocol</category>
      <category>UDT</category>
      <category>Window Control</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1113</guid>
      <comments>https://sunsson.tistory.com/1113#entry1113comment</comments>
      <pubDate>Wed, 29 Mar 2023 14:40:27 +0900</pubDate>
    </item>
    <item>
      <title>AWS CORS 설정 (S3/Cloudfornt)</title>
      <link>https://sunsson.tistory.com/1112</link>
      <description>&lt;h2 id=&quot;cors-란&quot; data-ke-size=&quot;size26&quot;&gt;CORS 란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참조 : &lt;a href=&quot;https://velog.io/@kimsehwan96/S3-CORS-%ED%97%A4%EB%8D%94-%EA%B4%80%EB%A0%A8-%EC%9D%B4%EC%8A%88-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95-html2canvas-lottie&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://velog.io/@kimsehwan96/S3-CORS-%ED%97%A4%EB%8D%94-%EA%B4%80%EB%A0%A8-%EC%9D%B4%EC%8A%88-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95-html2canvas-lottie&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;CORS&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;라는 개념을 알고 가야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CORS란&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Cross Origin Resource Sharing&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;을 의미한다.&lt;br /&gt;우리말로 번역해보면&lt;span&gt;&amp;nbsp;&lt;/span&gt;교차 출처 리소스 공유라고 번역 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CORS는 웹 브라우저에서 보안상의 이유로 도입되었는데. 현재 사용자가 접속한 웹 애플리케이션이 다른 출처의 리소스를 불러올 때,&lt;span&gt;&amp;nbsp;&lt;/span&gt;Access-Control-Allow-Origin&lt;span&gt;&amp;nbsp;&lt;/span&gt;헤더를 보내주지 않으면 브라우저가 그 리소스를 거부하는 보안 정책(?) 이라고 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀어서 쉽게 설명하면 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 유저는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://aaaaaa.com&quot;&gt;https://aaaaaa.com&lt;/a&gt;를 브라우저를 통해 접속했다.&lt;br /&gt;이&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://aaaaaa.com&quot;&gt;https://aaaaaa.com&lt;/a&gt;은 별도의 API 및 리소스 서버를 두어서, 웹 애플리케이션에 필요한 이미지나 텍스트들을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://bbbbbb.com&quot;&gt;https://bbbbbb.com&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;에서 불러온다고 해보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 현재 유저가 보고있는 웹 애플리케이션의 도메인과, 실제 리소스를 불러와서 사용할 서버의 도메인이 다르기때문에 웹 브라우저는&lt;span&gt;&amp;nbsp;&lt;/span&gt;Access-Control-Allow-Origin&lt;span&gt;&amp;nbsp;&lt;/span&gt;헤더가 리소스 서버의 응답에 적절히 들어있지 않다면 사용하기를 거부한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OYMAr/btr6tVR7yN7/ra1u0jaFfM79GBcQsoBJsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OYMAr/btr6tVR7yN7/ra1u0jaFfM79GBcQsoBJsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OYMAr/btr6tVR7yN7/ra1u0jaFfM79GBcQsoBJsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOYMAr%2Fbtr6tVR7yN7%2Fra1u0jaFfM79GBcQsoBJsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;163&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발하다 한번쯤은 겪는 CORS 에러...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 에러를 해결하기 위한 방법은 매우 간단한데, 응답을 보내주는 서버측에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;Access-Control-Allow-Origin&lt;span&gt;&amp;nbsp;&lt;/span&gt;헤더에 적절한 값을 담아서 보내주면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;450&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkovaZ/btr6tWQ2lWQ/FWuNF2Y98i17PTtBxWKPe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkovaZ/btr6tWQ2lWQ/FWuNF2Y98i17PTtBxWKPe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkovaZ/btr6tWQ2lWQ/FWuNF2Y98i17PTtBxWKPe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkovaZ%2Fbtr6tWQ2lWQ%2FFWuNF2Y98i17PTtBxWKPe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;450&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;450&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 서버측에서 access-control-allow-origin 헤더에 적절한 응답을 넣어주면 된다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 개발의 편의성을 위해&lt;span&gt;&amp;nbsp;&lt;/span&gt;access-control-allow-origin&lt;span&gt;&amp;nbsp;&lt;/span&gt;:&lt;span&gt;&amp;nbsp;&lt;/span&gt;*&lt;span&gt;&amp;nbsp;&lt;/span&gt;을 넣어주는 편인데, 어떤&lt;span&gt;&amp;nbsp;&lt;/span&gt;Origin에서 요청하든 허용하겠다는 의미이다. (localhost:3000 이든,, IwillHackYou.com 같은 위험해 보이는 도메인이든..)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;how-cors-works&quot; data-ke-size=&quot;size26&quot;&gt;CORS 작동 방식&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;참조 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/cors.html&quot;&gt;https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/cors.html&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 간단한 경우 브라우저 스크립트는 다른 도메인 내 서버의 리소스에 대해 GET 요청을 수행합니다. 요청이 GET 요청을 제출하도록 승인된 도메인에서 전송된 경우 해당 서버의 CORS 구성에 따라 cross-origin 서버는 요청된 리소스를 반환하여 응답합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요청하는 도메인 또는 HTTP 요청 유형이 승인되지 않은 경우에는 요청이 거부됩니다. 그러나 CORS는 요청을 실제로 제출하기 전에 요청을 사전에 보낼 수 있습니다. 이 경우 preflight 요청은&lt;span&gt;&amp;nbsp;&lt;/span&gt;OPTIONS&lt;span&gt;&amp;nbsp;&lt;/span&gt;액세스 요청 작업을 전송하는 방식으로 이루어집니다. cross-origin 서버의 CORS 구성이 요청하는 도메인에 대한 액세스 권한을 부여하는 경우 서버에서는 요청하는 도메인이 요청한 리소스에 대해 수행 가능한 HTTP 요청 유형을 모두 나열하는 preflight 응답으로 회신합니다.&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm9qor/btr6ssP8J05/MPgs4BGizAhQskXTbhDclk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm9qor/btr6ssP8J05/MPgs4BGizAhQskXTbhDclk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm9qor/btr6ssP8J05/MPgs4BGizAhQskXTbhDclk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm9qor%2Fbtr6ssP8J05%2FMPgs4BGizAhQskXTbhDclk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;362&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;362&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;원본 요청 정책 설정하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;참조 :&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://bigboss.dev/2021/11/cloudfront-settings-to-use-s3-cors/&quot;&gt;https://bigboss.dev/2021/11/cloudfront-settings-to-use-s3-cors/&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CloudFront는 기본적으로 &amp;ldquo;클라이언트&amp;rdquo;로부터 받은 요청 헤더, 쿠키, 쿼리 문자열을 &amp;ldquo;원본&amp;rdquo;으로 전달하지 않습니다. 이 글에서 &amp;ldquo;클라이언트&amp;rdquo;는 웹 브라우저이고 &amp;ldquo;원본&amp;rdquo;은 S3입니다. S3의 CORS 정책을 이용하려면 최소한 origin 헤더는 S3로 전달되어야 하고, 필요에 따라 access-control-request-headers와 access-control-request-method도 전달될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CloudFront에서 설정하고자 하는 배포를 선택하고 동작 탭에서 편집 페이지로 이동합니다. 동작 편집 페이지 중간쯤에 &amp;ldquo;캐시 키 및 원본 요청&amp;rdquo;이 있고 별다른 설정을 하지 않았다면 &amp;ldquo;Cache policy and origin request policy (recommended)&amp;rdquo;가 선택되어 있을 것입니다. 그 아래에 &amp;ldquo;원본 요청 정책 &amp;ndash; 선택 사항&amp;rdquo;이라는 항목이 있는데 아무것도 선택되어 있지 않습니다. 이 항목을 &amp;ldquo;CORS-S3Origin&amp;rdquo;으로 선택하고 저장합니다.&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;530&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ditCEv/btr6rwLSmTB/DZ8YFsgUgYIH0VKoyxDKu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ditCEv/btr6rwLSmTB/DZ8YFsgUgYIH0VKoyxDKu0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ditCEv/btr6rwLSmTB/DZ8YFsgUgYIH0VKoyxDKu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FditCEv%2Fbtr6rwLSmTB%2FDZ8YFsgUgYIH0VKoyxDKu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;362&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;curl 또는 Postman을 이용하여, origin 헤더에 &amp;ldquo;http://localhost&amp;rdquo;를 포함한 HTTP GET 요청을 보냅니다. 그러면 헤더에 &amp;ldquo;Access-Control-Allow-Origin: *&amp;rdquo;이 포함된 HTTP 응답을 받을 수 있습니다. (S3에 CORS 정책이 미리 설정되어 있어야 합니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 끝인 줄 알았습니다. 그런데 HTTP 요청에 origin 헤더를 포함하지 않아도 HTTP 응답에 &amp;ldquo;Access-Control-Allow-Origin: *&amp;rdquo;이 포함되고 있었습니다. 아, 뭐가 문제지? 여러 번의 재시도와 구글링 끝에 알게 된 결론은, CloudFront는 기본적으로 요청 헤더에 뭐가 들어있든 상관없이 캐싱을 한다는 것입니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;캐시 정책 설정하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아까 설정한 동작 편집 페이지 중간쯤에 있는 &amp;ldquo;캐시 키 및 원본 요청&amp;rdquo;을 살펴봅니다. &amp;ldquo;캐시 정책&amp;rdquo;에 &amp;ldquo;CachingOptimized&amp;rdquo;가 선택되어 있습니다. 직역하면 &amp;ldquo;최적화된 캐싱&amp;rdquo;이니 이 녀석이 문제라고는 생각하지 못했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리형 정책 중에는 쓸만한 것이 보이지 않습니다. 새로운 정책을 만들기 위해 바로 아래의 &amp;ldquo;정책 생성&amp;rdquo;을 클릭하면 새 창이 열립니다. 이름은 대충 &amp;ldquo;CachingForCORS&amp;rdquo; 정도로 써줍니다. &amp;ldquo;캐시 키 설정&amp;rdquo; 중 &amp;ldquo;헤더&amp;rdquo;에 &amp;ldquo;Origin&amp;rdquo;을 추가합니다. 다른 건 건드리지 않고 &amp;ldquo;생성&amp;rdquo; 버튼을 클릭합니다.&lt;/p&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djOznw/btr590VPjjE/tRM6Hd7Jl58se04BXnPZEK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djOznw/btr590VPjjE/tRM6Hd7Jl58se04BXnPZEK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djOznw/btr590VPjjE/tRM6Hd7Jl58se04BXnPZEK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjOznw%2Fbtr590VPjjE%2FtRM6Hd7Jl58se04BXnPZEK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;525&quot; height=&quot;684&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;1146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동작 편집 페이지로 돌아와서 &amp;ldquo;캐시 정책&amp;rdquo;을 새로고침하면 조금 전에 만든 &amp;ldquo;CachingForCORS&amp;rdquo;를 선택할 수 있습니다. 이렇게 캐시 정책을 선택하고 저장합니다.&lt;/p&gt;</description>
      <category>[Develope]/Cloud&amp;amp;Docker</category>
      <category>AWS</category>
      <category>cloudfront</category>
      <category>CORS</category>
      <category>S3</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1112</guid>
      <comments>https://sunsson.tistory.com/1112#entry1112comment</comments>
      <pubDate>Tue, 28 Mar 2023 08:53:49 +0900</pubDate>
    </item>
    <item>
      <title>Repair VMDK file of Workstation via VMware vdiskmanager</title>
      <link>https://sunsson.tistory.com/1111</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;참조 : https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1678542159794&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;How to Repair Damaged VMware Virtual Machine [2 Ways]&quot; data-og-description=&quot;Case: The specified virtual disk needs repair As virtual machines are convenient when testing or deploying applications affected by virus, they can easily get damaged. Have you ever encountered an error like this: Cannot open the disk&amp;nbsp;or one of the snapsh&quot; data-og-host=&quot;www.ubackup.com&quot; data-og-source-url=&quot;https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&quot; data-og-url=&quot;https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/JMr8T/hyRTUGl75m/N9v2KCMwMRRyyXMXNiJho1/img.png?width=328&amp;amp;height=274&amp;amp;face=0_0_328_274,https://scrap.kakaocdn.net/dn/J2NUU/hyRTVrKthN/Zi8gOKy16S50mF0e3bHevK/img.png?width=1399&amp;amp;height=800&amp;amp;face=0_0_1399_800,https://scrap.kakaocdn.net/dn/2olB1/hyRTT1LeTc/fhLUW3Eo7Oh6urqqpDSzz1/img.png?width=1399&amp;amp;height=800&amp;amp;face=0_0_1399_800&quot;&gt;&lt;a href=&quot;https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.ubackup.com/enterprise-backup/repair-damaged-vmware-virtual-machine.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/JMr8T/hyRTUGl75m/N9v2KCMwMRRyyXMXNiJho1/img.png?width=328&amp;amp;height=274&amp;amp;face=0_0_328_274,https://scrap.kakaocdn.net/dn/J2NUU/hyRTVrKthN/Zi8gOKy16S50mF0e3bHevK/img.png?width=1399&amp;amp;height=800&amp;amp;face=0_0_1399_800,https://scrap.kakaocdn.net/dn/2olB1/hyRTT1LeTc/fhLUW3Eo7Oh6urqqpDSzz1/img.png?width=1399&amp;amp;height=800&amp;amp;face=0_0_1399_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;How to Repair Damaged VMware Virtual Machine [2 Ways]&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Case: The specified virtual disk needs repair As virtual machines are convenient when testing or deploying applications affected by virus, they can easily get damaged. Have you ever encountered an error like this: Cannot open the disk&amp;nbsp;or one of the snapsh&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.ubackup.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VMware Virtual Disk Manager (vmware-vdiskmanager.exe) is a command-line utility included in VMware Workstation or Fusion that you can use to create, manage, and modify virtual disk files.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;It can also be used to repair a VMDK file of a Workstation virtual machine. Here are the specific steps:&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Open Command Prompt by pressing&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Win + R&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and type&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;cmd&lt;/b&gt;.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. Navigate to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;folder path&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;where you installed VMware Workstation.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;By default, the directory is located at:&lt;/p&gt;
&lt;p style=&quot;background-color: #f5f8fa; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Windows XP &amp;ndash; C:\Program Files\VMware\VMware Workstation&lt;br /&gt;Windows Vista/Windows 7/8 32bit &amp;ndash; C:\Program Files\VMware\VMware Workstation&lt;br /&gt;Windows Vista/Windows 7/8/10 64bit &amp;ndash; C:\Program Files (x86)\VMware\VMware Workstation&lt;br /&gt;Windows Server 2008 R2 &amp;ndash; C:\Program Files (x86)\VMware\VMware Workstation&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Note&lt;/b&gt;: VMware Player do not come with VMware vdiskmanager, you need to download it additionally from VMware&amp;rsquo;s official page.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. Run the following command:&lt;/p&gt;
&lt;p style=&quot;background-color: #f5f8fa; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;vmware-vdiskmanager -R &quot;&lt;b&gt;complete path of the corrupted vmdk file&lt;/b&gt;&quot;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;Example: vmware-vdiskmanager -R &quot;E:\Virtual Machines\Windows 10\virtualdisk.vmdk&quot;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;830&quot; data-origin-height=&quot;600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTdxiT/btr3dbd8rm2/tThNbNInuBrKBEsmwuFBd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTdxiT/btr3dbd8rm2/tThNbNInuBrKBEsmwuFBd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTdxiT/btr3dbd8rm2/tThNbNInuBrKBEsmwuFBd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTdxiT%2Fbtr3dbd8rm2%2FtThNbNInuBrKBEsmwuFBd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;434&quot; data-origin-width=&quot;830&quot; data-origin-height=&quot;600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;These are the steps of how to repair VMware Workstation VM via vmware-vdiskmanager. However, the utility is not included in the server virtualization suite VMware vSphere.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;If you want repair a VMware ESXi virtual machine, you can use the vmkfstools command.&lt;/p&gt;</description>
      <category>[Develope]/Cloud&amp;amp;Docker</category>
      <category>VMware</category>
      <category>VMware WorkStation</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1111</guid>
      <comments>https://sunsson.tistory.com/1111#entry1111comment</comments>
      <pubDate>Tue, 28 Mar 2023 08:47:21 +0900</pubDate>
    </item>
    <item>
      <title>미디어 관련 표준</title>
      <link>https://sunsson.tistory.com/1110</link>
      <description>&lt;p data-renderer-start-pos=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;출처 : &lt;a href=&quot;https://www.w3.org/2011/webtv/wiki/images/c/c6/WAVE-CMAF_-_Draft_A.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.w3.org/2011/webtv/wiki/images/c/c6/WAVE-CMAF_-_Draft_A.pdf&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;--미디어-관련-표준-Agenda&quot; data-renderer-start-pos=&quot;1&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-renderer-mark=&quot;true&quot; data-text-custom-color=&quot;#0747a6&quot;&gt;- 미디어 관련 표준 Agenda&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image-20230131-011506.png&quot; data-origin-width=&quot;1259&quot; data-origin-height=&quot;646&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpuubG/btrXIi9tcDb/17c8nM39L49YEzz1o8NND1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpuubG/btrXIi9tcDb/17c8nM39L49YEzz1o8NND1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpuubG/btrXIi9tcDb/17c8nM39L49YEzz1o8NND1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpuubG%2FbtrXIi9tcDb%2F17c8nM39L49YEzz1o8NND1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1259&quot; height=&quot;646&quot; data-filename=&quot;image-20230131-011506.png&quot; data-origin-width=&quot;1259&quot; data-origin-height=&quot;646&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div&gt;
&lt;div data-context-id=&quot;37536497918&quot; data-type=&quot;file&quot; data-node-type=&quot;media&quot; data-width=&quot;933&quot; data-height=&quot;479&quot; data-id=&quot;ce5f1459-7565-48e7-83b8-f2b91c7b18c4&quot; data-collection=&quot;contentId-37536497918&quot; data-file-name=&quot;image-20230131-011506.png&quot; data-file-size=&quot;282615&quot; data-file-mime-type=&quot;image/png&quot; data-alt=&quot;&quot;&gt;
&lt;div id=&quot;newFileExperienceWrapper&quot; data-testid=&quot;media-card-view&quot;&gt;
&lt;div data-testid=&quot;media-file-card-view&quot; data-test-status=&quot;complete&quot; data-test-media-name=&quot;image-20230131-011506.png&quot; data-test-progress=&quot;1&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&quot;--미디어-관련-표준-진행-현황&quot; data-renderer-start-pos=&quot;24&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-renderer-mark=&quot;true&quot; data-text-custom-color=&quot;#0747a6&quot;&gt;- 미디어 관련 표준 진행 현황&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;image-20230131-011249.png&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;687&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pAWQH/btrXCiKx3dH/E9piSlQzgBjsi9Tu5VlWd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pAWQH/btrXCiKx3dH/E9piSlQzgBjsi9Tu5VlWd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pAWQH/btrXCiKx3dH/E9piSlQzgBjsi9Tu5VlWd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpAWQH%2FbtrXCiKx3dH%2FE9piSlQzgBjsi9Tu5VlWd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;687&quot; data-filename=&quot;image-20230131-011249.png&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;687&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div&gt;
&lt;div data-context-id=&quot;37536497918&quot; data-type=&quot;file&quot; data-node-type=&quot;media&quot; data-width=&quot;931&quot; data-height=&quot;509&quot; data-id=&quot;97199310-ecaf-43c0-b6a7-3d08339877f0&quot; data-collection=&quot;contentId-37536497918&quot; data-file-name=&quot;image-20230131-011249.png&quot; data-file-size=&quot;368762&quot; data-file-mime-type=&quot;image/png&quot; data-alt=&quot;&quot;&gt;
&lt;div id=&quot;newFileExperienceWrapper&quot; data-testid=&quot;media-card-view&quot;&gt;
&lt;div data-testid=&quot;media-file-card-view&quot; data-test-status=&quot;complete&quot; data-test-media-name=&quot;image-20230131-011249.png&quot; data-test-progress=&quot;1&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div&gt;
&lt;div data-context-id=&quot;37536497918&quot; data-type=&quot;file&quot; data-node-type=&quot;media&quot; data-width=&quot;931&quot; data-height=&quot;509&quot; data-id=&quot;97199310-ecaf-43c0-b6a7-3d08339877f0&quot; data-collection=&quot;contentId-37536497918&quot; data-file-name=&quot;image-20230131-011249.png&quot; data-file-size=&quot;368762&quot; data-file-mime-type=&quot;image/png&quot; data-alt=&quot;&quot;&gt;
&lt;div id=&quot;newFileExperienceWrapper&quot; data-testid=&quot;media-card-view&quot;&gt;
&lt;div data-testid=&quot;media-file-card-view&quot; data-test-status=&quot;complete&quot; data-test-media-name=&quot;image-20230131-011249.png&quot; data-test-progress=&quot;1&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-renderer-start-pos=&quot;46&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[Standard]/ISO-IEC</category>
      <category>dash</category>
      <category>Dynamic Adaptive Streaming over HTTP</category>
      <category>EME</category>
      <category>Encrypted Media Extensions</category>
      <category>HLS</category>
      <category>HTTP Dash</category>
      <category>HTTP Live Streaming</category>
      <category>Media Source Extensions</category>
      <category>MPEG-DASH</category>
      <category>mse</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1110</guid>
      <comments>https://sunsson.tistory.com/1110#entry1110comment</comments>
      <pubDate>Tue, 31 Jan 2023 14:33:31 +0900</pubDate>
    </item>
    <item>
      <title>[4] aws-cli 설치</title>
      <link>https://sunsson.tistory.com/1109</link>
      <description>&lt;p&gt;본 고는 다음 링크를 참조하여 작성하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Reference : &lt;a href=&quot;https://spiritlink.tistory.com/42&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;spiritlink.tistory.com/42&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1617255177889&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;윈도우 10 에서 WSL(Ubuntu)로 AWSCLI 실행하기&quot; data-og-description=&quot;S3에 있는 파일을 EFS로 옮겨야 되는데 AWS CLI를 사용해야 되는 상황이 있다. 근데 내컴퓨터가 윈도우라서 AWS CLI를 사용해야 되는데 PowerShell이 반응이 없는 상황이 자주 나와서 ㅡㅡ... 이번에는 최&quot; data-og-host=&quot;spiritlink.tistory.com&quot; data-og-source-url=&quot;https://spiritlink.tistory.com/42&quot; data-og-url=&quot;https://spiritlink.tistory.com/42&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/8Ukxj/hyJJI8L2Qe/95bVt6aXPV5PNYC4sBM0a0/img.png?width=784&amp;amp;height=418&amp;amp;face=0_0_784_418,https://scrap.kakaocdn.net/dn/bqT8kH/hyJJMcfMop/zOCh0nllTZqdb1KjkLNLWk/img.png?width=784&amp;amp;height=418&amp;amp;face=0_0_784_418,https://scrap.kakaocdn.net/dn/eRNE8/hyJJHvgpQQ/Z1FmrydahPvshyfbxzjbD1/img.png?width=900&amp;amp;height=760&amp;amp;face=0_0_900_760&quot;&gt;&lt;a href=&quot;https://spiritlink.tistory.com/42&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://spiritlink.tistory.com/42&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/8Ukxj/hyJJI8L2Qe/95bVt6aXPV5PNYC4sBM0a0/img.png?width=784&amp;amp;height=418&amp;amp;face=0_0_784_418,https://scrap.kakaocdn.net/dn/bqT8kH/hyJJMcfMop/zOCh0nllTZqdb1KjkLNLWk/img.png?width=784&amp;amp;height=418&amp;amp;face=0_0_784_418,https://scrap.kakaocdn.net/dn/eRNE8/hyJJHvgpQQ/Z1FmrydahPvshyfbxzjbD1/img.png?width=900&amp;amp;height=760&amp;amp;face=0_0_900_760');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;윈도우 10 에서 WSL(Ubuntu)로 AWSCLI 실행하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;S3에 있는 파일을 EFS로 옮겨야 되는데 AWS CLI를 사용해야 되는 상황이 있다. 근데 내컴퓨터가 윈도우라서 AWS CLI를 사용해야 되는데 PowerShell이 반응이 없는 상황이 자주 나와서 ㅡㅡ... 이번에는 최&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;spiritlink.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;AWS CLI를 설치하기 위해서는 Python과 PIP가 필요한데 이것들을 먼저 설치해보자.&lt;/p&gt;
&lt;p&gt;우분투는 방금 깔아서 텅 비어있기 때문에 설치해줘야 한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;- Python 설치&lt;/p&gt;
&lt;p&gt;우리는 Ubuntu 이기 때문에 이 명령어로 설치한다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sudo apt-&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; install python3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;다음과 같은 명령어로 잘 설치되었는지 확인한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;python3 --version&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;주의 : 파이썬3를 설치했기 때문에 대부분 명령어에서 python을 치라고 하면 python3로 바꿔서 써줘야 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- PIP 설치&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;파이썬 스크립트를 하나 받는다..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;curl -O https:&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;//bootstrap.pypa.io/get-pip.py&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;※ 0이아니라 대문자 O임&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;파이썬 스크립트 실행할때 필요한 유틸을 받는다&lt;/p&gt;
&lt;p&gt;sudo apt-get install python3-distutils&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;스크립트를 실행해서 PIP를 다운로드, 설치한다.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;python3 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-pip.py --user&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6Cgy8/btq1AFOzxQW/2hJwGWbQqkIRtYo9jVmo90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6Cgy8/btq1AFOzxQW/2hJwGWbQqkIRtYo9jVmo90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6Cgy8/btq1AFOzxQW/2hJwGWbQqkIRtYo9jVmo90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Cgy8%2Fbtq1AFOzxQW%2F2hJwGWbQqkIRtYo9jVmo90%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;여기까지 PIP 설치 완료&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;3. PATH 설정하기&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;이제 PATH를 연결해 보자.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;export PATH=&lt;/span&gt;~/.&lt;span&gt;local&lt;/span&gt;/bin&lt;span&gt;:$PATH&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;해당 커맨드를 한번 실행한뒤&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;source ~/.profile&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;커맨드를 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pip &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;--version&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;했을때 에러없이 pip 숫자 ~~~ 버전이 이렇게 나와야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ufi7U/btq1ByIqzW2/MdAYuCm3gMx5FEl1FftLpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ufi7U/btq1ByIqzW2/MdAYuCm3gMx5FEl1FftLpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ufi7U/btq1ByIqzW2/MdAYuCm3gMx5FEl1FftLpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fufi7U%2Fbtq1ByIqzW2%2FMdAYuCm3gMx5FEl1FftLpk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;4. AWSCLI 설치&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pip를 통해서 설치한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;pip &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; awscli &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;--upgrade --user&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Zove4/btq1z4uiEHF/6HsM7HDOFnTXpIHzH7Dbuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Zove4/btq1z4uiEHF/6HsM7HDOFnTXpIHzH7Dbuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Zove4/btq1z4uiEHF/6HsM7HDOFnTXpIHzH7Dbuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZove4%2Fbtq1z4uiEHF%2F6HsM7HDOFnTXpIHzH7Dbuk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;aws --version으로 정상 설치됬는지 확인한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. 명령줄 경로에 AWS CLI 실행파일 추가&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;amp;fname=http%3A%2F%2Fcfile29.uf.tistory.com%2Fimage%2F99B7D1455C72431E274D15&quot; width=&quot;900&quot; height=&quot;380&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zJepo/btq1EpcUhFG/2pzu9vhYutFJ10cy0J5hUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zJepo/btq1EpcUhFG/2pzu9vhYutFJ10cy0J5hUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zJepo/btq1EpcUhFG/2pzu9vhYutFJ10cy0J5hUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=http%3A%2F%2Fcfile29.uf.tistory.com%2Fimage%2F99B7D1455C72431E274D15&quot; width=&quot;900&quot; height=&quot;380&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;379&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;이과정까지 하면 설치 끝&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;AWS CLI 구성하기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;AWS &quot;&lt;a href=&quot;https://console.aws.amazon.com/iam&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;IAM 신규 사용자 생성하기&lt;/a&gt;&quot;에서 IAM 내려받은 파일에서 액세스 키와 비밀 키를 가져와야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;$ more ****_credentials_20210401.csv&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - AWS Access Key ID : 노란색 부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - AWS Secret Access Key : 붉은색 부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;$ aws configure&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp; AWS Access Key ID : 위 more에서 얻은 노란색 부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - AWS Secret Access Key : 위 more에서 얻은 붉은색 부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; - reginon : seoul (본인은 region을 seoul로 할당하였다)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_IAM_credential.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;741&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qtd4a/btq1yYalK9u/zkj6fdcYgKRwBTkDoavDXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qtd4a/btq1yYalK9u/zkj6fdcYgKRwBTkDoavDXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qtd4a/btq1yYalK9u/zkj6fdcYgKRwBTkDoavDXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqtd4a%2Fbtq1yYalK9u%2Fzkj6fdcYgKRwBTkDoavDXk%2Fimg.png&quot; data-filename=&quot;aws_IAM_credential.png&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;741&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;이제 CLI를 사용할 수 있게 되었다. 다음과 같이 사용자 계정 목록을 출력함으로써 잘 동작하는지 빠르게 검증해 보자&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span&gt;(본인 관련 상세 내용은 disable 처리하였다.)&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1617257313282&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;root@Workstation:/mnt/c/Users/T7810/Downloads# aws iam list-users
{
    &quot;Users&quot;: [
        {
            &quot;Path&quot;: &quot;/&quot;,
            &quot;UserName&quot;: &quot;********&quot;,
            &quot;UserId&quot;: &quot;#############&quot;,
            &quot;Arn&quot;: &quot;arn:aws:iam::********&quot;,
            &quot;CreateDate&quot;: &quot;2021-04-01T05:51:58Z&quot;
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>[Develope]/Cloud&amp;amp;Docker</category>
      <category>AWS</category>
      <category>aws-cli</category>
      <category>bash</category>
      <category>Python</category>
      <category>python3</category>
      <category>windows sub linux</category>
      <category>WSL</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1109</guid>
      <comments>https://sunsson.tistory.com/1109#entry1109comment</comments>
      <pubDate>Thu, 1 Apr 2021 14:43:17 +0900</pubDate>
    </item>
    <item>
      <title>[3] Amazon EC2 XShell로 연결하기</title>
      <link>https://sunsson.tistory.com/1108</link>
      <description>&lt;p&gt;본 글은 다음 링크를 참조하여 작성하였습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Reference : &lt;a href=&quot;https://zzdd1558.tistory.com/202&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;zzdd1558.tistory.com/202&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1617252981683&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Amazon EC2] Amazon EC2 XShell로 연결하기.&quot; data-og-description=&quot;Amazon EC2 인스턴스를 생성하였다는 가정하에 진행하겠습니다. ( IP , Key pair등 다 가지고 있다는 가정하에 진행합니다.&amp;nbsp;) OS : Centos 7.5로 실행 . 각자 자신의 인스턴스 ID가 있을것이고 IPv4 퍼블릭 IP&quot; data-og-host=&quot;zzdd1558.tistory.com&quot; data-og-source-url=&quot;https://zzdd1558.tistory.com/202&quot; data-og-url=&quot;https://zzdd1558.tistory.com/202&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bka6co/hyJJG36SHo/YwdK43I4zUggqZQELkQx71/img.png?width=800&amp;amp;height=576&amp;amp;face=0_0_800_576,https://scrap.kakaocdn.net/dn/7sc4W/hyJJLxBN6L/8YISSnFElsGfFLFpXR7th0/img.png?width=800&amp;amp;height=576&amp;amp;face=0_0_800_576,https://scrap.kakaocdn.net/dn/cKqBEW/hyJJO8VhRS/1BkyKsRxFhjL1p5VHEObJ0/img.png?width=900&amp;amp;height=697&amp;amp;face=0_0_900_697&quot;&gt;&lt;a href=&quot;https://zzdd1558.tistory.com/202&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://zzdd1558.tistory.com/202&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bka6co/hyJJG36SHo/YwdK43I4zUggqZQELkQx71/img.png?width=800&amp;amp;height=576&amp;amp;face=0_0_800_576,https://scrap.kakaocdn.net/dn/7sc4W/hyJJLxBN6L/8YISSnFElsGfFLFpXR7th0/img.png?width=800&amp;amp;height=576&amp;amp;face=0_0_800_576,https://scrap.kakaocdn.net/dn/cKqBEW/hyJJO8VhRS/1BkyKsRxFhjL1p5VHEObJ0/img.png?width=900&amp;amp;height=697&amp;amp;face=0_0_900_697');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;[Amazon EC2] Amazon EC2 XShell로 연결하기.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Amazon EC2 인스턴스를 생성하였다는 가정하에 진행하겠습니다. ( IP , Key pair등 다 가지고 있다는 가정하에 진행합니다.&amp;nbsp;) OS : Centos 7.5로 실행 . 각자 자신의 인스턴스 ID가 있을것이고 IPv4 퍼블릭 IP&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;zzdd1558.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Amazon EC2 인스턴스를 생성하였다는 가정하에 진행하겠습니다. ( IP , Key pair등 다 가지고 있다는 가정하에 진행합니다.&amp;nbsp;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;OS : Amazon 자습서대로 구성하셨다면 OS는 &lt;span&gt;&lt;b&gt;Amazon Linux 2의 HVM 버전&lt;/b&gt; 일 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_ec2 인스턴스.png&quot; data-origin-width=&quot;2629&quot; data-origin-height=&quot;1191&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lFetm/btq1xmbu6Us/dpqJwPh7bzeiS4KNeirZBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lFetm/btq1xmbu6Us/dpqJwPh7bzeiS4KNeirZBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lFetm/btq1xmbu6Us/dpqJwPh7bzeiS4KNeirZBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlFetm%2Fbtq1xmbu6Us%2FdpqJwPh7bzeiS4KNeirZBk%2Fimg.png&quot; data-filename=&quot;aws_ec2 인스턴스.png&quot; data-origin-width=&quot;2629&quot; data-origin-height=&quot;1191&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;각자 자신의 인스턴스 ID가 있을것이고 IPv4 퍼블릭 IP가 있을것입니다 . 저는 혹시 몰라 가렸습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;원격 접속 쉘프로그램은 XShell7를 사용하였습니다 (&lt;a href=&quot;https://www.netsarang.com/ko/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;넷사랑&lt;/a&gt; 가면 다운받을수 있습니다. 저는 정식구매하여 사용중입니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;XShell에서 세션을 추가할때&amp;nbsp; 자신이 사용할 이름을 지어주시고&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;호스트에는 자신이 부여 받은 IP를 입력해주시면됩니다 . (위의 &lt;span style=&quot;background-color: #f3c000;&quot;&gt;노란색 표시 부분&lt;/span&gt; 참고)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;혹시 모르니 OS에 대한 이미지를 올렸습니다 . [ 이동 :&amp;nbsp;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html?icmpid=docs_ec2_console&quot;&gt;AWS Putty 연결 참고&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;1498&quot; data-origin-height=&quot;1129&quot; data-filename=&quot;aws_xshell.png&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UHJ8C/btq1AFASWxo/gFHybyeZq64O77oBYq5FL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UHJ8C/btq1AFASWxo/gFHybyeZq64O77oBYq5FL0/img.png&quot; data-alt=&quot;AWS EC2 인스턴스, Xshell 연결 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UHJ8C/btq1AFASWxo/gFHybyeZq64O77oBYq5FL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUHJ8C%2Fbtq1AFASWxo%2FgFHybyeZq64O77oBYq5FL0%2Fimg.png&quot; data-origin-width=&quot;1498&quot; data-origin-height=&quot;1129&quot; data-filename=&quot;aws_xshell.png&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AWS EC2 인스턴스, Xshell 연결 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음과 같이 적어주신후에 좌측 범주에 [연결] - [사용자 인증]을 클릭해준다음..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;방법 : Public Key를 눌러주시고 밑에있는 찾아보기 클릭후 [가져오기]에서 인스턴스를 생성할때 다운받은 my-key-pair-seoul.pem을 찾아서 등록해줍니다. (seoul은 리전을 구분하기 위해 명시하였습니다.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_xshell_public_my_key 가져오기.png&quot; data-origin-width=&quot;1489&quot; data-origin-height=&quot;1132&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XU9kY/btq1z4A3SDb/H3dmJkT4yxMomuVaIs85uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XU9kY/btq1z4A3SDb/H3dmJkT4yxMomuVaIs85uk/img.png&quot; data-alt=&quot;xshell에서 AWS에서 생성한 키페어를 가져온다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XU9kY/btq1z4A3SDb/H3dmJkT4yxMomuVaIs85uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXU9kY%2Fbtq1z4A3SDb%2FH3dmJkT4yxMomuVaIs85uk%2Fimg.png&quot; data-filename=&quot;aws_xshell_public_my_key 가져오기.png&quot; data-origin-width=&quot;1489&quot; data-origin-height=&quot;1132&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;xshell에서 AWS에서 생성한 키페어를 가져온다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;등록을 한다음 [등록정보] 를 누르면 다음과 같은 키에 대한 속성 및 길이가 나옵니다. EC2에서 처음 생성할때는 Password가 없기 때문에 암호변경을 통해 비밀번호를 기억나는것으로 정해줍니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_xshell_public_key_설정.png&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;1126&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcXzN8/btq1z5micGI/5eJKboKkgKOPXWpBt7OtxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcXzN8/btq1z5micGI/5eJKboKkgKOPXWpBt7OtxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcXzN8/btq1z5micGI/5eJKboKkgKOPXWpBt7OtxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcXzN8%2Fbtq1z5micGI%2F5eJKboKkgKOPXWpBt7OtxK%2Fimg.png&quot; data-filename=&quot;aws_xshell_public_key_설정.png&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;1126&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;마지막으로 사용자 이름에는 ec2-user를 입력해주고 위에서 설정한 public key에 대한 비밀번호를 입력한다음 연결을 하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_xshell_public_key.png&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;1134&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0jsYd/btq1C2oRqk5/4qrk5Et9S5065KKRK7hSF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0jsYd/btq1C2oRqk5/4qrk5Et9S5065KKRK7hSF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0jsYd/btq1C2oRqk5/4qrk5Et9S5065KKRK7hSF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0jsYd%2Fbtq1C2oRqk5%2F4qrk5Et9S5065KKRK7hSF1%2Fimg.png&quot; data-filename=&quot;aws_xshell_public_key.png&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;1134&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;사용자 이름을 부여받지 않았는데 ec2-user라고 사용하는 이유는 AWS에서 그렇게 하라고 정해놓은 약속이기 때문입니다 .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;좀더 자세한 원격 접속에 대한 정보를 알고싶다면 우측 내용을 클릭하시면됩니다. [&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html?icmpid=docs_ec2_console&quot;&gt;AWS EC2 Putty 설정&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;692&quot; height=&quot;225&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpxvDB/btq1D0xvVT3/dCnftwvUPn6tQFZkeY4vkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpxvDB/btq1D0xvVT3/dCnftwvUPn6tQFZkeY4vkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpxvDB/btq1D0xvVT3/dCnftwvUPn6tQFZkeY4vkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpxvDB%2Fbtq1D0xvVT3%2FdCnftwvUPn6tQFZkeY4vkk%2Fimg.png&quot; width=&quot;692&quot; height=&quot;225&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Xshell에서 Amazon EC2에 연결하면 다음과 같은 화면을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;aws_xshell_연결화면.png&quot; data-origin-width=&quot;1489&quot; data-origin-height=&quot;1126&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GVetE/btq1yF23iBQ/ANmTanFpJgqI0Lst855pX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GVetE/btq1yF23iBQ/ANmTanFpJgqI0Lst855pX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GVetE/btq1yF23iBQ/ANmTanFpJgqI0Lst855pX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGVetE%2Fbtq1yF23iBQ%2FANmTanFpJgqI0Lst855pX1%2Fimg.png&quot; data-filename=&quot;aws_xshell_연결화면.png&quot; data-origin-width=&quot;1489&quot; data-origin-height=&quot;1126&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;출처:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://zzdd1558.tistory.com/202&quot;&gt;https://zzdd1558.tistory.com/202&lt;/a&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;[YundleYundle]&lt;/span&gt;&lt;/p&gt;</description>
      <category>[Develope]/Cloud&amp;amp;Docker</category>
      <category>AWS</category>
      <category>EC2</category>
      <category>xshell</category>
      <author>하늘을닮은호수M</author>
      <guid isPermaLink="true">https://sunsson.tistory.com/1108</guid>
      <comments>https://sunsson.tistory.com/1108#entry1108comment</comments>
      <pubDate>Thu, 1 Apr 2021 14:18:29 +0900</pubDate>
    </item>
  </channel>
</rss>