<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Jinlib</title>
    <link>https://jin1ib.tistory.com/</link>
    <description>MLOps Engineer</description>
    <language>ko</language>
    <pubDate>Wed, 29 Jul 2026 13:36:01 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Jinlib</managingEditor>
    <image>
      <title>Jinlib</title>
      <url>https://t1.daumcdn.net/cfile/tistory/257F794C5907653708</url>
      <link>https://jin1ib.tistory.com</link>
    </image>
    <item>
      <title>Amazon RDS</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-RDS</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;04bf1205-cd0d-4568-aa66-1be9fdcbd029&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;nav class=&quot;block-color-gray table_of_contents&quot; id=&quot;21d0d227-09ac-409c-a898-18ede1d58d9a&quot;&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#fe79e792-a62d-423b-b059-bbe794da23c5&quot;&gt;RDS overview&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#07578440-9194-48bf-98a6-0e841b42325b&quot;&gt;AWS Aurora&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#b066f5c2-3a70-4317-a9fa-e2364d93e5ca&quot;&gt;AWS Aurora DB Cluster&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#55ecdcda-6090-485d-970d-2dd42caa835f&quot;&gt;Painpoint&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#976c213d-9e91-4e65-9c32-6c9c7ee18013&quot;&gt;Solution: 리더 엔드포인트(Reader Endpoint)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#a961358e-a23b-4e28-a661-1b48da1baa1e&quot;&gt;More Features of Aurora&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#a41d859c-3d36-469d-9acc-0aaceecbff56&quot;&gt;Aurora Security&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#38731f15-a307-4fd9-b4d3-23c52fafc7ba&quot;&gt;Aurora Advanced&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#9b58baae-4c7f-4c30-8586-2085f7959408&quot;&gt;PainPoint&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#76fae8b8-d508-4a13-8c89-6474f126f6eb&quot;&gt;Solution: Replicas Auto Scaling을 사용한다.&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#eb7497dd-d539-4d5b-bc84-d8ea21cfaae9&quot;&gt;Aurora Serverless&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#6d6ea699-5cc2-486b-9c64-10a47d2aa28c&quot;&gt;Aurora Multi-Master&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#777c8433-2974-4ab2-9cd7-6d4e95981963&quot;&gt;Gloal Aurora &lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#45002c9c-ce0b-4121-9f49-1af7e25ec5b7&quot;&gt;Aurora Machine Learning&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#cc98927e-27ab-4b8e-a119-20aec98b1962&quot;&gt;Amazon ElastiCache &lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#05a8426e-3093-40d6-a7ad-552a372f946c&quot;&gt;캐시란 무엇일까요? &lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#7998745f-3b86-4fc5-98a5-6cd62f2b7c25&quot;&gt;ElastiCache - Cache Security&lt;/a&gt;&lt;/div&gt;&lt;/nav&gt;&lt;h1 class=&quot;&quot; id=&quot;fe79e792-a62d-423b-b059-bbe794da23c5&quot;&gt;RDS overview&lt;/h1&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;edc73eb2-df3b-41c5-82e3-da6625bb17e1&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;정의:&lt;p class=&quot;&quot; id=&quot;bb2359fc-1c9a-4ab9-91a9-d72defdc324d&quot;&gt;AWS의 데이터베이스를 위한 관리형 데이터베이스(Relational Database Service) + 여러 기능&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;52a5d663-b117-4399-88bc-0e462f4c1adb&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;유형&lt;ol class=&quot;numbered-list&quot; id=&quot;5a5c4727-dc45-48ee-bf44-177f5d055cf8&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;PostgresQL 포스트그레스큐엘&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;fc95db7f-80b3-4842-bf74-5a9a4bcb0c81&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;MySQL&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;c123a854-fe2f-48b5-a21a-e168545c910d&quot; start=&quot;3&quot; type=&quot;a&quot;&gt;&lt;li&gt;MariaDB&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;96d29dd2-6857-47ad-8211-3f9fd2ba6ae9&quot; start=&quot;4&quot; type=&quot;a&quot;&gt;&lt;li&gt;Oracle&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;06a72809-80fa-470e-abd0-bb011960c912&quot; start=&quot;5&quot; type=&quot;a&quot;&gt;&lt;li&gt;MS SQL Server &lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;b10f65fa-50ca-474b-a1cb-a4ce8f65e81b&quot; start=&quot;6&quot; type=&quot;a&quot;&gt;&lt;li&gt;Aurora(AWS Proprietary database)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;5b9b87e0-890f-41fe-9882-eebd09a5db7f&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;기능(왜 자체 DB 배포안하고 RDS를 사용할까?)&lt;ol class=&quot;numbered-list&quot; id=&quot;ae96baff-0ec6-4d05-9738-374fd3f53980&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;Automated 프로비저닝&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;94a03ae9-64a6-4c87-9028-fdb682c23baf&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;Automated OS Patch&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;8f06dad9-f3bc-4b55-ac52-e45f6f75c9d2&quot; start=&quot;3&quot; type=&quot;a&quot;&gt;&lt;li&gt;Automated 백업 + 타임스탬프&lt;ol class=&quot;numbered-list&quot; id=&quot;2e3ed472-8a38-40a2-8177-4ad9f3cd2eb1&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;매일 DB 전체 백업, 5분마다 일일 트랜잭션 로그 백업
⇒ 어떤 지정 시점으로 DB 복원 가능&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;cf1a4d05-1177-4e16-9d81-4df1059a66e0&quot; start=&quot;4&quot; type=&quot;a&quot;&gt;&lt;li&gt;모니터링 대시보드를 통한 DB 성능 모니터링&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;76fb90dd-03c8-4416-bbc4-a606e08c8880&quot; start=&quot;5&quot; type=&quot;a&quot;&gt;&lt;li&gt;읽기 성능 향상을 위한 읽기 복제(Read Replicas)&lt;ol class=&quot;numbered-list&quot; id=&quot;ae657afd-f826-49c9-9941-52c9e7c6b640&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;a0c994b6-9d04-4d6c-94ee-f447c64ba64b&quot; start=&quot;6&quot; type=&quot;a&quot;&gt;&lt;li&gt;재해복구를 위한 Multi AZ &lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;dcd7ff51-7554-4155-a63c-48c594345e40&quot; start=&quot;7&quot; type=&quot;a&quot;&gt;&lt;li&gt;업그레이드를 위한 유지보수&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;2c6f037d-780e-4ead-aceb-0f7d3a6c35cc&quot; start=&quot;8&quot; type=&quot;a&quot;&gt;&lt;li&gt;확장성(Storage Auto Scaling)&lt;ol class=&quot;numbered-list&quot; id=&quot;11f12e36-1fcb-490d-aa8a-aab77cebaa4a&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;RDS DB 인스턴스를 동적으로 증가 할 수있다.&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;c8a160c7-b772-4c5e-b88a-4a9c145e6fd6&quot; start=&quot;2&quot; type=&quot;i&quot;&gt;&lt;li&gt;임계치를 선택해서 가용영역이 10%이하로 떨어지거나, 이 상황이 5분이상 진행되면, 자동으로 스토리지를 수정할 수 있다.&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;04e19c23-d6e5-4d43-9d69-b87c24e4bc53&quot; start=&quot;3&quot; type=&quot;i&quot;&gt;&lt;li&gt;이렇게 워크로드를 예측할 수 없는 경우에 유용하다.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;b933a28d-0e60-4a25-97e8-f94a914f611b&quot; start=&quot;9&quot; type=&quot;a&quot;&gt;&lt;li&gt;gp2 or io1을 통한 백업&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;0901a337-59f9-4dec-951f-8a6e42ae0335&quot; start=&quot;10&quot; type=&quot;a&quot;&gt;&lt;li&gt;그러나! SSH를 통한 접근이 안된다.&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;e51d2099-0c3e-497a-9c18-51d43d831b0a&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;c3f5a2fa-1839-4a31-9f86-0f5afc55b30f&quot;&gt;RDS Read Replicas for read scalability&lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;f6572357-1274-48ce-a08f-542c4f1569f0&quot;&gt;한개의 RDS에 너무 많은 요청을 받게 되면 최대 다섯개까지 &lt;code&gt;읽기 복사(Read Replicas)&lt;/code&gt; 가 가능하다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8c1ef4fa-01b0-4ced-9fc5-6f01759038ae&quot;&gt;동일 가용영역(AZ), 리전 걸쳐서 생성이 가능하다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f643839c-16ce-4085-aca9-e479adc3e8d9&quot;&gt;두 읽기 전용 복제본 사이에 비동기식 복제가 발생한다.
비동기식이란 결국 읽기(Read)가 일관적으로 유지된다는 것을 뜻함.
애플리케이션에서 데이터를 복제하기 전에 읽기 전용 복제본을 읽어들이면 모든 데이터를 얻을 수 있다는 것을 의미한다.
&lt;/p&gt;&lt;figure class=&quot;image&quot; id=&quot;fd62cb9a-9402-4718-ae05-3c83c22eda69&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/rQutV/btrEnCmEERZ/UZFusvl6gPpOakwDtjazck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rQutV/btrEnCmEERZ/UZFusvl6gPpOakwDtjazck/img.png&quot; style=&quot;width:432px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h3 class=&quot;&quot; id=&quot;e66da28a-cd9c-491b-b339-7ba9ad3e8cee&quot;&gt;Read Replicas Use Case&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;cca97577-8355-4779-b858-59540dc575b2&quot;&gt;예를 들어서 평균적인 로드를 감당하고 있는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;679d71fb-c727-4e76-8c93-a87a0cebd600&quot;&gt;생산 데이터베이스가 있다고 해 봅시다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bef47292-2e10-483c-89f9-f0aacd1eb513&quot;&gt;생산 데이터베이스에서는 메인 RDS 데이터베이스 인스턴스에 대한 읽기 및 쓰기가 수행됩니다 이때 새로운 팀이 와서 여러분의 데이터를 기반으로 몇 가지 보고와 분석을 실시하고자 한다고 해 보죠 보고 애플리케이션을 메인 RDS 데이터베이스 인스턴스에 연결하면 오버로드가 발생하고 생산 애플리케이션의 속도가 느려질 텐데 이런 현상은 피하고자 합니다 이때 여러분이 해결사로 나서서 새로운 워크로드에 대한 읽기 전용 복제본을 생성하는 겁니다 읽기 전용 복제본을 생성하면 메인 RDS DB 데이터베이스 인스턴스와 읽기 전용 복제본 간 비동기식 복제가 발생합니다 그다음 보고 애플리케이션이 생성한 읽기 전용 복제본에서 읽기 작업과 분석을 실행하게 되는 거죠 이 경우 생산 애플리케이션은 전혀 영향을 받지 않으니 완벽합니다 읽기 전용 복제본이 있는 경우에는 SELECT 명령문에만 사용하는 점을 명심해야 합니다 SELECT는 SQL의 키워드로 읽기를 의미하죠 따라서 데이터베이스 자체를 바꾸는 INSERT, UPDATE, DELETE 같은 키워드는 사용이 불가능합니다 읽기 전용 복제본은 읽기를 위함일 뿐이니 말이죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;3a88bc4e-0025-4b4e-9ad5-c40585ebd719&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;860df79a-cd41-449c-9541-c087a180a399&quot;&gt;Read Read Replicas - Network Cost&lt;/h3&gt;&lt;figure class=&quot;image&quot; id=&quot;41a2e009-530a-4da7-9196-725ddfcbf512&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/wdwf6/btrEnDFSjjM/Jv7p8EL10rB1npNbIpNb7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wdwf6/btrEnDFSjjM/Jv7p8EL10rB1npNbIpNb7k/img.png&quot; style=&quot;width:2516px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;509dc65a-4a1f-4400-bfc6-554ef06aba9e&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;c981657b-1d58-46d6-8f95-a591ea04776a&quot;&gt;Read Replicas - Muli AZ(Avaliability Zone)&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;c416c134-f921-4e85-a10a-91a1ffbf53cc&quot;&gt;목적: 마스터 데이터베이스의 인스턴스 혹은 스토리지에 장애가 발생할 때 스탠바이 데이터베이스가 새로운 마스터가 될 수 있도록 자동으로 조치를 취해주는것&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;4615bfe5-8e79-4d92-b73a-c48087aea691&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;4217566c-b638-4911-a7e4-12246c42ffda&quot;&gt;RDS Security - 암호화 Encryption&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;0109aded-87d5-44e6-955c-9442653ad877&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;At rest encryption&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;4129daae-aa88-4cad-bb51-685322df103f&quot;&gt;AWS의 키 매니지먼트 서비스인 AWS KMS를 통해서 마스터 데이터베이스와 읽기 전용 복제본을 암호화할 수 있다. 또한 Oracle과 SQL 서버에서 TDE라고 하는 투명한 데이터 암호화 또한 가능하다. &lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;99062f79-dc68-4ebf-88ce-01df72505c06&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;In-flight encryptio&lt;ul class=&quot;bulleted-list&quot; id=&quot;3c73a894-1d39-44f5-bf4a-519256e35ed9&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;SSL 인증서가 필요한 전송 중에서 RDS 암호화를 제공한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b4e1ee14-0b38-45e7-8dfe-2b6bbb956ded&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;DB를 연결할때 신뢰성있는 인증서와 함께 SSL를 제공함&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;4045eabf-30cc-4b43-9dc6-3e3bf0aeb2ca&quot;&gt;첫 번째 RDS 백업 암호화&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b8209868-d60a-4fe1-b7a6-805ca00c57dd&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;만약, 암호화 되지 않은 RDS 데이터베이스에서 스냅샷을 생성하면 스냅샷 자체는 암호화 X &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5033a79d-c071-4350-aaa2-d2bfc07892e6&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;반면, 암호화된 RDS 데이터베이스에서 스냅샷을 생성하면 모든 스냅샷이 기본으로 암호화됨
(단, 기본 값은 아니다)&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;257cd2ac-62b4-45e9-9035-c01b752b5268&quot;&gt;두 번째, 네트워크 보안&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;dbaae89f-5377-4fda-8e4a-a02fa7e7f02e&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;네트워크 보안의 RDS 데이터베이스는 일반적으로 프라이빗 서브넷에서 배포된다. 즉, 데이터베이스가 WWW에 노출되지 않도록 해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;49021e8c-b8c4-43cb-9c0d-705cbc6af1c6&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;RDS 보안은 RDS 인스턴스에 연결되어 있는 보안 그룹(Security Group)을 활용해 실행&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;824890da-902c-475f-a8a9-2c379144ce97&quot;&gt;세 번째, Access Management&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;772d73f5-b9e3-470c-bec2-30bd73326bb3&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;AWS RDS를 관리하는 사람만 제어할 수 있다. 데이터 생성, 삭제, read replicas 생성 등.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;38920c3b-41e2-4247-be45-7263ea81a878&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;DB 로그인을 하기 위해 Login OR IAM 기반 인증을 할 수 있다. 즉, DB 보안은 주로 데이터베이스 안에서 이루어지는것.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;a1559e83-555a-463b-bbe7-7df2f65d9f40&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;07578440-9194-48bf-98a6-0e841b42325b&quot;&gt;AWS Aurora&lt;/h1&gt;&lt;p class=&quot;&quot; id=&quot;92b8adda-e5d3-4eb1-9dbe-5fbf47f56d03&quot;&gt;Aurora는 AWS의 사유 기술&lt;/p&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;cb4f7975-91f8-4f7e-a375-1b9c89dcf52f&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;사용법: Aurora는 호환 드라이버가 있어 Postgres와 MySQL 데이터베이스에 연결하면 실행가능&lt;/li&gt;&lt;/ol&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ffd4399c-8723-4c53-bba2-f86bfcfe481d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;성능&lt;/strong&gt;: 클라우드에 최적화 서비스로 RDS의 MySQL에서는 x5, Postgres에서는 x3 이상 향상된 성능&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;e8e55c20-e696-4bf4-b3d9-ed149df5373f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;속도&lt;/strong&gt;: 최대  15개의 read replicas 갖고 있을 수 있고, 복제속도도 훨씬빠르다(MySQL은 최대 5개 읽기복제)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3b5bd4e0-be9d-4db8-b452-fd5dad04cf43&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;비용&lt;/strong&gt;: 비용이 20% &lt;style&gt;@import url('https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.2/katex.min.css')&lt;/style&gt;&lt;span class=&quot;notion-text-equation-token&quot; contenteditable=&quot;false&quot; data-token-index=&quot;0&quot; style=&quot;user-select:all;-webkit-user-select:all;-moz-user-select:all&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mo&gt;↑&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;\uparrow&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8888799999999999em;vertical-align:-0.19444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;↑&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;﻿&lt;/span&gt;&lt;/span&gt;, But, 규모 면에서 효율적 ⇒ 경제적.&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;5c8d2c4a-5806-4843-b490-5ddebf7222a5&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/oCNie/btrEo9w2sNx/QVi4lnVCwZVvbtK5bkXLY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oCNie/btrEo9w2sNx/QVi4lnVCwZVvbtK5bkXLY0/img.png&quot; style=&quot;width:432px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;e0dfea6b-6426-4ba7-9de4-227abb571c02&quot;&gt;하나의 마스터(상단의 &lt;strong&gt;M&lt;/strong&gt;)와 여러개의 읽기 전용 복제본(상단의 &lt;strong&gt;R&lt;/strong&gt;) 그리고 스토리지가 위처럼 작은 블록별로 자가 복구와 자동 확장이 실행된다. &lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;b066f5c2-3a70-4317-a9fa-e2364d93e5ca&quot;&gt;AWS Aurora DB Cluster&lt;/h2&gt;&lt;figure class=&quot;image&quot; id=&quot;ae2caa70-4292-4549-8aef-aae0f85ba20b&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/IEuYF/btrEmbpQ4kA/sa7LsSpVx10JPxagyoHOY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IEuYF/btrEmbpQ4kA/sa7LsSpVx10JPxagyoHOY1/img.png&quot; style=&quot;width:1500px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;4b3c69b2-6efb-4a05-9a9c-f4eb5ecbc025&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;공유된 스토리지 볼륨: 10GB에서 64TB로 자동 확장되는 기능을 갖고 있다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2fbf110a-9a12-40b9-b89e-87a51be777c1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;마스터: 유일하게 스토리지에 기록할 수 있는 역할(Writer Endpoint 를 제공)&lt;ul class=&quot;bulleted-list&quot; id=&quot;908c5815-3b96-4bda-a836-443c79d98a7e&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;라이터 엔드 포인트(Writer Endpoint)는 DNS 이름으로 늘 마스터를 향해서 마스터 장애 시에도
클라이언트가 라이터 엔드 포인트와 통신해 올바른 인스턴스로 자동으로 리디렉션 시켜준다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;92976c34-c7f1-436a-9c1a-c4d6e9c3e317&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;읽기 전용 복제본에 오토 스케일링 적용 가능(최대 15개의 읽기 전용 복제본 + 사용자 지정 읽기 수 지정)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;55ecdcda-6090-485d-970d-2dd42caa835f&quot;&gt;Painpoint&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;19eddb05-18f9-47e1-b2da-c3e7fe543a76&quot;&gt;오토 스케일링으로 애플리케이션이 읽기 전용 복제본의 URL을 추적하는 것이 어려워지면서 연결하기 어려워짐.&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;976c213d-9e91-4e65-9c32-6c9c7ee18013&quot;&gt;Solution: 리더 엔드포인트(Reader Endpoint)&lt;/h3&gt;&lt;figure class=&quot;image&quot; id=&quot;b8ee9fa8-61fa-404d-8782-381eacba8d9a&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/69uuR/btrEnDy5KQV/1sI0im9xhG0ByGnjnSLIoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/69uuR/btrEnDy5KQV/1sI0im9xhG0ByGnjnSLIoK/img.png&quot; style=&quot;width:624px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;c8b1b5e4-59f1-4b18-81f6-6ec20efea59e&quot;&gt;Reader Endpoint는 라이터 엔드 포인트와 동일한 기능이 있는데 로드 밸런싱의 연결을 돕고 모든 읽기 전용 복제본에 자동으로 연결한다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8e05cc24-96d6-4cf7-b6ee-91ac3047c7ad&quot;&gt;클라이언트가 Reader Endpoint에 연결할 때마다 읽기 전용 복제본 중 하나가 연결하는 식으로 로드밸런싱한다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;477f3ccb-bd4e-4d8e-8abb-7861f2ee6514&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;c5b4ab59-98d2-4729-bb34-17addc84b215&quot;&gt;한 가지 알아야 할 것은 로드 밸런싱은 명령문 수준이 아니라 연결의 수준에서 발생한다.&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;a961358e-a23b-4e28-a661-1b48da1baa1e&quot;&gt;More Features of Aurora&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2c1c8d5f-eda8-4023-bcc8-345963fd6095&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;자동 장애 조치&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ce7f6099-af3d-4d19-8a42-29634e48503a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;백업 및 복원&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;01f46af6-6450-4643-95f5-d7c76d27f5d6&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;격리(Isolation), 보안(security)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;206699c5-7547-40dd-8a61-3c35034bb964&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;산업 규정 준수 기능(Industry compliance)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;a84c35b1-c471-4176-b8a3-8d839b838c26&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;푸시 버튼식 오토 스케일링&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;c24bb2d1-cf38-415d-94e8-d8fe59b3ea19&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;자동 패치 w/ zero downtime&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;dfe475ab-414f-40f9-82f0-7960800e3308&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;고급 모니터링&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;614a4479-7f6b-4e33-98fa-82d649237aae&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;정기 유지 보수&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;be651ea0-2d3b-4d13-9d64-6fdc0d2ee95c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;백트랙(Backtrack): 언제든지 데이터를 복원할 수 있는 기능&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;7fd0344d-fdaa-4f71-8ecd-bd31b0500963&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;a41d859c-3d36-469d-9acc-0aaceecbff56&quot;&gt;Aurora Security&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d6276e3c-2ebd-4293-9e54-c9b12cfed747&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;RDS와 같은 엔진을 쓰기 때문에 Postgres와 MySQL 선택 가능&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;19dd6564-d117-4c57-9ee8-24e792709d9b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;KMS를 통한 미사용 데이터 암호화&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bf739a1b-7a6b-41ab-918f-f4696d33f52b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;자동 백업, 스냅샷, 복제본 암호화&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3554d26c-0e3a-4f56-9c0c-c85070242004&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSL을 통한 전송 암호화&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;41e9bd5a-99cd-4785-ba05-3290e71e804a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;MySQL, Postgres와 동일한 프로세스입니다&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6c36389f-0099-46b2-a209-4a738c265ad9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;IAM 토큰을 사용한 인증 &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5da3db8c-a17c-4c36-9440-c9af1689927b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;보안 그룹을 통한 인스턴스 보호&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9c25c9e9-f264-4441-ad85-8ece506239ea&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSH 연결 미지원&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; id=&quot;38731f15-a307-4fd9-b4d3-23c52fafc7ba&quot;&gt;Aurora Advanced&lt;/h2&gt;&lt;h3 class=&quot;&quot; id=&quot;9b58baae-4c7f-4c30-8586-2085f7959408&quot;&gt;PainPoint&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;7810ea94-1b12-4c00-9b6e-3847212b7f0d&quot;&gt;리더 엔드 포인트에서 너무나도 많은 읽기 요청이 있어서 Amazon Aurora의 CPU 사용량이 증가하였다.&lt;/p&gt;&lt;figure class=&quot;image&quot; id=&quot;fe74da38-6a16-42cb-8060-2d0f8e90e8ce&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bra1RT/btrElch8YyW/qs1jl9UyENZjRMaksFPkSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bra1RT/btrElch8YyW/qs1jl9UyENZjRMaksFPkSK/img.png&quot; style=&quot;width:528px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h3 class=&quot;&quot; id=&quot;76fae8b8-d508-4a13-8c89-6474f126f6eb&quot;&gt;Solution: Replicas Auto Scaling을 사용한다.&lt;/h3&gt;&lt;figure class=&quot;image&quot; id=&quot;6b4073ea-89c1-4bf9-8f1d-57dc65f3e899&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cX8SrR/btrEo7Tu6zf/K2ADH70dIlAWjo60A2PJY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cX8SrR/btrEo7Tu6zf/K2ADH70dIlAWjo60A2PJY1/img.png&quot; style=&quot;width:432px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;9a4aede2-9634-4a91-834e-88d188b9cf37&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8be20b53-afa5-44a5-bb82-378e530c473f&quot;&gt;위처럼 오토 스케일링 복제본을 설정할 수 있다. 이를 통해 Amazon 오로라 복제본이 추가되고  이후, 자동으로 Reader Endpoint가 이 새로운 Replica을 포함할 수 있도록 확장될 수 있다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;3d62c541-5e21-4254-879c-e264b984d90b&quot;&gt;이 새 복제본은 트래픽을 수신하기 시작하고 전체 CPU 사용량을 낮추기 위해 좀 더 분산된 방식으로 읽기를 수행합니다. 이것이 오토 스케일링 복제본입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;27462667-3adc-4e89-aeaf-8b9ec9ecca6e&quot;&gt;
&lt;/p&gt;&lt;figure class=&quot;image&quot; id=&quot;4bcf36fc-1586-4cad-a7b2-40cc14792d5e&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bGTFt9/btrEmQscGdP/oxCb4TfMKuguvMQVEK6Vg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGTFt9/btrEmQscGdP/oxCb4TfMKuguvMQVEK6Vg1/img.png&quot; style=&quot;width:2456px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;f842e31d-6387-4517-a315-2f722826787c&quot;&gt;위처럼 2개는 r3.large 인스턴스를 사용하고 나머지 2개는 r5.2xlarge인 더 큰 인스턴스를 사용한다고 할때,&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b7b449d4-4dd5-448d-acab-277efe7ca6e1&quot;&gt;처음에는 Reader Endpoint로 Client의 요청을 모두 대응 하지만 Custom Endpoint를 추가로 만들어서 분석 쿼리를 실행하도록 한다. 이를 통해서 더 강력한 인스턴스를 적절한 일을 시키도록 한다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;050bc26f-c5f0-41d0-ab1d-afe96e8c597a&quot;&gt;추가적으로 성능이 더 좋은 r5.2xlarge인 애들을 토대로 &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bbc43bf0-21c5-47b1-b3fa-1c927261a75c&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;eb7497dd-d539-4d5b-bc84-d8ea21cfaae9&quot;&gt;Aurora Serverless&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;daa50b8a-35dd-4fea-956a-eadb6e2856fa&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;자동화된 데이터베이스 인스턴스화와 실제 사용을 기반으로 한 오토 스케일링을 제공&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;38b0b16b-5a75-47d1-af53-bf924f2cf7ad&quot;&gt;드물거나 간헐적이거나 예측할 수 없는 워크로드가 있을 때 유용 ⇒ 용량 계획을 수행할 필요가 없다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;52df6bb5-eced-43c8-854b-d9ff6ed5a0f9&quot;&gt;비용절감: 스핀 업 상태인 오로라 인스턴스를 토대로 초당 비용을 지불하기 때문에 비용면에 효율적&lt;/p&gt;&lt;figure class=&quot;image&quot; id=&quot;8aa20bfd-8cd8-4017-aef9-ad5d1a291bf9&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/NbaAa/btrEpAgQC8K/20Yka3nKML1KRbpMi7vfxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NbaAa/btrEpAgQC8K/20Yka3nKML1KRbpMi7vfxk/img.png&quot; style=&quot;width:336px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;eb9c9960-a051-4610-a91a-061569077015&quot;&gt;클라이언트는 오로라에서 관리하는 Proxy Fleet과 통신하고 백엔드에서는 서버리스 방식으로&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;24042493-96f0-4b9f-bf3f-50087940078b&quot;&gt;워크로드를 기반으로 많은 오로라 인스턴스를 생성한다. 그래서 미리 용량을 프로비저닝할 필요가 없다.&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;6d6ea699-5cc2-486b-9c64-10a47d2aa28c&quot;&gt;Aurora Multi-Master&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;c1fa7132-cad6-433d-9352-faa394e54b80&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Writer 노드에 대한 빠른  장애 조치를 원할때, 즉 Writer 노드에 대한 높은 가용성을 원하는 경우에 쓰인다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7bd9d926-ff57-46e5-b4ce-f3a6dd0a8e5f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;오로라 클러스터에 있는 모든 노드가 Read와 Write 작업을 하는데, 만약 쓰기 노드가 하나만 있고 다운돼서실패하게 되면 Read Replicas을 새로운 마스터로 승격시킨다.&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;6d26aba0-b794-4895-9fc8-7f7b1830fae3&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/68jcc/btrEpBmwUVa/wJrASzDjXs4GIUikgE2aw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/68jcc/btrEpBmwUVa/wJrASzDjXs4GIUikgE2aw1/img.png&quot; style=&quot;width:432px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;7923d817-37cd-48f2-b0e1-806c3213e4dc&quot;&gt;여기 오로라 인스턴스가 세 개 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f649451d-8c53-4939-885d-9112cf56f555&quot;&gt;서로 복제를 수행하고 있죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a8083528-c1e5-4304-8c07-957cc0a94232&quot;&gt;공유 스토리지 볼륨이 있고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;65ccea8d-4860-4a99-bf6e-0ba9c6b133c6&quot;&gt;클라이언트는 데이터베이스 연결을 여러 개 갖습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;53479257-0410-4f00-af38-176c81ec11a7&quot;&gt;모든 오로라 인스턴스는 쓰기 작업을 수행할 수 있고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;965c3b89-f4ae-43d3-8c5a-80eb092339da&quot;&gt;만일 어떤 오로라 인스턴스가 실패하면&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6364eaf2-e11e-48da-b2dc-90d868b72697&quot;&gt;라이터 노드에 대한 즉각적인 장애 조치를 제공하는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b8ac6b83-fc9f-4a8f-ba79-0c90cf1c3aea&quot;&gt;다른 노드로 자동 장애 조치를 수행할 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;020ee805-e81b-4105-b107-97a612fb27a5&quot;&gt;이는 시험에서 출제될 사용 사례와 시나리오의 종류입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;ff390e2a-16cc-4ff4-b92c-88a548325d13&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;777c8433-2974-4ab2-9cd7-6d4e95981963&quot;&gt;Gloal Aurora &lt;/h3&gt;&lt;figure class=&quot;image&quot; id=&quot;b0d6c75d-4777-41ba-abcd-66c6bc507ea2&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/mG0Iy/btrEpA2dIXR/q3gAbz7ZWtU2JeUVaHOKg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mG0Iy/btrEpA2dIXR/q3gAbz7ZWtU2JeUVaHOKg1/img.png&quot; style=&quot;width:240px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f46ddd5f-8320-4340-9871-ddd9bd1635eb&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;오로라 리전 간 읽기 전용 복제본이 있다면&lt;ul class=&quot;bulleted-list&quot; id=&quot;6a50ac45-ea13-495b-a050-31768bbd336a&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;재해 복구 유용&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;73b4a43a-4d85-4037-a74f-bad62d595d69&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;간단한 구현&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f3059c6c-c986-498e-ba77-c036c0044c8b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;오로라 글로벌 데이터베이스&lt;ul class=&quot;bulleted-list&quot; id=&quot;98afc4cb-4429-43fc-8e08-405ba6cbb6e6&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;모든 읽기 및 쓰기가 발생하는 하나의 기본 리전이 있지만&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2be9bf6b-7573-46a7-a65f-a16290782f46&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;최대 5개의 보조 읽기 전용 리전을 설정 가능(보조 리전당 복제본 지연시간(lag)이 1초 미만)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;0b1811e1-d6e1-4fe1-9c1b-500f8bb06db4&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;최대 16개의 읽기 전용 복제본을 가질 수 있습니다&lt;p class=&quot;&quot; id=&quot;3a7af012-aad1-49cb-871d-2798bc636b14&quot;&gt;⇒  전 세계의 읽기 전용 복제본에 대한 지연 시간(latency)을 줄일 수 있다&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f02423cc-e9c1-40c6-8146-833b606e4eea&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;어떤 리전에서 데이터베이스의 중단이 발생하더라도 RTO가 있으므로 복구 시간은 1분 미만이 될 것이다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;715f9299-e1b9-49a1-9a95-f9d80294101a&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;45002c9c-ce0b-4121-9f49-1af7e25ec5b7&quot;&gt;Aurora Machine Learning&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;7284ef2e-e885-499e-b299-0f97c2c01a67&quot;&gt;
&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7f1b34fb-b73d-4e96-bf3e-7594929939f5&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SQL 인터페이스를 통해 애플리케이션에 ML 기반 예측을 추가할 수 있는 개념&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;81cf3bd4-dabe-4bfc-87d6-aca30375a58f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;오로라와 다양한 AWS 머신 러닝 서비스 간의 간단하고 최적화된 안전한 통합입니다&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8b5ebe10-c542-42b9-ba0d-986532a299e9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;지원되는 두 서비스&lt;ul class=&quot;bulleted-list&quot; id=&quot;e89172bb-ae3a-4842-9332-77e5bc401e36&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;백엔드에서 모든 종류의 머신 러닝 모델을 사용할 수 있는 SageMaker&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b8a02d54-e314-443c-b262-2db1cdd3ffdb&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;감정 분석을 수행할 때 쓰는 Amazon Comprehend가 있죠&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;cf985ce8-9f54-45dd-b417-9754d812b22b&quot;&gt;Usecase&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;dcf6a97c-d07e-4776-9632-46e31e9690b3&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;사기 탐지, 광고 타겟팅 감정 분석&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;54ebee8f-bc1f-4182-a8b4-509ee14ca1e8&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;제품 추천입니다&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;2e53dc69-e0c0-4950-bc38-4d50ca46c859&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;cc98927e-27ab-4b8e-a119-20aec98b1962&quot;&gt;Amazon ElastiCache &lt;/h1&gt;&lt;p class=&quot;&quot; id=&quot;934826eb-eb4a-44d8-9279-fd41e878e579&quot;&gt;RDS와 동일한 방식으로 관계형 데이터베이스를 관리할 수 있죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;55d8aa8f-a80d-4d0f-9890-fc18be76b659&quot;&gt;또한, ElastiCache는 Redis 또는 Memcached와 같은 캐시 기술을 관리할 수 있도록 한다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;3a5b0ea1-e640-46b0-b639-b8715f5a5f4e&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;05a8426e-3093-40d6-a7ad-552a372f946c&quot;&gt;캐시란 무엇일까요? &lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;47e0bff5-6929-4d81-9dbc-c96eccdff8de&quot;&gt;캐시는 높은 성능과 낮은 지연 시간을 가진 인 메모리 데이터베이스입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;ce3d6bb3-ba03-4475-b52c-45bbf313b339&quot;&gt;그리고 일래스틱 캐시를 사용하면 읽기 집약적인 워크로드의 부하를 줄이는데 도움이 됩니다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9da45557-efdf-440e-a951-34e98a37e7f5&quot;&gt;이 개념은 일반적인 쿼리가 캐시 되어 데이터베이스가 매번 Query 날리지 않고 캐시는 이러한 쿼리 결과를 검색할 때 사용할 수 있는 것입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8c3e2522-a47c-43af-826a-b9a75ef4e509&quot;&gt;애플리케이션의 State를 Amazon 일래스틱 캐시에 저장해 애플리케이션을 Stateless 만들 수 있도록 합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;99b1cf0c-13e2-4a12-8c6d-402eb45553dd&quot;&gt;RDS와 같은 장점을 갖기 때문에 AWS는 동일한 유지 보수를 수행합니다&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;27c2e80b-9cba-4fea-9eb8-7369017dce16&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;운영 체제, 패치, 최적화, 설정, 구성, 모니터링, 장애 회복 그리고 백업을 수행&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;01d3e2b7-b2f0-4090-86a9-fde2d96f8054&quot;&gt;일래스틱 캐시를 사용할 때 애플리케이션에 관한 몇 가지 어려운 코드 변경을 요청할 수도 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6dd1c5b8-f26b-4b05-b4a9-1c6f2406d775&quot;&gt;단순한 활성화가 아니라 데이터베이스 쿼리 전과 후에 캐시를 쿼리하도록 애플리케이션을 변경해야 하죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;26d329a5-ab8f-40b0-9f64-9b93271a5dab&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;265f8656-f0c3-4fb6-8f06-e7891ad8811d&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;35d4fa90-4377-418c-a21c-e37ac478b16b&quot;&gt;이제 일래스틱 캐시 사용을 위한 아키텍처를 살펴보겠습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8c65ef46-d3e1-4c74-a63b-437354e07c84&quot;&gt;여러 가지 중에서 예시를 하나 들어보죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8f095e62-3790-425b-a785-7cc8ca84fe7f&quot;&gt;일래스틱 캐시와 RDS 데이터베이스 그리고 애플리케이션이 있고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b5a2f2cf-1eed-4cde-bb2e-2d65af02fb25&quot;&gt;애플리케이션은 일래스틱 캐시를 쿼리합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b605fb0b-9a00-4ad2-a37f-330c1e9c6038&quot;&gt;쿼리가 이미 생성됐는지&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;c8f020f2-9336-4952-b5f2-c72e51bfcdce&quot;&gt;이미 생성되어 일래스틱 캐시에 저장됐는지 확인하는 것은&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6d27d44f-5b23-4c49-ab83-05673c7e1677&quot;&gt;캐시 히트(cache hit)고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;ff516274-ab62-4116-bf5f-d98381ab93c7&quot;&gt;이는 일래스틱 캐시에서 바로 응답을 얻어서&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;34a33090-1c2c-4a6d-a877-0118cbf76e94&quot;&gt;쿼리하기 위해 데이터베이스로 이동하는 동선을 줄여줍니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e44bfd7b-a8b2-46cd-8724-120d159bd697&quot;&gt;캐시 미스(cache miss)의 경우에는 데이터베이스에서 데이터를 가져와서&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;1500ddda-56d1-464e-8928-6ec23c1872c6&quot;&gt;데이터베이스에서 읽습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;ff65e3ae-6407-489f-a83d-e012f8cacbe7&quot;&gt;동일한 쿼리가 발생하는 다른 애플리케이션이나 인스턴스에서는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e633e4a7-4481-40d4-88d3-ee3609ec3303&quot;&gt;데이터를 캐시에 다시 기록하여&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6604f904-fc86-4bf3-abde-1b21bf61081a&quot;&gt;다음에는 같은 쿼리로 캐시 히트를 얻도록 합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;0fb4a8e4-3ba9-4b0c-b38a-81812e3b0a90&quot;&gt;이는 RDS 데이터베이스에서 부하를 줄이는데 도움을 주는데&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;22c759d0-7346-457c-a823-ebda192f349e&quot;&gt;데이터를 캐시에 저장하기 때문에&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fe25ee8d-6875-4aa0-a778-e180d53c2b7e&quot;&gt;캐시 무효화 전략이 있어야 하며&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e049548b-bf93-4d37-9256-d9279cfed63b&quot;&gt;가장 최근 데이터만 사용하는지 확인해야 합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a104a459-70d1-45bc-84a6-9f08042c9644&quot;&gt;이것이 캐싱 기술 사용과 연관된 어려움이라고 할 수 있죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8d7e0b83-f9dd-4045-b881-d8e00b14eec8&quot;&gt;다른 아키텍처는 사용자 세션을 저장해 애플리케이션을&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;409ea8bb-7ee8-400f-a6fc-735a6f281696&quot;&gt;무상태로 만드는 것입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;855bac1d-6293-4d8c-a665-2e684bb18766&quot;&gt;사용자가 애플리케이션의 모든 계정에 로그인하면&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a745fa93-712c-4aa5-bb9c-c9ef503f8e45&quot;&gt;애플리케이션이 일래스틱 캐시에 세션 데이터를 기록하는 것입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;10208e0d-7a5e-40a9-b243-f428c8df1e87&quot;&gt;사용자가 애플리케이션의 다른 인스턴스로 리디렉션 되면&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e1950a89-3614-403f-a836-ecd44d77c226&quot;&gt;애플리케이션은 일래스틱 캐시에서&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;2fdbc131-e782-4aba-97fd-677fed3f5939&quot;&gt;직접 세션 캐시를 검색할 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cc3dd357-44c1-408d-8255-33e37576faff&quot;&gt;그래서 사용자는 계속 로그인한 상태로 한 번 더 로그인 할 필요가 없죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;7e3ae996-dfed-4075-8e32-8a53e9a0e2cd&quot;&gt;사용자의 세션 데이터를&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;264e5490-ad41-4289-aafc-3d321637a1e7&quot;&gt;일래스틱 캐시에 기록해서 애플리케이션을&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;4bdfe199-de08-4c05-9a33-b8bfbf0caf52&quot;&gt;무상태로 만든 것입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;4b9f8c87-e81b-4af1-ac48-4dd012136b52&quot;&gt;레디스와 멤캐시트의 차이를 전반적으로 이해하는 것도&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d48bfc0b-f55f-4371-965a-a63ef1840d0e&quot;&gt;시험에 출제될 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;aaa815c2-a9f5-4bbf-a1ef-a62d7d6425aa&quot;&gt;레디스(Redis)는 자동 장애 조치로 다중 AZ를 수행하는 기술이며&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;00e01e4b-f9a3-4d4a-98c8-990fd7100078&quot;&gt;읽기 전용 복제본은 읽기 스케일링에 사용되며 가용성이 높습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;19237e74-6974-40c0-bf47-3b0b17fc6804&quot;&gt;약간 RDS와 비슷합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fa1d78b5-391d-4709-aedd-458ad3a4ff02&quot;&gt;그리고 지속성으로 인해 데이터 내구성도 있으며&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f9fbdeb3-b670-46c5-b31d-4aa96a0da697&quot;&gt;백업과 기능 복원 기능도 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bf180d70-c2f8-4ece-96f9-c508409af835&quot;&gt;RDS와 많이 유사합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;45fe409b-3f9a-4e34-894b-8d6328ae187a&quot;&gt;멤캐시트(Memcached)는 데이터 분할에 다중 노드를 사용하고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f60466d7-faa9-46e6-9051-a7f64fc1f45d&quot;&gt;이를 샤딩(sharding) 이라고 합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cbe0c2ec-6524-42ce-8ca0-5d6c2d520c9b&quot;&gt;가용성이 높지 않고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bbdd1d76-a500-4764-9345-62e3212d4fb2&quot;&gt;복제도 발생하지 않습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;4eb4f5fd-d47d-470f-bcbb-d98a8ffb95c9&quot;&gt;지속적인 캐시가 아닙니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e26ca765-92ca-4686-8d4c-bd3560ea4976&quot;&gt;백업과 복원 기능도 없죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d4ebfdf2-c1ee-4321-9184-d3201ca5540d&quot;&gt;그리고 다중 스레드 아키텍처로&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;46816f93-19e0-4ede-aa52-333dfd065aae&quot;&gt;몇몇 샤딩과 함께 캐시에서 함께 실행되는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9c5e3344-090b-4039-adb1-d7ff5a20a6b0&quot;&gt;여러 인스턴스가 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;447dcbe5-e973-49a8-9d60-086a3aacd551&quot;&gt;여기서 기억해야 할 것은&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b3c9a55f-5700-40b1-887d-87446b24e0e7&quot;&gt;레디스는 고가용성과 백업&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;106714ca-4551-4ca5-9925-fd5cd9c1afd4&quot;&gt;읽기 전용 복제본 등이 있고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;c45f2328-fedc-478d-9b60-e6987dcc8636&quot;&gt;멤캐시트는 데이터를 손실할 수 없는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;0dc397db-4841-47f0-83eb-387f46f718d6&quot;&gt;단순한 분산 캐시입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b348ebe3-64fd-43d1-ab42-f258df0e5390&quot;&gt;가용성이 높지 않고 백업과 복원 기능도 없습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cff1d979-6081-4cb1-8788-e70bbae13e85&quot;&gt;바로 이것이 두 기술의 가장 큰 차이점입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;834f9ef4-f60e-4e51-9e94-36f4644d5ba1&quot;&gt;여기까지입니다 즐거우셨길 바랍니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;da063ca2-f89e-43a4-ab33-f7afa24e5321&quot;&gt;다음 강의에서 뵙겠습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;1d238290-b1ef-44ee-83c2-a5217465db62&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;7998745f-3b86-4fc5-98a5-6cd62f2b7c25&quot;&gt;ElastiCache - Cache Security&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;92d25ab2-5792-4e06-90ae-3129dec7c443&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;모든 캐시는 IAM 인증을 지원하지 않는다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9056defc-9d4e-4c92-83ed-04b0fe3232f1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;일래스티 캐시에서 정의할 IAM 정책은 AWS API 수준 보안에만 사용된다&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;52e3f2bf-6c44-4626-9461-2935960a6a92&quot;&gt;즉 캐시 생성, 캐시 삭제 같은 종류의 작업을 의미합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cfba44dc-5fe4-4176-a098-41aa7df222c5&quot;&gt;그러나 캐시 내의 모든 작업은 IAM을 사용하지 않습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;20724699-c583-400e-87ff-6d463e5513b9&quot;&gt;레디스를 인증하려면 레디스 AUTH를 사용하여 레디스 클러스터를 생성할 때 비밀번호나 토큰를 설정할 수 있다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e4cccf1d-ad24-47e2-85a9-fab9fab4457a&quot;&gt;이렇게 하면 캐시에 들어갈 때 비밀번호를 사용할 수 있습니다 이는 캐시에 사용할 수 있는 보안 그룹에 대한&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;c79908da-6baa-4e99-870b-1e1dc8fcec51&quot;&gt;추가적인 수준의 보안입니다.&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bb5e07ce-519d-4e69-8a25-55b4e2ded669&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt; 전송 중 암호화를 위해 SSL 보안을 지원할 수 있습니다&lt;ul class=&quot;bulleted-list&quot; id=&quot;9617f21c-1ac6-4bfa-bf67-2f68b6765588&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;반면 멤캐시트는 좀 더 높은 수준인 SASL 기반 인증을 지원합니다&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;750573f3-4732-442e-8db3-3330f2966e93&quot;&gt;상당히 고급이라 다른 종류의 인증 메커니즘이죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;29cbf96a-7380-4c9f-ac16-686824026bf7&quot;&gt;캐시의 보안을 살펴보면&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;1190438a-ff5a-4e32-96fa-49fd455a1406&quot;&gt;EC2 인스턴스에는 자체 보안 그룹도 레디스에&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;3377880b-b40c-4a24-8408-c6f8d213ed1b&quot;&gt;액세스할 수 있는 자체 보안 그룹이 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;997e37cc-bcc7-4263-b642-ddf39a1ead48&quot;&gt;그래서 일래스티 캐시를 사용하여 보안 그룹 수준의 보안을 수행할 수 있죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;feed46ea-3a56-42fb-9b94-9c68bcaf9dfa&quot;&gt;다음 전송 중 암호화를 위해 SSL 암호화가 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;0764fddf-7a64-4e1a-bc47-463038dc46a5&quot;&gt;또 인증을 위해 일래스티 캐시에서 레디스 종류의 캐시를&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bb46520c-3c21-4a15-ad7f-35fc5feb5b76&quot;&gt;사용할 때 레디스 AUTH를 가질 수 얻을 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e582f5fe-1e61-487f-bcba-a8271a5d6134&quot;&gt;Patterns for ElastiCache&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8644a1de-c37f-4cdc-9682-09f68dc1710e&quot;&gt;일래스티 캐시에 데이터를 불러오는 패턴에는 세 가지가 있습니다&lt;/p&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;eb9c25c9-afca-452e-99c0-155099ae0ef5&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt; 레이지 로딩&lt;ol class=&quot;numbered-list&quot; id=&quot;b64d84df-a55c-4d81-8b44-43e6c5c696f8&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;모든 읽기 데이터가 캐시되고 데이터가 캐시에서 부실해질 수 있습니다
&lt;/li&gt;&lt;/ol&gt;&lt;figure class=&quot;image&quot; id=&quot;390ff3a2-7d75-41da-ae61-5c2cd04de946&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dVGjTb/btrEpA8ZkYa/CKKtcdVZU6bdpbn4SQDv8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dVGjTb/btrEpA8ZkYa/CKKtcdVZU6bdpbn4SQDv8k/img.png&quot; style=&quot;width:480px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;586c8a1a-9c3e-447e-9233-2c8773fb5331&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;라이트 스루&lt;p class=&quot;&quot; id=&quot;eb5d9c4c-a076-4221-be72-2a07ad152185&quot;&gt;데이터를 오래된 데이터가 없는 데이터베이스에 기록될 때마다 캐시에 데이터를 추가하거나 업데이트하는 겁니다 그리고 이전에 보셨듯 일래스티 캐시를 세션 저장소로 쓸 수 있고 Time To Live(TTL) 속성으로 세션을 만료시킬 수 있습니다&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;fd95bae2-ce50-4285-8b0c-d0c994ae8e66&quot;&gt;캐싱은 아주 어려워서&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;04ca395b-5e8a-462e-865a-ab6673ccf6c7&quot;&gt;컴퓨터 과학 분야에서 유명한 인용구가 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d427852a-5477-421c-86d1-c080079b448a&quot;&gt;'컴퓨터 과학에는 어려운 일이 두 개가 있다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;11a8910c-2a94-4afc-b757-17b9a35f80be&quot;&gt;바로 캐시 무효화와 이름을 짓는 일이다'&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a9e02595-9737-4e12-a368-75f89894ed4c&quot;&gt;이렇듯 캐싱은 아주 복잡한 주제며 제가 보여드린 건 아주 간단한 개요입니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f1b54c61-e906-47cd-9110-5bebc87a000e&quot;&gt;어쨌든 레이지 로딩의 전략을 설명드리겠습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;044fa3f4-4f01-425c-82d8-a4171bfbda28&quot;&gt;일래스티 캐시에 캐시가 히트하면 애플리케이션이&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;bbfe66ff-0638-47aa-aba1-69e2ec643e2f&quot;&gt;캐시로부터 데이터를 받습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cbeba5da-da52-48c7-92a0-83704eb42af4&quot;&gt;만일 캐시 미스가 있으면&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fa25ee9b-3ed1-4ff5-9537-5efce85a72a1&quot;&gt;데이터베이스에서 데이터를 읽고 캐시에 씁니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;89459984-d270-4868-9cb9-895027aa372d&quot;&gt;이전에 이미 봤던 것들이죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e0bc45c1-845f-45c4-ac98-a2fc086427ef&quot;&gt;캐시 히트가 없을 때만 발생하기 때문에 레이지 로딩이라고 합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9a7bada1-b75a-415f-8b29-6b1c1f536447&quot;&gt;그런 다음 데이터를 Amazon 일래스티 캐시에 불러옵니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6521a6ff-62db-4459-899a-a74f8d557ad8&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;db459bc4-b3c6-44c1-9d29-062a55468b90&quot;&gt;이제 레디스의 사용 사례에 대해 얘기해 볼텐데요&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;45c64b09-8e39-4dd3-9013-0492ee36e548&quot;&gt;시험을 위해 알아두셔야 할 부분이 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;662db205-cb9c-419f-b695-a1049d5de318&quot;&gt;게임 리더보드 생성에 대한 겁니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9c77fc23-47e1-4f6a-a208-a8aa8d27a34e&quot;&gt;매우 복잡합니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;0f2f0907-fb65-41c0-b747-5dd5f5cbdff9&quot;&gt;게임의 어느 시점에서든&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;6ca93cd4-0c06-4fe3-af97-a79941d40254&quot;&gt;누가 1위고 누가 2위고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;2248ed1b-158a-44df-98d1-41954d6c7b41&quot;&gt;3위인지 가려내는 개념입니다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b0400983-f804-48d2-a7d6-9a441bbc7d54&quot;&gt;그래서 레디스에는 고유성과 요소 순서를 모두 보장하는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fabd8b90-e5fe-45e5-85a6-250c48f7f51a&quot;&gt;Sorted set 이라는 기능이 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;5284a852-4bf9-4648-923d-17a15282a4b9&quot;&gt;요소가 추가될 때마다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;e4ce6638-72e5-4090-979b-4305c3c539be&quot;&gt;실시간으로 순위가 매겨진 다음 올바른 순서로 추가됩니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9da518f3-c420-44c1-8a84-b057c14cf2c5&quot;&gt;레디스 클러스터가 있는 경우&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;7b879ea4-c396-43d9-abe2-4b7bb212c1a4&quot;&gt;실시간으로 1위, 2위, 3위 플레이어가 있는&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;0fe8c0d6-3ebd-407a-86f3-8e3168169a5f&quot;&gt;실시간 리더보드를 생성한다는 개념인 거죠&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;55c6ef7a-62f3-49d2-943a-0d52fbf6a226&quot;&gt;그리고 모든 레디스 캐시는 동일한 리더보드를 사용할 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;5b07eda5-207b-45cf-9a9b-5309c555610e&quot;&gt;즉 레디스로 Amazon&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a6fca678-96f4-434c-879a-3d05f37ad043&quot;&gt;일래스티 캐시와 통신할 때&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;570af72c-31f7-4628-894c-927ddcdc5708&quot;&gt;클라이언트는 이 실시간 리더보드에 액세스할 수 있고&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;7b7c886b-18f0-4bbe-9832-d4a93003a883&quot;&gt;애플리케이션 측에서 이 기능을 프로그래밍할 필요가 없습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fea2530a-8e49-46de-9f1f-fe4397c2aba8&quot;&gt;실시간 리더보드에 액세스하기 위해&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;2f155dd3-be26-45cc-a45d-509884a13694&quot;&gt;레디스의 정렬된 집합을 활용할 수 있습니다&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fe3d62c2-5403-460f-bcfc-fb48b9afeb75&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;095395c1-94f1-4a0e-9d35-296fcf11b4e5&quot;&gt;다음은 적어도 한 번은 봐야 할 &lt;strong&gt;표준 &lt;/strong&gt;포트 리스트입니다. 암기할 필요는 없지만(시험을 위해 암기할 필요는 없습니다), 그러나&lt;strong&gt; 중요 포트(HTTPS - 포트 443)와 데이터베이스 포트(PostgreSQL - 포트 5432)를 구별할 수 있어야 합니다.&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;622353b6-c54d-4af1-a50f-30743adc978d&quot;&gt;&lt;strong&gt;중요 포트:&lt;/strong&gt;&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1d7cc188-9f98-4578-8a1a-cd94eba976de&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;FTP: 21&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;76ff0ec6-e896-4dbe-9b07-dd195666bb51&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSH: 22&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;64dfdec2-81f0-4cb2-b60b-c5b54ae3a625&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SFTP: 22(SSH와 동일)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;34d6a8b4-c3f8-4814-bbcc-e34124a34bfc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTP: 80&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;aa9ff3f6-38da-4d05-bcfe-2e39616dd227&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTPS: 443&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;6b5ae137-e915-4968-ab8f-fb58164b0ab4&quot;&gt;&lt;strong&gt;vs RDS 데이터베이스 포트:&lt;/strong&gt;&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;32dee580-0716-40ef-90f4-4f47ffdcb387&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;PostgreSQL: 5432&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;08938c65-08e5-42d9-badd-924e573799b3&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;MySQL: 3306&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f55b114a-301f-4ca0-9b94-acfc771711d3&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Oracle RDS: 1521&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5dfa001b-21af-4526-b6b7-612be0fabeba&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;MSSQL 서버: 1433&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7c0a06b7-10e1-4b1f-888a-43e64273fbb4&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;MariaDB: 3306(MySQL과 동일)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;153af69f-abb7-49e2-a04e-e0df72f797a1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Aurora: 5432(PostgreSQL 호환 시) 또는 3306(MySQL 호환 시)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7e42b344-4a25-41fa-80e3-eaaa4b656822&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;ff5e7d6d-23d2-4a87-8e5b-d3ef82781f9f&quot;&gt;MySQL 데이터베이스를 온프레미스에서 RDS로 이전해 둔 상태입니다. &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;1235861d-b080-4d3c-966a-cd5f0222b105&quot;&gt;여러 애플리케이션과 개발자들이 이 데이터베이스와 상호작용을 하고 있습니다. &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;63074ddc-8319-4670-8a72-05f860c676de&quot;&gt;각 개발자들은 기업의 AWS 계정 내에 IAM 사용자를 가지고 있습니다. &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d89b4fcf-6708-46bb-8100-99a3a3c2fa58&quot;&gt;각 개발자들을 위해 DB 사용자를 생성하는 대신, 이들에게 MySQL RDS DB 인스턴스로의 액세스를 부여하기 위해서는 어떤 접근법을 취해야 할까요?
⇒ IAM 데이터베이스 인증 활성화하기&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;eb1e353f-8afc-4941-8fd6-7f82ac646194&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;361af258-4288-443b-b3f0-4c57a42fce9e&quot;&gt;암호화되지 않은 RDS DB 인스턴스로는 암호화된 읽기 전용 복제본을 생성할 수 없습니다.&lt;/p&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>aurora</category>
      <category>AWS</category>
      <category>RDS</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/256</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-RDS#entry256comment</comments>
      <pubDate>Thu, 9 Jun 2022 20:05:07 +0900</pubDate>
    </item>
    <item>
      <title>Amazon SQS</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-SQS</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;c62e5575-0f74-4160-8e15-eb0f455fd3bc&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;nav class=&quot;block-color-gray table_of_contents&quot; id=&quot;621c56d4-2178-4095-ad0e-cf98e83a16d9&quot;&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#e844fcad-c388-4f9a-98f7-de36d112adbb&quot;&gt;What is the AWS SQS?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#c076d4ae-d6e5-44d1-8d9c-97ea746b4cbe&quot;&gt;큐의 종류&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#5524759a-4768-4c7c-9e71-8cc1f744ff3d&quot;&gt;SQS의 특성&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#f9ff0d06-d8f0-4994-a98b-7c40551bc278&quot;&gt;SQS의 추가 옵션&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#870fcaac-836d-469d-aecd-12d8ad6a7a15&quot;&gt;디커플링 아키텍처&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#6ae24857-3b71-4bf2-9fd1-19c6f1cb7a3f&quot;&gt;Amazon SQS 대기열 지표를 기반 최적화&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#5e453710-40df-4286-9150-f2d4132d5849&quot;&gt;Problem&lt;/a&gt;&lt;/div&gt;&lt;/nav&gt;&lt;h2 class=&quot;&quot; id=&quot;e844fcad-c388-4f9a-98f7-de36d112adbb&quot;&gt;What is the AWS SQS?&lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;18faf7be-f313-4ac2-81c9-ef569243a955&quot;&gt;SQS. Simple Queue Service의 약자로 사용되는 AWS 서비스이다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;14dac46e-e4a4-49bb-a86d-11b1e631795c&quot;&gt;SQS는 애플리케이션을 구성하는 다양한 컴포넌트가 서로에게 메시지를 전송할 수 있도록 돕는 &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;eda78f10-9977-4042-a81b-fb02dce6ecbb&quot;&gt;고가용성, 고탄력성 관리형 메시지 서비스이다. 수십만 건의 메시지를 불과 수초만에 처리할 수 있다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d880677b-6628-46bb-9ac1-7424f452f0e5&quot;&gt;
&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f7bc40d4-040e-4ca4-b3d6-2ec96803d954&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;큐를 모아놨다가 Pooling처리를 실행하는 서비스&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1c70a56d-9ff6-406d-b41f-ac538629aa59&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;256K&lt;/strong&gt;까지 가벼운 데이터만 이용 가능, &lt;strong&gt;60초&lt;/strong&gt;에서 &lt;strong&gt;14일&lt;/strong&gt;간만 메시지를 저장할 수 있다&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7aa30cef-d853-4dbf-812c-da188c050f97&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Request큐와 Response큐를 사용해 송수신 큐잉을 구현&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;edeaa8b1-9eaf-4dca-b4c4-8e5561801084&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;여러개의 서버, 데이터센터에 큐를 저장하는 고가용성 서비스&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;472e1ea3-8270-4d65-a321-d478a89f60fa&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;여러 사용자가 쓸 수 있는 유연함&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5081a32e-27a4-4c30-8f59-d054484aad78&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;메세징이 증가해도 높은 Throughput을 유지함&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; id=&quot;c076d4ae-d6e5-44d1-8d9c-97ea746b4cbe&quot;&gt;큐의 종류&lt;/h2&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;7e4fea67-37c4-4161-ac56-fa6184caa518&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;표준큐 : 순서대로 처리 + 반드시 한번은 실시함.&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;e6964de5-1c73-49d5-8a4a-5262208f0b73&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;FIFO : 큐에 들어온 순서대로 처리&lt;/li&gt;&lt;/ol&gt;&lt;h3 class=&quot;&quot; id=&quot;5524759a-4768-4c7c-9e71-8cc1f744ff3d&quot;&gt;SQS의 특성&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;4b32c04c-20aa-473f-b4b6-2e7be347eb5d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;메세지 사이즈 &lt;ul class=&quot;bulleted-list&quot; id=&quot;aebff98a-adbd-4f1f-bc86-4b4a655e3529&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;최대 메시지 사이즈는 256KB. &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8025acae-69d6-49c7-9c63-dc5f98ba8d3b&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Extended Client Library 이용시 2GB까지의 메시지 송수신 가능&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b7803d27-3ecb-4a9d-9414-d19cadf6ceb9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;메세지 보존기간&lt;ul class=&quot;bulleted-list&quot; id=&quot;03d14582-589b-4a8d-8c92-704fed973ec5&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;삭제되지 않은 메시지는 기본값으로 4일간 보존&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6f2a5058-269b-437b-99bc-e63099246817&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;유지 기간은 60초에서 14일 사이에 변경 가능&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;61964679-9f89-430f-aaeb-3c803f998eee&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;In Flight메세지&lt;ul class=&quot;bulleted-list&quot; id=&quot;a5dc9d44-15d6-47ce-8354-df71fd8ad1ed&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;큐당 최대 120,000 In Flight (받은 메시지 &amp;amp; Visibility Timeout내) 메시지&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;f9ff0d06-d8f0-4994-a98b-7c40551bc278&quot;&gt;SQS의 추가 옵션&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;eeb04b68-62ce-4f58-b78d-01c56bea3cee&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;짧은 폴링(Short Polling) : 큐가 빈 경우에도 즉시 리턴
(ReceiveMessageWaitTimeSeconds 속성이 0)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;df6e4c67-8c3a-43b1-b621-74b849d3df3b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;긴 폴링(Long Polling) : 큐가 빈 경우에 타임아웃까지 기다림
(ReceiveMessageWaitTimeSeconds 속성이 0 보다 큰 값)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d0619a24-58e7-4a3e-a7cc-32be51894ca1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;데드 레터 큐 : 계속 남은 메시지를 별도 큐로 이동하여 정상적으로 처리하지 못한 메시지를 격리가능&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;c229165d-3738-4808-b62f-79e3c7dd12ef&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Visibility timeout : 새 메시지를 지정된 시간 동안 보이지 않게 한다. &lt;ul class=&quot;bulleted-list&quot; id=&quot;273c4bb6-2ffe-456c-96a1-c2653425f477&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Visibility timeout을 설정함으로써 우선 처리하고 싶은 수신 인스턴스 지정 가능.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;3459d256-9d2f-414b-9565-a597aca54fbd&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;7cc001b5-e5cf-428a-9fbd-5b444eb871e3&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;870fcaac-836d-469d-aecd-12d8ad6a7a15&quot;&gt;디커플링 아키텍처&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;992e8345-af28-42de-bc00-d189ffa09292&quot;&gt;정의 : 컴포넌트간의 상호의존을 줄인 구성으로 각각의 컴포넌트 변경이나 장애의 영향을 줄인다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;439e9075-61fd-4362-b11c-874af34b680d&quot;&gt;1 서버리스&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;90b36714-83f0-40a4-8484-7db891561e47&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;서버리스 설계로 디커플링 아키텍쳐가 사용되며 마이크로서비스화된 애플리케이션을 구축&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;61bf23fb-86d6-4c50-9fef-62b4e0b8b48a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;과거 SOA 방식에서 보다 작은 프로세스 단위의 서비스를 API로 연계한 마이크로 서비스로 설계할수 있음&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;76c609f4-96c3-412d-a8e7-b2de85e54e35&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SOA 방식&lt;ul class=&quot;bulleted-list&quot; id=&quot;668bccf1-0718-4cdd-aa4a-ab724ab5d2e0&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;한 가지 기능을 갖춘 큰 서비스 단위로 컴포넌트를 분할하는 설계 방식&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;4056cb33-be0e-45dd-b860-c6e9d4432e59&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;마이크로 서비스&lt;ul class=&quot;bulleted-list&quot; id=&quot;7c5f48db-20af-4e42-b6dd-d3c2d4941ef6&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;SOA보다 더 작은 기능 단위의 프로세스로 서비스화한 구성&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ecadd1d9-8fc3-42cb-acf2-3d68c92094c9&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;각 프로세스에서는 1개의 작은 태스크를 서비스로 제공하고 프로세스 간 통신은 API를 이용한다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;94540d93-3090-4c5a-89a8-b7f28c75d69b&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;6ae24857-3b71-4bf2-9fd1-19c6f1cb7a3f&quot;&gt;Amazon SQS 대기열 지표를 기반 최적화&lt;/h1&gt;&lt;figure class=&quot;image&quot; id=&quot;4a81eafd-47d7-4359-b482-5a0d4ef44911&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/edJknZ/btrEoJL51Wd/3X8kDB4mbVobqaHAax4d30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/edJknZ/btrEoJL51Wd/3X8kDB4mbVobqaHAax4d30/img.png&quot; style=&quot;width:566px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h2 class=&quot;&quot; id=&quot;5e453710-40df-4286-9150-f2d4132d5849&quot;&gt;Problem&lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;bd1378fa-30c8-4d8e-8d5e-9614d0121ac4&quot;&gt;대상 추적용 &lt;code&gt;ApproximateNumberOfMessagesVisible&lt;/code&gt;과 같이 CloudWatch Amazon SQS 지표를 사용할 때의 문제는 &lt;strong&gt;대기열의 메시지 수가 대기열에서 메시지를 처리하는 Auto Scaling 그룹의 크기에 비례하여 변경되지 않을 수 있다&lt;/strong&gt;는 것&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;fcbd7746-77cf-49ce-85d4-c274e562ad8a&quot;&gt;해결 방법은 &lt;em&gt;인스턴스당 백로그&lt;/em&gt; 지표와 목표값을 사용하여 &lt;em&gt;인스턴스당 허용 백로그&lt;/em&gt;를 유지하는 것입니다. 이 값은 다음과 같이 계산할 수 있습니다.&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;771d8a79-ee9a-42a8-a70d-f10cb68aa27f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;인스턴스당 백로그&lt;/strong&gt;: 인스턴스당 백로그를 계산하려면 &lt;code&gt;ApproximateNumberOfMessages&lt;/code&gt; 대기열 속성을 사용하여 SQS 대기열의 길이(대기열에서 검색할 수 있는 메시지 수)를 확인합니다. 이 값을 플릿의 실행 용량(Auto Scaling 그룹에서 상태가 &lt;code&gt;InService&lt;/code&gt;인 인스턴스 수)으로 나눠서 인스턴스당 백로그를 산출합니다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2cf8d001-42e8-4058-907b-7f043cffb4c7&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;strong&gt;인스턴스당 허용되는 백로그&lt;/strong&gt;: 목표값을 계산하려면 먼저 애플리케이션에서 허용할 수 있는 지연 시간을 확인하세요. 그런 다음 이 허용 지연 시간 값을, EC2 인스턴스가 메시지를 처리하기 위해 소요하는 평균 시간으로 나눕니다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;9689b702-8c71-4108-a9c6-5120918c9a57&quot;&gt;예제로 설명하기 위해 현재 &lt;code&gt;ApproximateNumberOfMessages&lt;/code&gt;가 1,500개이고 플릿의 실행 용량이 10이라고 가정해 보겠습니다. 각 메시지의 평균 처리 시간 0.1초이고 가장 긴 허용 지연 시간이 10초인 경우, 인스턴스당 허용 가능한 백로그는 10/0.1인 100입니다. 즉, 목표 추적 정책의 목표값은 100입니다. 인스턴스당 백로그가 현재 150(1500/10)인 경우 플릿이 확장되고 5개의 인스턴스를 추가하여 목표값 비율을 유지합니다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9b3d0dcd-ca1f-4316-bed2-ef9fc72228d4&quot;&gt;다음 절차에서는 사용자 지정 지표를 게시하고 이러한 계산에 따라 Auto Scaling 그룹을 조정하도록 구성하는 대상 추적 조정 정책을 생성하는 방법을 보여줍니다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;56a82cd2-39e3-4e99-b9bd-710ffb8d9d3d&quot;&gt;이러한 구성을 위해 세 가지 방법을 사용할 수 있습니다.&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3ea37c34-5da1-47d2-83f6-635522a4bf3f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SQS 대기열의 메시지를 처리하기 위해 EC2 인스턴스를 관리하는 Auto Scaling 그룹.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b71248a8-664f-4cf5-bf80-161120587766&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Auto Scaling 그룹의 EC2 인스턴스당 대기열의 메시지 수를 측정하여 Amazon CloudWatch로 전송되는 사용자 지정 지표.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;70ff0db5-d1c4-466c-bb48-06d354287bb6&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;사용자 지정 지표와 설정된 목표값에 따라 크기를 조정하도록 Auto Scaling 그룹을 구성하는 대상 추적 정책. CloudWatch 경보는 조정 정책을 호출합니다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;ff797743-6cc3-463f-b4ec-f4dad746aa32&quot;&gt;다음 다이어그램은 이 구성의 아키텍처를 보여 줍니다.&lt;/p&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>AWS</category>
      <category>sqs</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/255</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-SQS#entry255comment</comments>
      <pubDate>Thu, 9 Jun 2022 20:04:22 +0900</pubDate>
    </item>
    <item>
      <title>Amazon LB</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-LB</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;e31d64b8-b266-4c0f-b940-46fe584263be&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;nav class=&quot;block-color-gray table_of_contents&quot; id=&quot;e352a26b-428a-4ede-88e4-e5fed69306e5&quot;&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#22d7ae88-a75b-4a2e-b3df-8874be51522e&quot;&gt;1. Classic Load Balancers(v1)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#f25d536b-b7f6-4346-98db-a03d415c5a75&quot;&gt;2. Application Load Balancer (v2) &lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#84b72e9c-d4ce-48f1-9725-db564fd5b6e4&quot;&gt;3. Network Load Balancer(v2)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#ef7fbf41-88d9-4cc2-aacd-152f41a15a0e&quot;&gt;Network Load Balancer - Target Groups&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#b393edbe-1645-4a0d-9df1-081bdd1d2402&quot;&gt;4. Gateway Load Balancer&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#764b1f01-760a-4e93-8231-d7bd9b342ca2&quot;&gt;5. Sticky Sessions&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#5687a7dc-537d-465c-893c-57d6b210bedc&quot;&gt;Cookie Names?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#6b0c908c-525b-4f70-9015-7507a9abaf1d&quot;&gt;6. Cross-Zone Load Balancing(교차 영역 로드 밸런싱)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#f912d6eb-f295-4a5b-8d31-61d20603208a&quot;&gt;7. SSL/TLS&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#07c8c888-8a6f-4e64-949f-567636e3eb05&quot;&gt;8. Connection Draining&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#81372ff9-298e-4b10-878b-41d14ca6e082&quot;&gt;9. Auto Scaling Group?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#08529e2f-ea22-442e-a402-4c6a93c42781&quot;&gt;Auto Scaling Alarms&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#51d103cd-b8b3-47d5-9014-e1ddc21f82dc&quot;&gt;ASG의 장점&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#2b1402d2-2989-4f2c-9e7f-399849889515&quot;&gt;Auto Scaling Group(ASG) - Dynamic Scaling 정책&lt;/a&gt;&lt;/div&gt;&lt;/nav&gt;&lt;h1 class=&quot;&quot; id=&quot;22d7ae88-a75b-4a2e-b3df-8874be51522e&quot;&gt;1. Classic Load Balancers(v1)&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;4c9abbfc-5bf5-4efb-aca6-5e357c345bba&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Supports TCP(Layer 4), HTTP &amp;amp; HTTPS(Layer 7)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bbf4b396-e341-4ad3-b005-068a2a3fd2f5&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;상태확인은 TCP 또는 TCP or HTTP 기반으로 한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6708c299-5b8a-4881-a75e-742656a2ab99&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;fixed hostname
&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;ed6b1124-e035-428f-82ea-d9fbf23ec2b3&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dIQImB/btrEnDFSf1I/7JNCX05jk6x8vgyvSemOxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIQImB/btrEnDFSf1I/7JNCX05jk6x8vgyvSemOxk/img.png&quot; style=&quot;width:384px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;1507691b-6524-438e-91bb-ee5ecca012c6&quot;&gt;위와 같이&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1058a1b3-dfe7-4c9a-9e80-5420d9595350&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Time-out 시간&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;c03bd191-7b33-49c4-877b-a7d30bf4eb4c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;몇번 간격으로 health check을 할것인지?&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5135ae56-1598-49ca-9c9e-d5e507275a4b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;응답이 이상한게 몇번이면 Unhealthy로 판단할것인지?&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;64af4cda-01c8-440f-85ea-9fa563a83de4&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;응답이 정상인게 몇번이면 healthy로 판단할것인지?&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;140bbfac-9405-4903-926b-554a289e1d5c&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;f25d536b-b7f6-4346-98db-a03d415c5a75&quot;&gt;2. Application Load Balancer (v2) &lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;32eb6c46-811a-4320-82e5-d2b73191d491&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;7계층 HTTP 전용 Load Balancers&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;223dbc6e-f7e0-4a6f-90b9-f2d20d98363a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;머신간 다수 HTTP 애플리케이션 라우팅에 사용된다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5abb8ed1-9cbc-44cf-aaa2-4ee1f2f1cd31&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;같은 머신에 여러 어플리케이션을 Load Balancing (ex Dokcer AWS ECS)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8678ae65-934b-43aa-92de-71f54f8ede0e&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTP/2 &amp;amp; WebSocket 지원&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f09516a7-f19b-4c38-ae21-d3d5b2a554d1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTP → HTTPS로 트래픽 자동 리다이렉트 지원
&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;58282753-b9b5-4f58-8317-64701652abc9&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/S3NIj/btrEn86s6Fi/UUFblFAN1BG8ZWyN6HGV3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S3NIj/btrEn86s6Fi/UUFblFAN1BG8ZWyN6HGV3K/img.png&quot; style=&quot;width:432px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;figure class=&quot;image&quot; id=&quot;ea44da3c-1cec-4899-96b4-86d09b4c9c51&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/AlPfL/btrEpBmwQVX/FLcAPWQriFLncy7VMhXxGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AlPfL/btrEpBmwQVX/FLcAPWQriFLncy7VMhXxGk/img.png&quot; style=&quot;width:576px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;57eee125-efe2-4904-9073-bcfa8e657ab5&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;고정 호스트 네임&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;389b9b8b-118e-4aa3-b562-34dd494d999d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;어플리케이션 서버는 클라이언트의 IP를 직접적으로 보지 못한다.&lt;ul class=&quot;bulleted-list&quot; id=&quot;b0cc3297-48bf-4a6a-95a0-fed8a0816b34&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;대신, &lt;strong&gt;X-Forwarded-For&lt;/strong&gt;에 클라이언트 IP가 삽입된다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;65275081-3df2-4492-9913-9a9b24c7d1f0&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;&lt;strong&gt;X-Forwarded-Port&lt;/strong&gt;에 클라이언트 Port가 삽입된다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;a5f16c93-6089-4969-bd9a-78b2a0c2e6f9&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;&lt;strong&gt;X-Forwarded-Proto&lt;/strong&gt;에 클라이언트 프로토콜이 삽입된다.
&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;03dd046b-4ac5-4c42-bf9a-efaee5773fc5&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/VYvjn/btrEo8LEvyC/bkEQAlwgxOMsYWYnzbxvfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VYvjn/btrEo8LEvyC/bkEQAlwgxOMsYWYnzbxvfk/img.png&quot; style=&quot;width:2296px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;f63015bb-598d-4e00-9f58-e60afd8d4dd6&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;84b72e9c-d4ce-48f1-9725-db564fd5b6e4&quot;&gt;3. Network Load Balancer(v2)&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;e3f51b3b-44a1-4cf9-b599-cbe660040186&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;layer 4 로드밸런스 ⇒ TCP UDP 기반 트래픽을 인스턴스로 전달&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;e111b29a-f76b-4723-8930-2584c99a92a9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;초당 수백만 건의 요청을 처리함&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1f664891-66cf-41ab-a51e-6a24c3ad11db&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;ALB보다 지연시간이 짧음 ~100ms ↔ ALB ⇒ 400ms&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;147c7af4-05d0-4774-93a4-31efefe81dbc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;외부 AZ 당 1개의 고정 IP를 노출하기 때문에 NLB자체 IP를 가져오는 대신 Elastic IP를 사용한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;443d2f8a-8554-4ee6-b9cd-2853745f0f8c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;2개의 엔트리 포인트를 사용하고자 할때 유용&lt;ul class=&quot;bulleted-list&quot; id=&quot;ee4174db-9050-4f6e-9821-6048bce73cdb&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;ex) 애플리케이션 전용 특정 IP 지정시, NLB가 해당 트래픽을 EC2로 보낸다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2adfb50e-9338-4b60-9a5e-b28ad3ca2edc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Extreme 성능, TCP or UDP 수준의 트래픽을 원할때 사용한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;11e9d7e3-9883-4c65-bdf5-a31b53b4058f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;NLB는 AWS 프리티어를 제공 X&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;eeb6eca6-d8c3-4014-8e6b-60ee8c05031a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;고정 IP가 없고 고정 호스트 이름이 있다.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; id=&quot;ef7fbf41-88d9-4cc2-aacd-152f41a15a0e&quot;&gt;Network Load Balancer - Target Groups&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;306ea520-3830-4e5c-b671-fba29d17a389&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;EC2 인스턴스&lt;ul class=&quot;bulleted-list&quot; id=&quot;58a8f415-a4f7-4fc7-8366-462014ec3267&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;대상그룹에 EC2 인스턴스를 등록하면 NLB에서 트래픽 전송방법을 파악&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;718abc6d-7c4b-439f-bfc6-309087be88e9&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/0dXdB/btrEmP7SjBD/JGYkMZRU0pz4TeWBBDbhD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0dXdB/btrEmP7SjBD/JGYkMZRU0pz4TeWBBDbhD0/img.png&quot; style=&quot;width:192px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;ecb472ca-6db0-4a8f-ba91-fd7923eff124&quot;&gt;()고정아이피와는 다르게&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;0de94750-bc39-4d16-883c-c87a7202da71&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;고정 IP와 개인 IP를 지정해서 NLB에 트래픽을 보내도록 하는것&lt;ul class=&quot;bulleted-list&quot; id=&quot;d2c2932b-7356-4810-9573-991bb19badf2&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;자체 데이터 센터에 서버가 있는경우에는 가급적이면 개인IP가 있는 서버 로드 밸런서를 사용한다.&lt;figure class=&quot;image&quot; id=&quot;296efa55-337d-4859-be25-88590570cf51&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/QCHdr/btrEpAunl4r/qhpzJxBBVPAQLKgHFr3tN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QCHdr/btrEpAunl4r/qhpzJxBBVPAQLKgHFr3tN1/img.png&quot; style=&quot;width:240px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9e420d75-73c3-4abc-9397-a4885c7e851b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;NLB + ALB(Aplication Load Balancer)&lt;ul class=&quot;bulleted-list&quot; id=&quot;cef10a7c-ed8b-4412-83d0-7698160abc86&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;NLB기능을 활용해서 고정 IP를 가지기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;763e20fa-0f31-434b-9dae-0be8c90e10d3&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt; HTTP 관련 기능 ALB를 활용할수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;633a459e-bf23-44bf-83ad-a44772f2e197&quot;&gt;
&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1 class=&quot;&quot; id=&quot;b393edbe-1645-4a0d-9df1-081bdd1d2402&quot;&gt;4. Gateway Load Balancer&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7fd432a6-b129-400c-82ed-7c9a9773c09f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;배포 및 확장, AWS의 가상 어플라이언스의 서드파티 fleet 관리에 사용된다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1a11a5c5-b6a3-43f0-84e4-ee414c076915&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;모든 트래픽이 방화벽을 통과하게 하거나 침입탐지 방지 시스템, 일부 페이로드를 수정하는 네트워크 수 잇게한다.&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;537f5756-9b4a-4ac0-a888-fe8e8df623d3&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bxEpUj/btrElbQ4SXO/TCNt1YsDF6ftCcwcIvphJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxEpUj/btrElbQ4SXO/TCNt1YsDF6ftCcwcIvphJ0/img.png&quot; style=&quot;width:384px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ad8b7b43-4f9e-49b2-a0aa-4cbb14850aa5&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Network Layer(layer3)에서 작동한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5d9d5210-ec5d-49e9-a55a-92e7f8abdf5d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;2가지 기능&lt;ul class=&quot;bulleted-list&quot; id=&quot;de18f6c5-f5dc-42c2-9cca-3da76683713c&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Transparent 네트워크 게이트웨이: VCP의 모든 트래픽이 GWLB가 되는 단인 엔트리와 출구를 통과&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;fe8826b1-25fd-47a7-a6be-b15893c45fbe&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Load Balancer: 트래픽을 분산해서 로드 밸런서가 된다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;00bb2ea5-5743-4111-bef5-ac672191c99f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;시험볼때는 6081포트의 GENEVE 프로토콜을 사용한다.&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;55ab928c-bdc2-42c2-b6f4-7fab34548ca0&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bEBytJ/btrEoJSSpNp/JkHoadmk62HzcB0ACgqJdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEBytJ/btrEoJSSpNp/JkHoadmk62HzcB0ACgqJdk/img.png&quot; style=&quot;width:528px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;7e79f440-6d7b-4abd-b790-99e9c263b7c2&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;764b1f01-760a-4e93-8231-d7bd9b342ca2&quot;&gt;5. Sticky Sessions&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f068839e-e21a-46d2-9c89-4b5d5429c4bd&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;로드밸런서에 2가지 요청을 수행하는 클라이언트가 요청에 응답하기 위해 백엔드에 동일한 인스턴스를 갖는것을 의미&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6fbd8821-eb37-4152-be4c-c35353dd1679&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;원리 클라이언트에서 로드밸런서로 쿠키가 &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3ae3d45a-4177-4595-a75a-13f962e196d2&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;쿠키 다른 eC2인스턴스&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;19c87ac3-ebdd-480d-9d70-df6d91dddbc9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;사용자의 로그인과 같은 중요한 세션데이터를 잃지 않기위해 동일한 백엔드를 이용하고자 한다.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; id=&quot;5687a7dc-537d-465c-893c-57d6b210bedc&quot;&gt;Cookie Names?&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5ae98ae5-0429-48a7-a4c5-5b63fd22be56&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;커스텀 쿠키&lt;ul class=&quot;bulleted-list&quot; id=&quot;1b51bd51-84b2-491e-9a4e-9986ccf69f54&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;대상으로 생성된 사용자 정의 쿠키&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;4fdf77a5-2b8b-4b98-b8c7-356d06fc41d6&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;애플리케이션에 필요한 모든 사용자 정의 속성을 포함할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;31ea7a08-a0c6-4fe7-a961-b4ed743a2118&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;각 대상 그룹별로 개별적으로 사용해야한다.(AWSALB, 이런걸 ㅅ쓰면안됌&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1bee3e34-adf8-47f9-af00-47ca80061aa8&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;애플리케이션 쿠키&lt;ul class=&quot;bulleted-list&quot; id=&quot;27cd4432-4c11-4085-bc5b-baf9f5af710c&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Load balancer 자체에서 생성됨&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f3043d64-c75e-4d98-b01c-f440329d427b&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;AWSALBAPP&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d53f24ff-b392-4b1b-8df5-3cc158be05dc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;기간 기반 쿠키&lt;ul class=&quot;bulleted-list&quot; id=&quot;78493b66-d3c0-4372-9b08-1106968f7f09&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;load  &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;0876ac1f-158c-480c-a732-e55187617047&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;6b0c908c-525b-4f70-9015-7507a9abaf1d&quot;&gt;6. Cross-Zone Load Balancing(교차 영역 로드 밸런싱)&lt;/h1&gt;&lt;figure class=&quot;image&quot; id=&quot;770ec020-638d-49be-963c-2d5791ed6dc0&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/W9eEc/btrElch8Wdb/OPaDT0G1Ojt7upYITYJXi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W9eEc/btrElch8Wdb/OPaDT0G1Ojt7upYITYJXi0/img.png&quot; style=&quot;width:2514px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;9b36b30f-cb94-4131-8e33-efdb9dae72a2&quot;&gt;클라이언트가 두 교차영역&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;ccf40719-d277-49a7-8ca3-36573ac77eaf&quot;&gt;각 로드 ㅗ든 인스턴스에 전반적으로 고르게 부ㄴ포됌&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;70d1fb28-dc84-4760-ad8e-6439f8b92731&quot;&gt;클라이언트는 50%를 1 AZ에 보내고 각 ALB는 가용영역에 상관없이 10개의 인스턴스에 분포함&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;a6d1ada9-409d-4dd6-affe-f752c0663f6e&quot;&gt;두번째 ALB를 보면 전체 인스턴스에 수신한 것이 10%인데&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;05cfc0fb-8a0b-4288-9276-499f58503e4d&quot;&gt;ALB&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3f22694f-9a0b-4f34-8f5e-a396171b8dc6&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Cross-Zone Laod Balancing이 항상 ON 상태이다(비활성화 못한다)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2d650e32-f6a4-4fab-a6cf-e660981dc9ec&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;데이터가 한 AZ에서 다른 AZ로 이동하면, 비용을 지불해야한다.(ALB는 활성화가 되어있으므로 데이터 전송에 대한 돈 지불할 필요가 없다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;9f389e82-795b-4df3-a987-7212ba875974&quot;&gt;NLB&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1fbc8e79-76d8-4258-bcde-be57e7dbbf8c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Cross-Zone Laod Balancing이 기본적으로 비활성화  상태이다&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;fe052ea1-5443-423e-a836-ab2d5a073242&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;활성화하면 AZ간 데이터 전송에 비용을 지불해야한다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;603750f9-a6fe-45ca-bd2f-a6f0db02579e&quot;&gt;CLB&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;849621eb-1413-4485-a0bb-15b507d9a7a1&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Cross-Zone Laod Balancing이 기본적으로 비활성화 상태이다&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ff51342d-3ff7-412e-9af4-1a997bde6ef3&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;활성화한다해도 AZ간 데이터 전송에 비용을 지불 X&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;03555e49-abe0-432c-8ed3-abd28df172da&quot;&gt;
&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;f912d6eb-f295-4a5b-8d31-61d20603208a&quot;&gt;7. SSL/TLS&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;42b8b4ba-5e73-46ec-a4db-558ad8ce0e7c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSL을 사용하면 클라이언트와 Load Balancer 사이에서 전송 중인 트래픽을 암호화 할 수 있다.(in-flight 암호화)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8a751c11-03ed-4248-a1b7-6fd0d31928cf&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSL은 &lt;strong&gt;Secure Sockets Layer&lt;/strong&gt;  연결을 암호화하는데에 사용된다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;33ab9c66-5d0e-411a-b432-f103fd028d8f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;TLS는 SSL의 최신버전으로 &lt;strong&gt;Transport Layer&lt;/strong&gt; 보안 (요즘 사용됨)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;eecd6f04-e929-4554-a66e-2565c43280c2&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;공용 SSL 인증서 를 사용하면 클라이언트와 로드밸런스 사이에 암호화를 할 수 있다.
&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;7d939dc8-37f3-4d1d-9286-4402a48773fb&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b8SPID/btrEpAgQv06/95fMRYDLNDGqDKR8SnAfV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8SPID/btrEpAgQv06/95fMRYDLNDGqDKR8SnAfV1/img.png&quot; style=&quot;width:1590px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;7ec16dcd-20bd-4a66-87d7-a0fbe4e347d1&quot;&gt;&lt;strong&gt;애플리케이션 로드 밸런서 (ALB)와 네트워크 로드 밸런서 (NLB)의 어떤 기능을 통해 하나의 리스너에서 여러 SSL 인증서를 로드할 수 있을까요?&lt;/strong&gt;
• &lt;strong&gt;Server Name Indication (SNI)&lt;/strong&gt;&lt;/p&gt;&lt;h1 class=&quot;&quot; id=&quot;07c8c888-8a6f-4e64-949f-567636e3eb05&quot;&gt;8. Connection Draining&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;67d24fe6-7087-4499-a0e3-824a810b5206&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;불리는 이름들..&lt;ul class=&quot;bulleted-list&quot; id=&quot;7296f6dd-36f8-4f34-83cc-7353b4a878a5&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;CLB에서는 Connection Draining이라고 불린다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7be92b06-363a-406a-9582-d8563beb9478&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;ALB, NLB에서는 Deregistraion Delay라고 불린다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;15b382e3-75cf-46d1-b9ee-2ef72c23b039&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;기능&lt;ul class=&quot;bulleted-list&quot; id=&quot;b1ed1c31-c5c7-42f8-afaf-19eeea0440fe&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;인스턴스가 de-registering, 혹은 Unhealthy인 상태에 있을 때 인스턴스에 어느 정도의 시간을 줘서,  활성을 완료할 수 있도록 하는 기능&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;94405230-3927-42f7-87fb-f66dd2f72e9a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;과정&lt;ul class=&quot;bulleted-list&quot; id=&quot;93d95a8e-0c5a-4c94-bda9-27011730bae6&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;Elastic Load Balancing은 Deregistraion  프로세스를 완료하기 전 300초 동안 대기&lt;ul class=&quot;bulleted-list&quot; id=&quot;d6e5ba99-460a-4a78-8522-6e8ab1f1e793&quot;&gt;&lt;li style=&quot;list-style-type:square&quot;&gt;Elastic Load Balancing이 대기하는 시간을 변경하려면 등록 취소 지연 값을 업데이트&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2e1bca47-b64b-410c-a5a7-d3121fe94b14&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;등록 취소하는 대상 초기 상태는 &lt;code&gt;draining&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;7b225bf7-1400-4fd9-a8df-4eca7b3dd67d&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;&lt;code&gt;draining&lt;/code&gt;이 경과한 후 등록 취소 프로세스가 완료되며 대상 상태는 &lt;code&gt;unused&lt;/code&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;01fbdbb6-a3e7-46f3-ac5b-c402dd421483&quot;&gt;&lt;li style=&quot;list-style-type:square&quot;&gt;ASG의 일부인 경우 종료 및 대체되는 시점 ⇒ 5xx 에러발생&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d2f99fcd-e3a2-49c5-8aac-5461d93ca808&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h1 class=&quot;&quot; id=&quot;81372ff9-298e-4b10-878b-41d14ca6e082&quot;&gt;9. Auto Scaling Group?&lt;/h1&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;0a856c61-7336-4a94-8432-46db48b33d73&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;애플리케이션에 받는 부하가 많아진다면, 빠르게 서버를 증설해준다(스케일 아웃)&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9df85ab1-5ffb-4302-b2bf-e018b320cdf7&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;반대로, 받는 부하가 적어서 리소스가 낭비된다면, 서버를 줄어들게 한다(스케일 인)&lt;ul class=&quot;bulleted-list&quot; id=&quot;91fbb21f-1e73-4324-9f8e-3f77d9814bbb&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;일정량만 증가시키거나 줄어들게 만들수있는데, 이로써 ASG에 실행되는 머신의 최대, 최소 숫자 설정가능하다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;image&quot; id=&quot;33fcf97b-5e0c-4970-a78d-2c1f7132c439&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bnZf1F/btrEpBNAjv5/8xYEj0WkwMQDr8ktUTHQhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnZf1F/btrEpBNAjv5/8xYEj0WkwMQDr8ktUTHQhk/img.png&quot; style=&quot;width:2568px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h3 class=&quot;&quot; id=&quot;08529e2f-ea22-442e-a402-4c6a93c42781&quot;&gt;Auto Scaling Alarms&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8248ad87-adea-41dc-9e4d-ee23e3bcfb6b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;몇가지 metric으로 작동하는데, metric 설정을 통해서 Trigger를 줘서 (ex 평균 CPU사용량이 70% 이상 시) 스케일 아웃, 스케일 인을 할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&quot;&quot; id=&quot;51d103cd-b8b3-47d5-9014-e1ddc21f82dc&quot;&gt;ASG의 장점&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;253d2696-f9c6-47e6-a707-f71f36490da9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스가 종료될 경우 ASG가 인스턴스 종료 사실을 파악할 것이고 자동으로 새 인스턴스를 생성해서 교체해 준다. &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d065d318-a7b6-429a-befe-805efcc0b755&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;로드 밸런서가 특정 인스턴스를 unhealthy이라고 표시한 경우 ASG는 해당 인스턴스가 unhealthy이니 
종료하고 새 인스턴스를 생성해 교체하는 판단을 내린다.
⇒ ASG는 재시작이 필요 없고 인스턴스의 중단없이 문제가 있는 인스턴스를 종료한 후 새 인스턴스를 생성해 교체한다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;9c130671-7fa4-41cc-9f20-70a6faa634c0&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;2b1402d2-2989-4f2c-9e7f-399849889515&quot;&gt;Auto Scaling Group(ASG) - Dynamic Scaling 정책&lt;/h2&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;c3ba372a-978a-4b99-bbf7-5b177967066f&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;&lt;strong&gt;타겟 트래킹&lt;/strong&gt; 스케일링&lt;ol class=&quot;numbered-list&quot; id=&quot;a0fc6c31-257c-484a-b3c0-b6e11392b9bf&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;가장 간단한 방식&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;16eb977d-e69a-4796-a884-bdbc8be4df66&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;example: ASG의 평균 CPU 사용률을 추적해서 40%에 머물 수 있도록 해라!(&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;3f646bbd-e647-4968-b60c-5dfbbd06ca24&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;&lt;strong&gt;Simple / Step&lt;/strong&gt; 스케일링&lt;ol class=&quot;numbered-list&quot; id=&quot;113e65e2-939a-4062-96fa-7c69036af652&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;전체 ASG의 CPU 사용률이 70%를 초과하는경우 2 unit를 높여라&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;345cbc1a-05f2-4fc7-ab52-fa7c5aacbbe2&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;반면, 30%떨어지면 1 unit를 제거해라&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;96bdbb0f-6c6c-4abc-b5bf-364d5b4b5440&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;스케줄 액션&lt;ol class=&quot;numbered-list&quot; id=&quot;8cc2b068-3eb8-44bf-9db5-f503c184781f&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;특정시간에 맞춰서 스케일링하는 방식&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;42e296a0-5a30-4f85-be61-882e52e7cbe9&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;금요일 오후 5시에 큰 이벤트가 예정되어있으니, 최소 10개이상 늘릴수 있도록 해라&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;3dc55b60-dd47-44eb-b1a8-5a9819e15d5b&quot; start=&quot;4&quot; type=&quot;1&quot;&gt;&lt;li&gt;예측 스케일링&lt;ol class=&quot;numbered-list&quot; id=&quot;52edcc4b-c007-461c-9fc7-822c3ee7606f&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;과거 전력을 통해서 예측 스케일링 서비스를 제공함.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;76976fbf-71a7-4e43-88ea-d71ccd6c00fd&quot;&gt;
&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;27ef1c5a-f583-433e-8211-d22d6de18958&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;CPU 사용량(CPU Utilization): 평균 CPU &lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;03cca078-11b5-43c4-87ec-9061c6bf682b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;타겟당 요청 수(Request Count Per Target):&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;28e4833e-d72e-4615-a4b7-1aabb1d2e655&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Average Network In/Out: &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>Load Balencer</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/254</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-LB#entry254comment</comments>
      <pubDate>Thu, 9 Jun 2022 20:04:05 +0900</pubDate>
    </item>
    <item>
      <title>Amazon EC2 Overview</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-EC2-Overview</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;c936cf82-f03e-40f0-a846-a3b9f7b4d658&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;h1 class=&quot;&quot; id=&quot;6e5ba31f-0315-4b08-b731-ff9b4cc28f9b&quot;&gt;Amazon EC2(Elastic Compute)&lt;/h1&gt;&lt;h2 class=&quot;&quot; id=&quot;54dfbd52-99ca-4fed-944e-408530cde76b&quot;&gt;1. 아마존 머신 이미지(Amazon Machine Image, &lt;strong&gt;AMI&lt;/strong&gt;) &lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;245f251a-7cfe-4bc5-9b83-de4fcaa8e68d&quot;&gt;정의: 아마존 일래스틱 컴퓨트 클라우드(EC2) 안에 가상 머신을 생성하기 위해 사용되는 특수한 유형의 가상 &lt;strong&gt;어플라이언스&lt;/strong&gt;이다. 주로 인스턴스를 Launch할때 필요한 정보를 제공한다.&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;5c6711df-cf0b-4dfd-bcaa-8781039369fc&quot;&gt;어플라이언스(Appliance)?&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;e6cf8a9e-f5f9-4f55-9c8c-4798f0f14b27&quot;&gt;요약: 각종 기업용 소프트웨어를 서버와 스토리지 하드웨어에 최적화된 통합 장비. OS, 관련 소프트웨어 설치 및 설정 등을 안해도 전원을 접속하면 바로 사용할 수 있는 정보기기를 의미한다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;912db8e5-2569-4930-82bb-d0435c1ee0fb&quot;&gt;기존(As-is): 과거에는 하드웨어, 운영체제, 소프트웨어를 각각 구매한 후 설정하여 사용하는 것이였다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;dd001298-7107-4147-b5f3-9c1eaad34360&quot;&gt;신규(To-be): 클라우드를 통해서 하드웨어 제약을 없애고, AMI를 통해서 특정 목적에 따라 최적의 성능을 낼 수 있도록 운영체제, 소프트웨어가 다 설치된 바로 사용가능한 기기 개념&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;2f8d2212-4d1f-44d2-ab6c-34e176408db7&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;1517592a-0bd2-4608-80e4-a5f39c666c5a&quot;&gt;2. EC2 인스턴스 스토어(Instance Store)&lt;/h2&gt;&lt;figure class=&quot;image&quot; id=&quot;30343fcc-499c-4ee8-81a8-60ea80ff0fa0&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/piSwD/btrEn9qLAQo/VcaPcX4hrT6z1xjiccBKP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/piSwD/btrEn9qLAQo/VcaPcX4hrT6z1xjiccBKP0/img.png&quot; style=&quot;width:288px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6674d8a8-8d58-466d-ab57-56e0108be6fa&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스의 로컬 저장소&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;70dc4acd-2304-4285-9cbe-c2b59acfc451&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;임시 데이터 저장소&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ee144b35-a0c2-41f8-b4f4-048a27756f50&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;(Default) 데이터 복제 미 지원&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;56ea679a-7118-45f8-b62e-c146d3b7924b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Snapshot 미 지원&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;dd1fe5f7-9917-45db-a659-f3b6a088e96f&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;SSD OR HDD&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;ef9c0a2b-d43c-4167-98b8-90fae03ebd45&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;b468449c-9613-4361-a673-e5609e14bd0e&quot;&gt;3. Amazon EBS 볼륨&lt;/h2&gt;&lt;figure class=&quot;image&quot; id=&quot;46d398cc-046d-4a66-beb2-0ee76c986606&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/l2E0t/btrEmP05rGg/rGHz1ho6VipNjvT4j4YLK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l2E0t/btrEmP05rGg/rGHz1ho6VipNjvT4j4YLK1/img.png&quot; style=&quot;width:336px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9a332bd6-40e3-4def-a210-8cd4cdd14bce&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;블록 스토리지&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8c5d035c-7c63-40d5-9b8c-e07ce310fe59&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;API를 이용하여 생성, 연결, 수정&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;273cb7bd-7c8a-461e-bebf-6b7bd43a6a5b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;워크로드에 따라 스토리지 및 컴퓨팅을 선택 할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;74d50fdb-5276-4379-8b7f-56d861ce05bc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;하나의 EBS 볼륨은 하나의 인스턴스에만 연결&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;866e90d9-bc4e-422e-8961-d27c1f804939&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Magnetic(st1, sc1) 및 SSD(gp2, io1) 기반 볼륨 유형을 선택할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;cb26ead2-d96c-49bc-b2d2-92ec3b4be272&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Snapshot 기능 지원을 통해서 특정 시점을 백업할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;ba65bcdd-eb7c-4bc4-ba75-8b58049b9321&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;b9d8cb28-162c-49bc-84e8-0f6b03a3d7bb&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;e57b0a35-8ff7-436c-82b7-fa3db49855a1&quot;&gt;4. EC2 Instance Life Cycle&lt;/h2&gt;&lt;figure class=&quot;image&quot; id=&quot;5dfa44e0-4223-4f7d-9721-65ce0bc84ae5&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/9TfUR/btrEpA8ZbsW/cGyK2SCKXj3ZkC4SdAKJd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9TfUR/btrEpA8ZbsW/cGyK2SCKXj3ZkC4SdAKJd1/img.png&quot; style=&quot;width:528px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h3 class=&quot;&quot; id=&quot;b9d36aea-75c9-4fbb-8ce2-40b899d2bf0b&quot;&gt; 1) Running(실행중)&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;27cf0c81-f176-4d93-a37e-fc705c52b1bf&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스 동작 중 상태를 의미하며 (과금 O)&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;e792c522-2bd4-4aa8-833e-15fe6d0ce154&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;02f89adf-4de4-422d-9eca-0efc2d214b13&quot;&gt; 2) Stopped(정지됨)&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3c4c501b-f982-4b9d-9ec1-b62f49c8d98d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스 중지 상태. EBS볼륨을 루트로 사용하는 인스턴스만 가능하다. (과금 X, But, EBS 과금)&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;2edcbc2e-2497-4600-9a29-cab0627fa7c6&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;16f594fb-1f78-4d14-9158-b8dae1cbe7dc&quot;&gt;3) Hibernated(최대절전모드) &lt;a href=&quot;https://aws.amazon.com/ko/blogs/korea/new-hibernate-your-ec2-instances/&quot;&gt;링크&lt;/a&gt;&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;7140c70b-3ea8-4634-aeae-5142c8fd3eef&quot;&gt;(1) RAM에 쌓인 프로세스들을 EC2와 연결된 루트 EBS 볼륨에 암호화된 상태로 저장하여 재실행시 작업을 이어서 할 수 있다. (과금X, But, EBS과금, Elastic IP 주소 과금)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;5560aa93-5bc4-43a9-b09e-9f2689ffddea&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;단, 사용된 AMI, 루트 EBS 볼륨은 암호화 체크 필요&lt;ol class=&quot;numbered-list&quot; id=&quot;5e913714-1523-45f6-a8ff-7f885132d07e&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;&lt;strong&gt;인메모리 &lt;/strong&gt;상태로 프로세스를 루트 EBS 볼륨에  저장.&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;88c5b924-e3cc-44d9-ba2a-c4c1c166d0ee&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;인스턴스 종료 &lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;08ad79e8-5556-4672-8186-31e0a8ed8c7a&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;인스턴스 재 실행시 작업중이던 프로세스 이어서 작업&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;bc275652-2f63-4f30-a7b6-37aa2454b6c2&quot;&gt; 4) Terminated(종료됨) &lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;877b5db5-ff7c-497d-8ea5-b72161c6be58&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스가 완전히 제거된 상태&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2be5c92c-fac8-4007-afe5-6bef4e8b0bfc&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;시작이나 정지가 불가능&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b03ad34b-d322-4770-bb75-0bf4af1fa75b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;과금 안됨&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;61821843-13ee-495d-857e-f044f045e7ce&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;532991d0-41e8-489e-987f-0fb74b48566e&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;bbce2df6-b883-4b76-8dcf-3b7d3af50cf2&quot;&gt;5. EC2 인스턴스 타입 &lt;a href=&quot;https://aws.amazon.com/ko/ec2/instance-types/&quot;&gt;링크&lt;/a&gt;&lt;/h2&gt;&lt;figure class=&quot;image&quot; id=&quot;7af40907-13ff-4a54-985d-e1cd9fd4f8c1&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/NPmqT/btrEmaqRUoH/XhIQ9NKFzBYpliKArNTOuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NPmqT/btrEmaqRUoH/XhIQ9NKFzBYpliKArNTOuk/img.png&quot; style=&quot;width:384px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;h3 class=&quot;&quot; id=&quot;5be018ea-4c2c-47bd-acba-6b51fa09c7b0&quot;&gt;1) 인스턴스 패밀리&lt;/h3&gt;&lt;table class=&quot;simple-table&quot; id=&quot;7ede276e-fa5f-4a4a-b54f-87190b7ee361&quot;&gt;&lt;tbody&gt;&lt;tr id=&quot;8ef38dfc-1c04-48f8-b478-7b2cb74aded7&quot;&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;_xwx&quot; style=&quot;width:55.796875px&quot;&gt;M&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;~sAh&quot; style=&quot;width:69.8px&quot;&gt;범용&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;u[af&quot; style=&quot;width:49.796875px&quot;&gt;C&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;UVF&amp;lt;&quot; style=&quot;width:69.8px&quot;&gt;컴퓨팅&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;?lgU&quot; style=&quot;width:44.796875px&quot;&gt;I&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;@Jj_&quot; style=&quot;width:113.796875px&quot;&gt;고 I/O 스토리지&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;dpC|&quot; style=&quot;width:39.796875px&quot;&gt;P&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;ZB;n&quot; style=&quot;width:80.796875px&quot;&gt;범용 GPU&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;RcG}&quot; style=&quot;width:35.796875px&quot;&gt;F&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;Xamb&quot; style=&quot;width:77.796875px&quot;&gt;성능 가속&lt;/td&gt;&lt;/tr&gt;&lt;tr id=&quot;8d2edcdf-65a1-4774-b3d4-643b4aa53204&quot;&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;_xwx&quot; style=&quot;width:55.796875px&quot;&gt;T&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;~sAh&quot; style=&quot;width:69.8px&quot;&gt;버스팅용&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;u[af&quot; style=&quot;width:49.796875px&quot;&gt;R&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;UVF&amp;lt;&quot; style=&quot;width:69.8px&quot;&gt;메모리&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;?lgU&quot; style=&quot;width:44.796875px&quot;&gt;D&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;@Jj_&quot; style=&quot;width:113.796875px&quot;&gt;고밀도 스토리지&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;dpC|&quot; style=&quot;width:39.796875px&quot;&gt;G&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;ZB;n&quot; style=&quot;width:80.796875px&quot;&gt;그래픽&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;RcG}&quot; style=&quot;width:35.796875px&quot;&gt;&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;Xamb&quot; style=&quot;width:77.796875px&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;&quot; id=&quot;e8721377-f5b2-4bfc-87b6-f8da1f45603d&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;7d51fc5c-74e6-48e6-a3d1-be733f0209e3&quot;&gt;2) 인스턴스 세대&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;3d4032ba-6d33-46b2-8b22-835ecf4c0774&quot;&gt;마치 i7-8세대, 9세대 이런것처럼 해당 인스턴스의 세대로 보면된다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;5369a838-13a7-4a8f-939a-c65cf9f35e4a&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;9e755afe-e6c5-4b0b-82f1-eb6b2184d265&quot;&gt;3) 추가 기능&lt;/h3&gt;&lt;table class=&quot;simple-table&quot; id=&quot;6e44393a-46f6-40c2-b9b4-83ba8b1804a3&quot;&gt;&lt;tbody&gt;&lt;tr id=&quot;38bbb9bc-636c-4035-8f73-5a21d7f975ec&quot;&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;_xwx&quot; style=&quot;width:59px&quot;&gt;g&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;~sAh&quot; style=&quot;width:167px&quot;&gt;AWS Gravition 프로세서&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;u[af&quot; style=&quot;width:58px&quot;&gt;d&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;UVF&amp;lt;&quot; style=&quot;width:207px&quot;&gt;빠른, 로컬 NVMe 스토리지&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;?lgU&quot; style=&quot;width:51px&quot;&gt;e&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;@Jj_&quot; style=&quot;width:181px&quot;&gt;Enhanced performance&lt;/td&gt;&lt;/tr&gt;&lt;tr id=&quot;18b5a5e1-2dde-4c80-a3e4-ea6d25eb352d&quot;&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;_xwx&quot; style=&quot;width:59px&quot;&gt;a&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;~sAh&quot; style=&quot;width:167px&quot;&gt;AMD EPYC 프로세서&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;u[af&quot; style=&quot;width:58px&quot;&gt;n&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;UVF&amp;lt;&quot; style=&quot;width:207px&quot;&gt;최대 100 Gbps 네트워크 대역폭&lt;/td&gt;&lt;td class=&quot;block-color-gray_background&quot; id=&quot;?lgU&quot; style=&quot;width:51px&quot;&gt;s&lt;/td&gt;&lt;td class=&quot;&quot; id=&quot;@Jj_&quot; style=&quot;width:181px&quot;&gt;Reduce Power Instance&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;&quot; id=&quot;c692831d-9cdc-4cde-afd9-db5a9846c462&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;683b7ef4-d512-48f5-9753-57ec69514cb4&quot;&gt;4) 인스턴스 사이즈&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;51c3fd6c-c3ff-43ad-88ed-a116b2b2c4c9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;&lt;code&gt;c4.8xlarge&lt;/code&gt;  ≈ 2 x &lt;code&gt;c4.4xlarge&lt;/code&gt;  ≈ 4 x &lt;code&gt;c4.2xlarge&lt;/code&gt; ≈ 8 x &lt;code&gt;c4.xlarge&lt;/code&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;80ad86e9-5dd7-46e4-8765-287dd2cb70d3&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;큰 인스턴스 1개(c4.8xlarge): $1,164.43&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9069044f-1f32-4e65-99dc-1d43b0bfdcc1&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;작은 인스턴스 8개(c4.xlarge): $1,186.16&lt;p class=&quot;&quot; id=&quot;15d4e68f-28f3-4ea9-ba3e-8bb1878f23a7&quot;&gt;* 온디멘드, EBS 30gb 적용시 한달 가격&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;8fe7ec9d-cb1f-4254-b653-1f7eb67b507e&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;8dd7ae2a-b60d-4ce7-889f-905b046ec3ce&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;3748fd43-2f2d-4cbb-bd8e-ed5cf10054e3&quot;&gt;6. Amazon EC2 인스턴스 선택 요령&lt;/h2&gt;&lt;h3 class=&quot;&quot; id=&quot;4514eb58-f07f-4fe9-905d-2746dc937c11&quot;&gt;1) 구성 아키텍쳐 파악&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;e68c31f8-14bc-4299-abf3-30fd37c8b0ac&quot;&gt;(1) 구성하고자 하는 아키텍쳐가 있는가?&lt;/p&gt;&lt;div class=&quot;indented&quot;&gt;&lt;p class=&quot;&quot; id=&quot;4594f806-b471-4d37-96d3-25cce7852c1a&quot;&gt;ex) &lt;strong&gt;MSA(MicroService Architecture)&lt;/strong&gt;&lt;/p&gt;&lt;div class=&quot;indented&quot;&gt;&lt;p class=&quot;&quot; id=&quot;281dbec2-fa29-4f06-b3a6-a5438dd02a83&quot;&gt;각 인스턴스가 모두 고성능일 필요가 없을것이다. 그럴 경우에는 여러개의 작은 &lt;strong&gt;범용 인스턴스&lt;/strong&gt;로 구성하면서 일부 고성능을 요하는 작업에만 c (고 컴퓨팅) 혹은 R(고 메모리) 인스턴스를 배치하는것이 좋을것이다. &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class=&quot;&quot; id=&quot;ebb6b143-3372-402f-9187-2922f5bbc339&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;944e6c61-c72a-4d0d-a821-b74e644ef43a&quot;&gt;2) 가용 비용(Price) 파악&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;45d42974-300f-4f33-90e8-f9b5b438955f&quot;&gt;(1) Cost Explorer&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;05209d1a-6c7b-462a-b732-82777fbb964b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;예를 들어, On-premise에서 Migration을 진행한다고 했을때, 같은 스펙의 CPU Core, MEM을 넣으면 알아서 알려준다. 또한 지난 n년 동안 시스템 모니터링 데이터를 통해서 월별 얼마나 리소스를 사용하는지 또한 입력하면 얼마정도 나오는지도 알려준다. &lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;ac1ed854-f541-44ed-ac22-2444bf545169&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;51e703a9-a5d4-4737-b036-fa1631d0c64c&quot;&gt;(2) AWS Compute Optimizer&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bb015f4d-ecbe-4197-9e2f-d62fcc2fdcfd&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;최적의 AWS 리소스를 권장하는 ML기반 서비스&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;b538012e-4730-4153-a10f-f8460ed2f001&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;최적 EC2 인스턴스 및 EC2 오토스케일링 그룹 구성&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;470af3a8-6e13-455b-bead-e8ea1f2ec1ef&quot;&gt;
&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;36eaca72-7448-470e-995d-6380e5223476&quot;&gt;3) 워크로드 주기, 특성 파악&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;05faadf6-1b12-4785-8e67-8a1b942367ec&quot;&gt;(1) 온디맨드(On-demand)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;452bc4f9-66b8-4c6a-934d-16f68727eb4b&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;초단위로 쓴만큼 비용지불(장기 약정X). 갑작스럽거나 예측할 수 없는 워크로드에 용이
&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;7f929284-aad8-42e2-af70-dde3a798ac5c&quot;&gt;(2) 예약인스턴스(Reserved Instance)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;ca051515-4263-4981-8a24-9d5c66b038c4&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;1,3년 약정으로 대폭할인. 예측 가능한 안정적인 워크로드에 용이
&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;7d16b70f-2089-459b-8049-74b6082044a8&quot;&gt;(3) 세이빙플랜(Saving Plan)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;0745d5bd-7de8-4a15-8974-10eedb478039&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;예약 인스턴스와 같은 할인. +a 유연성
&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;9c27cc9f-5dbe-4f2b-b0c8-4e2c104124d0&quot;&gt;(4) 스팟인스턴스(Spot Instance)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;26caa677-8cd4-423c-b709-a47800d1f27d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;여분의 EC2 용량으로 On-demand 가격에서 최대 90% 할인 제공.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;c25f18b1-ade6-4862-a951-a6c18866fc4d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;내결함성, 유연성, 상태 비저장 워크로드 &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>AWS</category>
      <category>ec2</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/253</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-EC2-Overview#entry253comment</comments>
      <pubDate>Thu, 9 Jun 2022 20:03:19 +0900</pubDate>
    </item>
    <item>
      <title>Amazon ELB overview</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-ELB-overview</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;2cabdb27-10ce-4e8c-a608-2a52de84c3d9&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;nav class=&quot;block-color-gray table_of_contents&quot; id=&quot;cbab09ef-7533-4565-96f7-a80bd72d7dbc&quot;&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#5518a97e-ce87-4f0e-a73a-96a3e18af71e&quot;&gt;Background Knowledge&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#d8b651be-6333-4920-9048-e50a8e144c29&quot;&gt;1. 확장성 &amp;amp; 고가용성(Scalability &amp;amp; High Availability)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#bd5faca0-b3df-454f-bf5e-fa8d00a3e61f&quot;&gt;1) 확장성&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#fead22d9-bd44-4d0c-ad4f-212f31f4bcc4&quot;&gt;2) 고 가용성&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#4e97f92b-f5ae-45c9-b2c1-9b592eb16a25&quot;&gt;2.  로드 밸런싱(Load Balancing)&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#195ef15b-007f-4abf-b2d6-a5e2734933d6&quot;&gt;1) 로드밸런싱이 필요한 이유?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#ab80a16c-1cb2-4ecd-bfac-9b31ca54cc30&quot;&gt;AWS Elastic Load Balancer&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#b526c2ec-5ab6-44ab-bf3c-4c3496c24c04&quot;&gt;1. AWS ELB는 무엇인가?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#c2264027-f5bc-47f1-ac07-c295f2dda50c&quot;&gt;작동이 어케되는가?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#f126e951-c039-4de4-98fe-9e4513199702&quot;&gt;2.AWS의 4가지 ELB&lt;/a&gt;&lt;/div&gt;&lt;/nav&gt;&lt;h1 class=&quot;&quot; id=&quot;5518a97e-ce87-4f0e-a73a-96a3e18af71e&quot;&gt;Background Knowledge&lt;/h1&gt;&lt;h2 class=&quot;&quot; id=&quot;d8b651be-6333-4920-9048-e50a8e144c29&quot;&gt;1. 확장성 &amp;amp; 고가용성(Scalability &amp;amp; High Availability)&lt;/h2&gt;&lt;h3 class=&quot;&quot; id=&quot;bd5faca0-b3df-454f-bf5e-fa8d00a3e61f&quot;&gt;1) 확장성&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;1f0ca27c-6774-4bb5-8227-d4f5f2c5c251&quot;&gt;애플리케이션과 시스템이 조정한다면 더 많은 양을 처리할수 있다는 의미&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9662544f-e401-4266-a64a-4523d1e4e925&quot;&gt;(1) 수직 확장성&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;80adfb44-8117-4be1-9820-62a21ea52375&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스의 사이즈를 늘리는것.
ex RAM 1GB PC 1개를  4GB인 PC로 바꾸는거&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;69e81ddf-36cf-454d-8818-fb48a659bc85&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;데이터베이스와 같은 상황에서 주로 사용한다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bf03407a-7663-4247-94f4-14e7f121d92c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;한계: 하드웨어 제한.&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;06f239fb-62f4-43bb-b18b-98e5edc1459c&quot;&gt;(2) 수평 확장성( = Elasticity)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;00a6bfb1-b664-4675-9ac7-df4e111f6aa2&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스의 ‘수'를 늘리는것.
ex RAM 1GB PC 1개를 → 개로 해서 효율성 늘리는것.&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;fead22d9-bd44-4d0c-ad4f-212f31f4bcc4&quot;&gt;2) 고 가용성&lt;/h3&gt;&lt;p class=&quot;&quot; id=&quot;127f7144-4d51-403f-9706-81816f23e566&quot;&gt;데이터 센터에서의 손실에서 살아남도록 하는것이며, 즉, 무중단 시스템을 만드는것.
(수평확장과 함께 사용되는 개념이기도 한다.)&lt;/p&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;12b4b2a9-f856-468f-b315-03edab7719b9&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Multi AZ&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;468a73fd-4dad-43b8-803e-218da2e29104&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Auto Scaling Group multi AZ&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;6cffd9f7-fa24-44d2-a56a-2604027cdc1e&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Load Balancer multi AZ&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;5cf5a2ac-6e9f-4f6b-92f6-855b447a0ffb&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;4e97f92b-f5ae-45c9-b2c1-9b592eb16a25&quot;&gt;2.  로드 밸런싱(Load Balancing)&lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;ed556607-07d1-4545-b3e0-bbf793c35b9e&quot;&gt;로드밸런서는 서버 or 서버셋으로 들어오는 트래픽을 백엔드서버나 서버들로 전달하는 역할을 한다.&lt;/p&gt;&lt;figure class=&quot;image&quot; id=&quot;b33a076c-6647-4ffe-8577-b23b446d6ffe&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/zoCrR/btrEmaxFhFl/kv2eibNOHtyPtuVuqZbOAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zoCrR/btrEmaxFhFl/kv2eibNOHtyPtuVuqZbOAK/img.png&quot; style=&quot;width:576px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;c215c69d-44fb-4e1b-af4e-61591aec1a8f&quot;&gt;위처럼 유저가 Elastic Load Balancer에 접근하면 End-point는 다를지라도 같은 것을 보고 있게 한다.&lt;/p&gt;&lt;h3 class=&quot;&quot; id=&quot;195ef15b-007f-4abf-b2d6-a5e2734933d6&quot;&gt;1) 로드밸런싱이 필요한 이유?&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;80cdf096-96ee-4539-8335-4bdc943862f7&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;트래픽 부하를 다수의 다운스트림 인스턴스로 분산하기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;67cbd0bb-cb50-46c7-857f-9500c9bef450&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;애플리케이션에 하나의 single-point (DNS)만 노출시키기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;25d829c6-55e2-4945-ba2d-ce83d1207c6d&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;다운스트림 인스턴스의 장애를 원활히 처리하기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;59d65f66-715a-411d-b944-8cdaf11e7cd0&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;인스턴스의 상태를 정기적으로 체크하기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;22c2ee53-ef92-4bff-976a-5e69e79651cb&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;웹사이트에 SSL termination(HTTPS)를 제공하는 암호화된 트래픽을 갖기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;9fd152b2-cc01-4952-ae4e-69720a2c76ca&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;클라우드 내에서 개인 트래픽과 공공 트래픽을 분리하기 위해&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;197d4a6d-cd2b-4abd-a5da-3dbbdddbcd62&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;고 가용성으로 Multi AZ를 갖기 위해&lt;/li&gt;&lt;/ul&gt;&lt;h1 class=&quot;&quot; id=&quot;ab80a16c-1cb2-4ecd-bfac-9b31ca54cc30&quot;&gt;AWS Elastic Load Balancer&lt;/h1&gt;&lt;h2 class=&quot;&quot; id=&quot;b526c2ec-5ab6-44ab-bf3c-4c3496c24c04&quot;&gt;1. AWS ELB는 무엇인가?&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8e99f0da-692b-41ee-8078-45ecb84a77cb&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;네트워크 트래픽 분산을 통한 애플리케이션 확장성 개선&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;fbebf18e-b65d-4822-a1c3-4f88fbc75e0a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;L4 Switch와 같은 관리형 로드 밸런서(managed load balancer)&lt;ul class=&quot;bulleted-list&quot; id=&quot;63e92016-24ac-4d2d-ba07-1bffcf4c1a9e&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;AWS가 관리하며, 어떤 경우에도 작동할 것을 보장&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;1084aaa7-1794-47d6-9f3c-4bb435ac7cdd&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;AWS가 업그레이드, 유지관리, 고가용성을 책임&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8866c4ce-2e11-459c-85ac-e127065ed999&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;로드밸런서의 작동 방식을 수정할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;d0b606da-acab-4a74-997f-dae22367d2dd&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;자체 로드 밸런서를 쓰는것 보다 저렴&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2307c44d-44ff-4ef3-9eb1-c540de4e4e6a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;다수의 AWS 서비스들과 통합.&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;c2264027-f5bc-47f1-ac07-c295f2dda50c&quot;&gt;작동이 어케되는가?&lt;/h3&gt;&lt;figure class=&quot;image&quot; id=&quot;b3f12493-6f47-4c4c-adfa-8e7a9db26783&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bK1gxE/btrEmQeFKmq/88Uj8TFrv1JbPjItkxvJAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bK1gxE/btrEmQeFKmq/88Uj8TFrv1JbPjItkxvJAk/img.png&quot; style=&quot;width:1682px&quot;/&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p class=&quot;&quot; id=&quot;1394c53d-3cc5-484e-9d74-649716dd9e07&quot;&gt;인스턴스 상태를 확인할 수 있는데, 프로토콜, 포트, 엔드포인트로 &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;f8183782-6b33-437a-9195-572acf46ecd9&quot;&gt;200으로 응답안하면 좋지 않다고 체크하고 &lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;be6f8f06-db5f-4b5e-87ca-1c334e5032c2&quot;&gt;ELB가 그쪽으로 안보냄&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;c7b5feb7-29eb-4e6d-8a5a-3b61bedb3581&quot;&gt;
&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;5b02fcd8-96e4-43e0-a1d2-23dac57d902b&quot;&gt;Elastic Load Balancing은 등록 취소 중인 대상으로 요청을 전송하는 것을 중지합니다. 기본적으로 Elastic Load Balancing은 등록 취소 프로세스를 완료하기 전에 300초 동안 대기하는데, 이는 대상에 대해 진행 중인 요청을 완료하는 데 도움이 될 수 있습니다. Elastic Load Balancing이 대기하는 시간을 변경하려면 등록 취소 지연 값을 업데이트합니다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;d55b3559-a8d9-47f0-af0f-a6b50ff325e7&quot;&gt;등록 취소하는 대상의 초기 상태는 &lt;code&gt;draining&lt;/code&gt;입니다. 등록 취소 지연이 경과한 후 등록 취소 프로세스가 완료되며 대상 상태는 &lt;code&gt;unused&lt;/code&gt;입니다. 대상이 Auto Scaling 그룹의 일부인 경우 종료 및 대체될 수 있습니다.&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;f126e951-c039-4de4-98fe-9e4513199702&quot;&gt;2.AWS의 4가지 ELB&lt;/h2&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;595d9ce1-7f67-4ca4-937f-e008d39c3048&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;CLB, Classic Load Balancer (v1, 2009)&lt;ul class=&quot;bulleted-list&quot; id=&quot;3b8c1d01-7ec4-41a9-a002-25f8a7e44b23&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTP, HTTPS, TCP, SSL 지원&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;45b42932-f22c-4e11-8a81-f64b2d9a45bd&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;ALB, Application Load Balancer (v2, 2016)&lt;ul class=&quot;bulleted-list&quot; id=&quot;da91fe23-1aa8-454b-a563-1cd0f00b062c&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;HTTP, HTTPS, WebSocket&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;19f0b6aa-54d7-459a-9ad7-93d6b846a540&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;ALB는 URL Path, Hostname, HTTP 헤더 및 쿼리 문자열을 기반으로 트래픽을 다른 대상 그룹으로 라우팅할 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;3b7b3945-8bea-46d1-8475-e29caf25401e&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;쿠키 이름(AWSALB, AWSALBAPP, AWSALBTG)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;2bf41a98-bc61-4c42-a6cf-6d8790a436e9&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;NLB, Network Load Balancer(v2, 2017)&lt;ul class=&quot;bulleted-list&quot; id=&quot;5b3fa619-4263-4994-b656-ab3f7c6f77cd&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;TCP, TLS(secure TCP), UDP&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;42b368b0-c5c5-4f64-8616-0eaf87abc718&quot; start=&quot;4&quot; type=&quot;1&quot;&gt;&lt;li&gt;GWLB, Gateway Load Balancer(v3, 2020)&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;8452407e-ca84-4be2-894b-ad72aa494f19&quot;&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>AWS</category>
      <category>ec2</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/252</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-ELB-overview#entry252comment</comments>
      <pubDate>Thu, 9 Jun 2022 19:59:29 +0900</pubDate>
    </item>
    <item>
      <title>Amazon EC2 EBS</title>
      <link>https://jin1ib.tistory.com/entry/Amazon-EC2-EBS</link>
      <description>&lt;body&gt;&lt;html&gt;&lt;head&gt;&lt;link href=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/styles/atom-one-dark.min.css&quot; rel=&quot;stylesheet&quot;/&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.2/highlight.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;hljs.initHighlightingOnLoad();&lt;/script&gt;&lt;/head&gt;&lt;/html&gt;&lt;link href=&quot;https://rawcdn.githack.com/ppuep94/n2t/5ef4dc01e9d6336341e9ab95bb71672f9d3a3dc9/assets/css/style2.css&quot; rel=&quot;stylesheet&quot;/&gt;&lt;article class=&quot;page sans Notion&quot; id=&quot;72910d47-45cf-4d73-9f36-ed677a27d6bf&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;div class=&quot;page-body Tistory&quot;&gt;&lt;nav class=&quot;block-color-gray table_of_contents&quot; id=&quot;9d6d8922-82ea-482a-96b9-01eca528defb&quot;&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-0&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#498ff144-5df9-4ee8-aaf3-a0c0d7785417&quot;&gt;1. EBS Volume Types&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#71a708bf-181a-4dc0-83a9-a8962b776684&quot;&gt;볼륨을 어떤걸 선택해야할까?&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#ab03cbca-eb99-41c3-9660-76dc116428e3&quot;&gt;+) EBS Muli-Attach - io1/io2 군&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-1&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#cac957d2-5bbb-4810-b6a3-657a0273c1b6&quot;&gt;EBS 볼륨 암호화&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;table_of_contents-item table_of_contents-indent-2&quot;&gt;&lt;a class=&quot;table_of_contents-link&quot; href=&quot;#c14ec207-925e-46a3-99cd-ac1a29c7761b&quot;&gt;EBS 볼륨이 암호화되는 과정&lt;/a&gt;&lt;/div&gt;&lt;/nav&gt;&lt;h1 class=&quot;&quot; id=&quot;498ff144-5df9-4ee8-aaf3-a0c0d7785417&quot;&gt;1. EBS Volume Types&lt;/h1&gt;&lt;p class=&quot;&quot; id=&quot;57e2a163-1788-409b-bf34-de469cf2805e&quot;&gt;EBS 볼륨 타입에는 크게 3가지가 존재한다.&lt;/p&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;d5ad8c0e-771b-4da4-ba49-e9fbd12f0a0f&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;gp2/gp3(SSD)&lt;ol class=&quot;numbered-list&quot; id=&quot;2c85b8a9-f779-4e15-be7f-658789d5f666&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;범용 SSD 볼륨&lt;ol class=&quot;numbered-list&quot; id=&quot;c50589a8-accf-4ab2-8540-552aa1491557&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;짧은 지연시간, &lt;strong&gt;효율적인 비용&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;654e5e6e-4a44-4af1-8bbf-a9c5e66ca3d4&quot; start=&quot;2&quot; type=&quot;i&quot;&gt;&lt;li&gt;시스템 부팅디스크, 가상 데스크톱, 개발, 테스트 환경등 다양한 환경에서 사용&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;ea321557-12a7-4918-9883-7acecd6d335b&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;gp2 ↔ gp31GB ~ 16TB&lt;ol class=&quot;numbered-list&quot; id=&quot;43ccb0a1-1cc4-4169-af4e-10632899fb9a&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;gp2: old, Linked IOPS, 처리량 &lt;ol class=&quot;numbered-list&quot; id=&quot;53ba7c83-d9a9-4d64-92df-98301854cb52&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;기본: 3,000 IOPS&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;4ca29931-fa22-4611-aea5-d1c4d7a05ecd&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;size와 IOPS가 연결되어있어서 최대 16,000 IOPS 선택&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;e008acf9-7752-40df-867f-337f5e4cc013&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt; IOPS = 3 * GB ⇒ 5,334GB = 16,000 IOPS(max)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;e6efe130-eb0d-4945-bf7b-0a0d8096a1c8&quot; start=&quot;2&quot; type=&quot;i&quot;&gt;&lt;li&gt;gp3: 최신, 독자적 IOPS, 처리량 설정&lt;ol class=&quot;numbered-list&quot; id=&quot;30e9a49b-ac1b-4a31-a44f-1d9cffbd3965&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;기본: 3,000 IOPS + 125MB/s 처리량(Throughput)&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;6cd3eecd-0576-4dd8-82ba-01d2d6833857&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;고급: 16,000 IOPS + 1000MB/s 처리량(Throughput)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;57d29451-fc56-49e0-81d6-d233d4e99c42&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;io1/io2(SSD): Provisioned IOPS(PIOPS) SSD&lt;ol class=&quot;numbered-list&quot; id=&quot;4dda5578-1675-4c2c-a3d6-48dcc0c7413a&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;매우 높은 성능을 자랑하는 EBS&lt;ol class=&quot;numbered-list&quot; id=&quot;c3ca8614-9594-49a2-b9b8-831e6607c527&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;mission-critical&lt;ol class=&quot;numbered-list&quot; id=&quot;546de52e-de6d-4f1a-81ba-785a24a7acf0&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;Multi-Attach를 자랑한다. 여러 인스턴스 연결 가능&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;3d465805-0c86-4652-a4ba-b836595e9141&quot; start=&quot;2&quot; type=&quot;i&quot;&gt;&lt;li&gt;low-latency, high-throughput: 16,000 IOPS 이상을 자랑함&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;49bd2f58-6f66-4c87-a60a-50ee70a84ba2&quot; start=&quot;3&quot; type=&quot;i&quot;&gt;&lt;li&gt;주로 데이터베이스 워크로드에 적합&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;12ef944c-a68c-4d5c-85be-50ea4c8324b1&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;io1 ↔ io2(4GB ~ 16TB)&lt;ol class=&quot;numbered-list&quot; id=&quot;18094436-20dd-4584-b29d-1c476643b1ff&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;io1&lt;ol class=&quot;numbered-list&quot; id=&quot;b2916721-d54b-4cf3-8028-f8f39e4a759d&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;IOPS : 최대 32,000 IOPS &amp;amp; 64,000 IOPS(Nitro EC2전용) &lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;d0ccd97f-8add-4bd9-a304-4608bca1d7ae&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;독자적인 스토리지 크기 증가&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;bfe5287f-4a47-42bc-8478-456eec2887dd&quot; start=&quot;2&quot; type=&quot;i&quot;&gt;&lt;li&gt;io2 Block Express(4GB ~ 64TB)&lt;ol class=&quot;numbered-list&quot; id=&quot;8ac8d606-8e82-4ca3-86d2-c8f64ddb8c5f&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;io2는 io1과 같은 비용으로 내구성+GB당 IOPS 수가 더 높으므로 io2 필수선택&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;edb52980-5771-407b-bad1-9416a2e9f0d6&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;latency: 밀리초 미만&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;9a46a147-72ed-4853-83f4-7144f1a20bb1&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;IOPS:GB비율이 1,000:1일때 최대 256,000 IOPS 제공&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;f1962598-e7be-4202-96c0-84cf32e1622f&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;st1/sc1(HDD)&lt;ol class=&quot;numbered-list&quot; id=&quot;c1b8dbbb-108b-4f73-8884-191ec3aedffa&quot; start=&quot;1&quot; type=&quot;a&quot;&gt;&lt;li&gt;st1&lt;ol class=&quot;numbered-list&quot; id=&quot;38c0fb2e-37de-475a-a689-b2b25625bc0e&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;저비용의 HDD 볼륨&lt;ol class=&quot;numbered-list&quot; id=&quot;bf3859d1-485d-46dc-ad1d-d78815c88f0b&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;처리량 최적화 HDD, 잦은 접근, 처리량이 많은 워크로드에 주로 쓰인다.&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;c9a8717b-ec67-4926-9fd9-43d5c14a466f&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;크기: 125MB ~ 16TB&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;436506aa-6ecd-41a8-966b-1c65a0fd62c5&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;주로 빅데이터, DW, Log Processing에 적합&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;2d57225e-06d4-4a73-b64f-db2678baee4e&quot; start=&quot;4&quot; type=&quot;1&quot;&gt;&lt;li&gt;처리량: 500MB/s  &amp;amp; IOPS: 500&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;075752b1-5fbf-4adb-85c5-c2e29af2c721&quot; start=&quot;2&quot; type=&quot;a&quot;&gt;&lt;li&gt;sc1(HDD)&lt;ol class=&quot;numbered-list&quot; id=&quot;c97b1774-3f35-4329-bb87-7056cc1bf93f&quot; start=&quot;1&quot; type=&quot;i&quot;&gt;&lt;li&gt;가장 비용이 적은 볼륨&lt;ol class=&quot;numbered-list&quot; id=&quot;14f42f01-2c0a-440f-a313-d5a5492de3ba&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;접근 빈도가 낮은 워크로드에 주로 쓰임(아카이브)&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;8ed9e571-8b09-4dc2-8bbe-27740a624ddd&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;처리량: 250MB/s  &amp;amp; IOPS: 250&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 class=&quot;&quot; id=&quot;71a708bf-181a-4dc0-83a9-a8962b776684&quot;&gt;볼륨을 어떤걸 선택해야할까?&lt;/h3&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;a8a64724-73bc-43dc-8d21-229c23ef3e64&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Size&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;f8535249-464d-49dd-b6e7-2d26cf84be52&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;Throughput&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;2ae1fe8a-4729-4704-8502-6bd91e7a692a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;IOPS(I/O Ops Per Sec)&lt;/li&gt;&lt;/ul&gt;&lt;p class=&quot;&quot; id=&quot;96ef57b1-6ee2-4047-9e1a-7cd87794ad41&quot;&gt;단, boot vloumes에는 오직 gp2/gp3 and io1/io2 인스턴스만 사용가능하다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;518ad182-fdf0-43ef-8483-2a4a4ec185c8&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;ab03cbca-eb99-41c3-9660-76dc116428e3&quot;&gt;+) EBS Muli-Attach - io1/io2 군&lt;/h2&gt;&lt;p class=&quot;&quot; id=&quot;5843e994-6d20-4970-b4e3-ae7f9d671e6a&quot;&gt;원래는 EBS 볼륨은 한개의 인스턴스만 연결할 수가 있는데,&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;9ddf964f-2fe8-4643-b531-239ea6c3e347&quot;&gt;io1/io2를 사용하면 같은 AZ내에서 여러 인스턴스를 연결할 수 있다.&lt;/p&gt;&lt;p class=&quot;&quot; id=&quot;cb5aeebb-a219-4c7f-94e0-3cea726568a4&quot;&gt;
&lt;/p&gt;&lt;h2 class=&quot;&quot; id=&quot;cac957d2-5bbb-4810-b6a3-657a0273c1b6&quot;&gt;EBS 볼륨 암호화&lt;/h2&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;bea9e129-58c5-476f-9e29-9542e24546ab&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;암호화되면?&lt;ul class=&quot;bulleted-list&quot; id=&quot;dfe28cd7-58e5-4907-9c37-49b82bebd312&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;인스턴스와 볼륨이 모두 암호화&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;00165986-3bf3-4300-be1f-04f1e4f49ac7&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;모든 스냅샷들도 암호화&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;dd5a2910-3ada-4cb1-9c8a-9116f82b611a&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;스냅샷에 생긴 볼륨들도 암호화&lt;ul class=&quot;bulleted-list&quot; id=&quot;4ef4e59f-20f8-46b9-95b5-7d554b240810&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;암호화가 지연시간에 미치는 영향 X&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;16c51c2b-bc21-48b5-a0ae-f9daa4685d56&quot;&gt;&lt;li style=&quot;list-style-type:circle&quot;&gt;KMS&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;bulleted-list&quot; id=&quot;8532fbe0-0fe1-4d27-aaf8-eca6ca12c9c4&quot;&gt;&lt;li style=&quot;list-style-type:disc&quot;&gt;암호화되지 않는 스냅샷을 복사할때 암호화됨&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; id=&quot;c14ec207-925e-46a3-99cd-ac1a29c7761b&quot;&gt;EBS 볼륨이 암호화되는 과정&lt;/h3&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;252fb8c8-8987-43cc-847c-c19c83dc2406&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;EBS 볼륨 스냅샷 생성&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;dade3694-33e7-4680-93bd-384a7a0069a9&quot; start=&quot;2&quot; type=&quot;1&quot;&gt;&lt;li&gt;스냅샷을 복사하여 복사한 EBS 스냅샷 암호화 옵션 선택
(스냅샷에서 새 EBS 볼륨생성시에도 암호화)&lt;/li&gt;&lt;/ol&gt;&lt;ol class=&quot;numbered-list&quot; id=&quot;eb2ec91d-334d-4938-90c5-874461713aab&quot; start=&quot;3&quot; type=&quot;1&quot;&gt;&lt;li&gt;암호화된 EBS 볼륨 스냅샷으로 원본 인스턴스에 연결 가능&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;&quot; id=&quot;a7b3a5e6-5eb7-4093-8226-ccb7545012c9&quot;&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/article&gt;&lt;/body&gt;</description>
      <category>Infrastructure</category>
      <category>AWS</category>
      <category>Ebs</category>
      <category>ec2</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/251</guid>
      <comments>https://jin1ib.tistory.com/entry/Amazon-EC2-EBS#entry251comment</comments>
      <pubDate>Thu, 9 Jun 2022 19:59:16 +0900</pubDate>
    </item>
    <item>
      <title>3 STEP SQLD 시험 합격 공부법</title>
      <link>https://jin1ib.tistory.com/entry/3-STEP-SQLD-%EC%8B%9C%ED%97%98-%ED%95%A9%EA%B2%A9-%EA%B3%B5%EB%B6%80%EB%B2%95</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;긴말필요없다. 그냥 아래 순서대로 진행하자&lt;/p&gt;
&lt;h1&gt;&lt;b&gt;Step 01&lt;/b&gt; 시험 막판 정리 강의 듣고 노트 정리&lt;/h1&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;(1) SQLD 최종 정리강의 1편 - SELECT문장 ~ 트랜잭션 관리 언어(TCL)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;55분 강의 &lt;a href=&quot;https://www.youtube.com/watch?v=PC3ypt_VGWI&quot;&gt;링크&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/PC3ypt_VGWI&quot; width=&quot;300&quot; height=&quot;225&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;(2) SQLD 최종 정리강의 2편 - 윈도우 함수 ~ 인덱스(Index)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;40분 강의 &lt;a href=&quot;https://www.youtube.com/embed/PjCSvexo3Ow&quot;&gt;링크&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/PjCSvexo3Ow&quot; width=&quot;300&quot; height=&quot;225&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&lt;b&gt;Step 02&lt;/b&gt; 노랭이 1회독 + 꿀팁 강의&lt;/h1&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;(1) SQL 자격검정 실전문제 풀기(통칭 노랭이)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;644&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UhnzD/btruRLZEeFT/VHELBblQ6wmIVwnr6ktHW0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UhnzD/btruRLZEeFT/VHELBblQ6wmIVwnr6ktHW0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UhnzD/btruRLZEeFT/VHELBblQ6wmIVwnr6ktHW0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUhnzD%2FbtruRLZEeFT%2FVHELBblQ6wmIVwnr6ktHW0%2Fimg.jpg&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;255&quot; height=&quot;328&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;644&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;(2) 노랭이 풀다가 아래 페이지 체크해두고 풀때 강의한번 보기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;p44, p50, p55, p58, p60, p68, p78, p94, p95, p98, p101, p103, p104, p108, p115, p116&lt;/b&gt;&lt;br /&gt;위 페이지 풀때 강의 보고 풀기 &lt;a href=&quot;https://youtube.com/playlist?list=PLyQR2NzLKOCZU_jjLAdebyx9oE9dvvsrE&quot;&gt;강의링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1646145417710&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;SQL 문제풀이&quot; data-og-description=&quot; &quot; data-og-host=&quot;www.youtube.com&quot; data-og-source-url=&quot;https://www.youtube.com/playlist?list=PLyQR2NzLKOCZU_jjLAdebyx9oE9dvvsrE&quot; data-og-url=&quot;http://www.youtube.com/playlist?list=PLyQR2NzLKOCZU_jjLAdebyx9oE9dvvsrE&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Tn216/hyNAYk6FS2/GwgP8iSAztWxOWZ8dJ0Pzk/img.jpg?width=168&amp;amp;height=94&amp;amp;face=108_25_143_63,https://scrap.kakaocdn.net/dn/TY1rK/hyNAUC0M8q/3eJhqTdc6hkOH8mUKEIxzk/img.jpg?width=196&amp;amp;height=110&amp;amp;face=125_31_168_78,https://scrap.kakaocdn.net/dn/dnSzcN/hyNATxkINz/7UjlLJB8yB6Efopbxxij5k/img.jpg?width=246&amp;amp;height=138&amp;amp;face=154_36_211_98,https://scrap.kakaocdn.net/dn/GhYhK/hyNzYtuiKy/bTy4cDmnkD0qyfAdb2K9J1/img.jpg?width=336&amp;amp;height=188&amp;amp;face=218_50_287_126&quot;&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLyQR2NzLKOCZU_jjLAdebyx9oE9dvvsrE&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.youtube.com/playlist?list=PLyQR2NzLKOCZU_jjLAdebyx9oE9dvvsrE&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Tn216/hyNAYk6FS2/GwgP8iSAztWxOWZ8dJ0Pzk/img.jpg?width=168&amp;amp;height=94&amp;amp;face=108_25_143_63,https://scrap.kakaocdn.net/dn/TY1rK/hyNAUC0M8q/3eJhqTdc6hkOH8mUKEIxzk/img.jpg?width=196&amp;amp;height=110&amp;amp;face=125_31_168_78,https://scrap.kakaocdn.net/dn/dnSzcN/hyNATxkINz/7UjlLJB8yB6Efopbxxij5k/img.jpg?width=246&amp;amp;height=138&amp;amp;face=154_36_211_98,https://scrap.kakaocdn.net/dn/GhYhK/hyNzYtuiKy/bTy4cDmnkD0qyfAdb2K9J1/img.jpg?width=336&amp;amp;height=188&amp;amp;face=218_50_287_126');&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;SQL 문제풀이&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.youtube.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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&lt;b&gt;Step 03&lt;/b&gt; 기출문제 풀기&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://cafe.naver.com/sqlpd?iframe_url=/ArticleList.nhn%3Fsearch.clubid=21771779%26search.menuid=8%26search.boardtype=L&quot;&gt;카페 링크&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터 전문가 포럼 네이버 카페 들어가기 -&amp;gt; 복원 완료 기출문제 메뉴 들어가기 -&amp;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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출처: &lt;a href=&quot;https://jonhyuk0922.tistory.com/115&quot;&gt;https://jonhyuk0922.tistory.com/115&lt;/a&gt;&lt;/p&gt;</description>
      <category>Jinstory</category>
      <category>sqld 공부</category>
      <category>sqld 합격</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/224</guid>
      <comments>https://jin1ib.tistory.com/entry/3-STEP-SQLD-%EC%8B%9C%ED%97%98-%ED%95%A9%EA%B2%A9-%EA%B3%B5%EB%B6%80%EB%B2%95#entry224comment</comments>
      <pubDate>Tue, 1 Mar 2022 23:30:28 +0900</pubDate>
    </item>
    <item>
      <title>[통계] 통계학 Overview</title>
      <link>https://jin1ib.tistory.com/entry/%ED%86%B5%EA%B3%84-%ED%86%B5%EA%B3%84%ED%95%99-Overview</link>
      <description>&lt;h1&gt;서론&lt;/h1&gt;
&lt;p&gt;MLOps를 공부하면서 우연히 빅데이터 분석 프로젝트 T/F팀에 소속되어 기획부터 배포까지 경험할 수 있게 되는 기회가 생겼다.&lt;br&gt;그런데, 문제정의를 하는 단계에서 부터 먹먹함을 가지고 있었다. &amp;#39;이거 제대로 하고 있는거 맞아?&amp;#39;, &amp;#39;타당성 충분한가?&amp;#39;, &amp;#39;이걸로 설득시킬 수 있어?&amp;#39; 이런 자문자답이 불가능하여 통계학을 놓으면 안되겠다는 생각을 하게 되었고, &amp;#39;이렇게 쉬운 통계학&amp;#39; 이라는 책을 시작으로 공부하기로 하였다.&lt;br&gt;공부방법은 간단하다. 개인적으로 책의 내용 + 인터넷 서칭하며 공부하고 공부한 내용을 백지에 게시글에 다시 작성하는식으로 검증하는 방식이다.&lt;br&gt;그럼 시작해보도록 하겠다.&lt;/p&gt;
&lt;h1&gt;본론&lt;/h1&gt;
&lt;p&gt;먼저 통계학을 시작하기 전에 통계학의 &amp;#39;맵&amp;#39;을 그리려고한다.&lt;br&gt;통계학은 대표적으로 4가지로 설명할 수 있다.&lt;/p&gt;
&lt;p&gt;1) 기술 통계학&lt;br&gt;2) 다변량 분석&lt;br&gt;3) 추측 통계학&lt;br&gt;4) 베이즈 통계학&lt;/p&gt;
&lt;p&gt;이다. 물론 응용 통계학(보험통계학, 의학통계학 등)쪽도 있는데 이부분은 다루지 않도록 하겠다.&lt;br&gt;각각에 대해서 overview 형태로 쭉 훑고 깊게 들어가는것이 좋다고 생각한다.&lt;/p&gt;
&lt;h2&gt;1) 기술 통계학(Descriptive Statistics)&lt;/h2&gt;
&lt;p&gt;기술통계학의 기본은&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;의사결정 하기 위해서 많은 데이터 중에서 대표하는 값을 찾자!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;에서 시작된다고 생각한다. 예를 들어서 1000여명의 영업팀이 이번 한달 야근 얼마나 했나? 를 알아보고자 할때 20, 85, 17, 1, 10...시간으로 데이터가 있다고하자 이런 엄청나게 많은 데이터로는 어떠한 인사이트나 추이를 파악할 수 없다.&lt;br&gt;이를 계산하기 위해서 나온 개념으로 &amp;#39;대푯값&amp;#39; 이 있다.&lt;br&gt;이 대표값에는 일반적으로 3가지가 있다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;평균&lt;/li&gt;
&lt;li&gt;중앙값&lt;/li&gt;
&lt;li&gt;최빈값&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;먼저 평균같은 경우에는 (전체 데이터의 합)/(데이터의 수) 를 통해서 구할 수 있다.&lt;br&gt;이를 통해서 1000여명의 영업팀의 야근시간이 이번달에은 평균 40시간, 저번달에는 평균 60으로 지난달에는 일이 많았구나 식으로 알아볼 수 있는 것이다.&lt;/p&gt;
&lt;p&gt;중앙값은 전체 데이터를 오름차순으로 정렬했을때 가운데가 되는 값을 의미한다.&lt;br&gt;최빈값은 전체 데이터에서 같은 값을 가지는 수를 계산해보았을때 가장 많은 빈도수를 가진 값을 의미한다.&lt;/p&gt;
&lt;p&gt;그러나 이에 맹점을 가지고 있는것이 있으니, 가령 영업팀의 평균야근시간이 저번달보다 20시간이 감소했다 한들, 이상하게 지난달보다 오히려 일부 직원들의 야근시간이 증가했다고 해보자. 이러한 점에 있어서 나온 개념이 바로 분산(dispersion)다.&lt;/p&gt;
&lt;p&gt;데이터의 분포도를 보기 위해서는 대표적으로 3가지가 있다&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;표준편차&lt;/li&gt;
&lt;li&gt;사분위수&lt;/li&gt;
&lt;li&gt;범위&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;먼저, 표준편차라 함은 평균과 얼마만큼 떨어져 있는 계산 값이다.&lt;br&gt;일반적으로 편차(Variance) 개념으로 사용되는값이 시그마제곱 = (각 데이터와 평균과의 차이의 제곱) / (데이터의 수)로 분포를 계산할 수 있고,&lt;br&gt;여기서 표준편차(Standard deviation)은 시그마라고 불리며 편차를 루트씌운 값과 같다. 이 값을 통해서 데이터가 평균과 얼마나 떨어져 있는지 분포도를 계산할 수 있따.&lt;br&gt;두번째로 사분위수는 전체 데이터가 있으면, 그 데이터의 25%(1분위수), 50%(2분위수=중앙값), 75%(3분위수)에 해당하는 값을 계산하는것이다.&lt;br&gt;(3) 범위는 최대값과 최소값을 계산하는것이다.&lt;/p&gt;
&lt;p&gt;일반적으로 (2)과 (3)을 묶어서 박스플롯, 수염플롯이라는 의미로 같이 시각화하는데 사용하곤 한다.&lt;/p&gt;
&lt;h2&gt;2) 추측 통계학(Inferential Statistics)&lt;/h2&gt;
&lt;p&gt;다변량 분석에 들어가기 전에 추측 통계학부터 보도록 하겠다.&lt;/p&gt;
&lt;p&gt;추측 통계학의 기본은&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;전체 데이터(모집단)를 수집할 수 없을때, 일부 데이터(표본)를 수집하여 전체 데이터의 성질을 추측하겠다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;에서 시작된다고 볼 수 잇다. 전체 데이터를 수집할 수 없을때에는 표본을 수집하여 기술 통계학에서 썻던것처럼 대푯값을 쓴다면, 새로운 데이터가 축적될때마다, 혹은 새로운 표본을 수집할때마다 대푯값이 달라질 수 있다. 이에 대한 고민을 해결하고자. 나온개념이 추측 통계학이다.&lt;/p&gt;
&lt;p&gt;예를 들어 제약회사에서 신약을 개발하였다고 하자, 이 약이 효능이 있는지 검증을 해야할것이다. 이럴떄 추측 통계학은 2가지 순서로 진행된다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;가설 설정(통계적 추정)&lt;/li&gt;
&lt;li&gt;가설 증명(가설 검정)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;가설 설정(통계적 추정)&lt;/h3&gt;
&lt;p&gt;제약 직원이 &amp;#39;이 신약을 효과가 있을거야!&amp;#39; 라고 가설A를 세웠다고 해보자.&lt;br&gt;이를 증명하기위해서 가설A의 옳고 그름을 판단하기에는 매우 어렵다. 반면, 추측 통계학을 이용한다고 하면, 가설A를 역으로 &amp;#39;이 신약을 써도 효과가 없을거야!&amp;#39;라고 가설 B를 세워서 가설B가 틀렸다!라고 것을 증명함으로써 간접적으로 증명시킬수 있다.&lt;br&gt;여기서 통계학 용어를 잠깐 설명하자면, &amp;#39;이 신약은 효과가 있을꺼야!&amp;#39;라고한 가설 A를 &lt;strong&gt;대립가설&lt;/strong&gt; 이라고 하고, 이 신약을 써도 효과가 없을거야!&amp;#39;라고한 가설B를 &lt;strong&gt;귀무가설(null-hypothesis)&lt;/strong&gt; 이라고 한다.&lt;/p&gt;
&lt;h3&gt;가설 검정&lt;/h3&gt;
&lt;p&gt;가설 증명한다는 것은 말그대로 귀무가설을 기각(틀렸다!) 시킨다는 의미이다. 그럼 어떻게 기각시킬까?&lt;br&gt;이떄는 정규분포의 개념을 이용한다.&lt;/p&gt;
&lt;p&gt;전체데이터의 분포를 정규분포 형태로 나타낼때는 젤라뽀를 눕힌 모양으로 나타낸다. 가장 가운데에는 평균값. 그리고 평균값을 기준으로 값이 좌/우로 분포되어있는 형태를 띌것이다. 여기서 가설B인 귀무가설을 기각시킬때에는 젤라뽀의 가장 외곽 부분에 포함되면 기각!이라고 말하고, 가설B가 틀렸으니, 가설 A는 옳을 가능성이 높다 라고 판단할 수 있는것이다. &lt;/p&gt;
&lt;p&gt;여기서 가장 외곽 부분이 평균과 얼마나 떨어져 있냐에 따라서 3가지 룰이 있는데, &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;평균 +- 1 * 표준편차 = 68.3%&lt;/li&gt;
&lt;li&gt;평균 +- 2 * 표준편차 = 95.4%&lt;/li&gt;
&lt;li&gt;평균 +- 3 * 표준편차 = 99.7%&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;순으로 계산하곤한다. 여기서 기각되는 조건에 따라 p value &amp;lt; 0.05 라는 의미를 쓰곤하는데 왼쪽에 쓴 저 의미는 99.5%의 신뢰도를 가진다고 말한다.&lt;/p&gt;
&lt;h4&gt;+) 정규분포가 다 통하나?&lt;/h4&gt;
&lt;p&gt;모든 데이터들이 정규분포를 띄는것이 아니다.&lt;/p&gt;
&lt;h4&gt;i) 지수분포&lt;/h4&gt;
&lt;p&gt;예를들어 &amp;#39;회사의 상품별 매출 동향&amp;#39; 같은 주제의 데이터는 정규분포가 아닌 &amp;#39;지수분포&amp;#39;를 띌것이다. 왜냐하면, x축이 상품들이고 y축이 매출이라 하고 가장 잘팔리는 상품군으로 나열되었을때, 지수함수 형태를 띄기 때문이다.&lt;br&gt;이처럼 잘 안팔리는 상품군은 &amp;#39;롱테일(long-tail)&amp;#39;이라고 불리며 향후 AI 서비스 적용시 주의해야할 사항으로 나오는 개념이기도 하다.&lt;/p&gt;
&lt;h4&gt;ii) 균등분포&lt;/h4&gt;
&lt;p&gt;예를들어1&lt;del&gt;6까지 있는 주사위를 돌려서 어떤 값이 나오는지 데이터를 쌓았다고 생각해보자.&lt;br&gt;이를 그래프로 나타내면 1&lt;/del&gt;6까지 비슷한 확률을 가지므로 균등한 모양의 그래프가 나올것이다.&lt;/p&gt;
&lt;h2&gt;3) 다변량 분석&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;2개 이상의 변량(변수)를 다루어서 &amp;#39;예측&amp;#39;을 하자!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;라는 개념이다. 예를 들어 한 초등학교 학급의 키와 몸무게 데이터를 모아서, x축을 키, y축을 몸무게라고 하여 분포도를 그려보았을때, 키가 증가할수록 몸무게 또한 증가하는 추세를 보임을 알 수 있었고 이를 직선그래프로 표현한다고 하자. 이처럼 표현하면, 어떤 학생이 키가 00이라고 했을때 이 직선그래프를 토대로 몸무게를 예측할 수 있다. 이 예는 선형 회귀(linear regression)의 한 예시 인데, 이처럼 2개 이상의 변량을 통해서 예측을 하는데 초점이 맞춰진 통계학을 의미한다.&lt;/p&gt;
&lt;h4&gt;단 여기서도 조심해야할 것이 있다.&lt;/h4&gt;
&lt;p&gt;가령 학교 전체 학생의 발사이즈와 해당 학생의 초등 수학 올림피아드 성적과 비례 관계를 형성하는 데이터가 생겼다고 해보자. 이는 사실상 초등학교 학년이 올라가면서 생김에 따라 생기는 관계로 사실상 유의미한 상관관계를 띈다고 말할 수 없다. 이를 유사상관이라고 말한다.&lt;/p&gt;
&lt;h2&gt;4) 베이즈 통계학&lt;/h2&gt;
&lt;p&gt;기존 통계학은 발생빈도를 &amp;#39;예측&amp;#39; 할 수 있는 경우에만 사용이 가능했다. 이말인 즉슨, 데이터가 적거나 심할경우 데이터가 없을경우 추측이 어렵다는 단점이 존재한다.&lt;br&gt;이를 해결하기 위해 베이즈 통계학이라는 개념이 나오기 시작했다.&lt;br&gt;베이즈 통계학은 표본이 적더라도 추정할 수 있는데 어떤 데이터가 들어올때마다 확률이 바뀌는 통계학이다.&lt;br&gt;대표적인 예로 몬트홀 문제라고 볼 수 있다.&lt;/p&gt;</description>
      <category>AI/Statistics</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/222</guid>
      <comments>https://jin1ib.tistory.com/entry/%ED%86%B5%EA%B3%84-%ED%86%B5%EA%B3%84%ED%95%99-Overview#entry222comment</comments>
      <pubDate>Sun, 27 Feb 2022 00:18:14 +0900</pubDate>
    </item>
    <item>
      <title>Spark 환경설정</title>
      <link>https://jin1ib.tistory.com/entry/%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95</link>
      <description>&lt;h1&gt;Apple M1 환경&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;brew 업데이트&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terminal 환경에서&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;brew update&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Python 다운로드 혹은 업그레이드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terminal 환경에서&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 파이썬 3.9버전 다운로드
brew install python@3.9
# 파이썬 3.9버전 업그레이드
brew upgrade python@3.9&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;JAVA 11 다운로드&lt;/h2&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;brew tap adoptopenjdk/openjdk
brew search jdk
brew install --cask adoptopenjdk11&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;JAVA 다운로드 확인&lt;/h3&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;/usr/libexec/java_home -V
vi ~/.zshrc # 이곳에 위 자바 홈 추가
java --version&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;brew install scala&lt;br /&gt;brew install apache-spark&lt;br /&gt;brew install --cask anaconda&lt;/p&gt;
&lt;h1&gt;spark 테스트&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널 창에 &lt;code&gt;pyspark&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1986&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F8lGU/btruAjbQ6Nq/uxnwfCMkeITxb27fTECSB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F8lGU/btruAjbQ6Nq/uxnwfCMkeITxb27fTECSB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F8lGU/btruAjbQ6Nq/uxnwfCMkeITxb27fTECSB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF8lGU%2FbtruAjbQ6Nq%2FuxnwfCMkeITxb27fTECSB0%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;1986&quot; height=&quot;378&quot; data-origin-width=&quot;1986&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&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;br /&gt;&lt;a href=&quot;https://itholic.github.io/etc-sparkdriver-retires-err/&quot;&gt;https://itholic.github.io/etc-sparkdriver-retires-err/&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;윈도우10 환경&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 자바 설치&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반드시 java 8 혹은 java 11을 설치햐야 한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 스파크 설치&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;WInRAR 설치&lt;/li&gt;
&lt;li&gt;Spark 3.x 버전 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 컴퓨터에 Hadoop이 있다고 속이기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1) 다음 경로에 폴더 생성&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C:\winutils\bin&lt;/li&gt;
&lt;li&gt;C:\tmp\hive&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2) 파일 다운로드 &amp;amp; 이동&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C:\winutils\bin에 &lt;a href=&quot;https://sundog-spark.s3.amazonaws.com/winutils.exe&quot;&gt;https://sundog-spark.s3.amazonaws.com/winutils.exe&lt;/a&gt;들어가서 다운받기&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3) 테스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cmd화면에서&lt;/p&gt;
&lt;pre class=&quot;taggerscript&quot;&gt;&lt;code&gt;cd C:\\winutils\\bin
winutils.exe chmod 777 \\tmp\\hive  &lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오류없이 실행되면 끝&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4) 환경변수 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;윈도우 - 설정 - 시스템 - 정보 - 고급 시스템 설정 - 환경변수 설정&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JAVA_HOME&lt;br /&gt;c:\jdk&lt;/li&gt;
&lt;li&gt;SPARK_HOME&lt;br /&gt;C:\spark&lt;/li&gt;
&lt;li&gt;PYSPARK_PYTHON&lt;br /&gt;anaconda cmd 창 들어가서&lt;br /&gt;python -&amp;gt; import sys -&amp;gt; sys.executable 입력&lt;/li&gt;
&lt;li&gt;HADOOP_HOME&lt;br /&gt;winutils 위치&lt;/li&gt;
&lt;li&gt;PATH&lt;br /&gt;PATH라고 등록된 환경변수 안으로 들어가서&lt;br /&gt;NEW 클릭후&lt;br /&gt;%JAVA_HOME%\bin&lt;br /&gt;%SPARK_HOME%\bin&lt;br /&gt;%HADOOP_HOME%\bin&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5) 파이스파크 설치&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리자 아나콘다 프롬프트에서&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;pip install pyspark&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6) 테스트&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 cmd 창에서&lt;/p&gt;
&lt;pre class=&quot;makefile&quot;&gt;&lt;code&gt;pysprk 
rdd =sc.textFile(&quot;README.md&quot;)
rdd.copunt()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과값으로 109나오면 성공&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;&lt;span&gt;출처:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://wind010.hashnode.dev/setting-up-anaconda-and-pyspark-on-m1-mac&quot;&gt;https://wind010.hashnode.dev/setting-up-anaconda-and-pyspark-on-m1-mac&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Infrastructure/Spark</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/220</guid>
      <comments>https://jin1ib.tistory.com/entry/%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95#entry220comment</comments>
      <pubDate>Wed, 23 Feb 2022 15:48:50 +0900</pubDate>
    </item>
    <item>
      <title>[Troubleshooting] Ports are not available: listen tcp 0.0.0.0:xx: bind: An attempt was made to access a socket in a way forbidden by its access permissions.</title>
      <link>https://jin1ib.tistory.com/entry/Error-invoking-remote-method-docker-start-container-Error-HTTP-code-500-server-error-Ports-are-not-available-listen-tcp-000050095-bind-An-attempt-was-made-to-access-a-socket-in-a-way-forbidden-by-its-access-permissions</link>
      <description>&lt;h1&gt;&lt;b&gt;에러내용&lt;/b&gt;&lt;/h1&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;232&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEkqYr/btrtYcSb7ZY/VEyAmjYx3Bb7lANe1BubkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEkqYr/btrtYcSb7ZY/VEyAmjYx3Bb7lANe1BubkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEkqYr/btrtYcSb7ZY/VEyAmjYx3Bb7lANe1BubkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEkqYr%2FbtrtYcSb7ZY%2FVEyAmjYx3Bb7lANe1BubkK%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;1272&quot; height=&quot;232&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;232&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;Error invoking remote method 'docker-start-container': Error: (HTTP code 500) server error - Ports are not available: listen tcp 0.0.0.0:50079: bind: An attempt was made to access a socket in a way forbidden by its access permissions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자의 경우에는 50079였는데, 어느 포트에서 저 에러가 났을때, 아래 를 수행한다면 해결될것으로 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 진리의 재부팅은 한번 해보고 안되면 아래를 수행하자.&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&lt;b&gt;솔루션&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 어느 포트들이 Block 되어 있는지 확인&lt;/h2&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;netsh interface ipv4 show excludedportrange protocol=tcp&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhJiJ3/btrtVn1fnsE/5m8jc8tq1YA5qUFywBRiYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhJiJ3/btrtVn1fnsE/5m8jc8tq1YA5qUFywBRiYK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhJiJ3/btrtVn1fnsE/5m8jc8tq1YA5qUFywBRiYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhJiJ3%2FbtrtVn1fnsE%2F5m8jc8tq1YA5qUFywBRiYK%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;601&quot; height=&quot;294&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 포트가 범위 중 하나에 있는 경우 winnat를 중지합니다.&lt;/h2&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;net stop winnat&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baqjKB/btrtRXIO1jT/f4FS7kZXDK47wMbm0jpGD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baqjKB/btrtRXIO1jT/f4FS7kZXDK47wMbm0jpGD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baqjKB/btrtRXIO1jT/f4FS7kZXDK47wMbm0jpGD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaqjKB%2FbtrtRXIO1jT%2Ff4FS7kZXDK47wMbm0jpGD1%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;414&quot; height=&quot;67&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 필요한 포트 동적 예약 금지합니다(예: 50079):&lt;/h2&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;netsh int ipv4 add excludedportrange protocol=tcp startport=50079 numberofports=1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;69&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZSFgC/btrtXxbbCYm/IEGnwLG6P5B4zxrkMbajk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZSFgC/btrtXxbbCYm/IEGnwLG6P5B4zxrkMbajk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZSFgC/btrtXxbbCYm/IEGnwLG6P5B4zxrkMbajk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZSFgC%2FbtrtXxbbCYm%2FIEGnwLG6P5B4zxrkMbajk1%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;796&quot; height=&quot;69&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;69&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. winnat 다시 시작:&lt;/h2&gt;
&lt;pre class=&quot;dos&quot;&gt;&lt;code&gt;net start winnat&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;374&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7KnKF/btrtRVRKhGV/IfdwJzTf6foe7YH53Vlugk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7KnKF/btrtRVRKhGV/IfdwJzTf6foe7YH53Vlugk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7KnKF/btrtRVRKhGV/IfdwJzTf6foe7YH53Vlugk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7KnKF%2FbtrtRVRKhGV%2FIfdwJzTf6foe7YH53Vlugk%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;374&quot; height=&quot;68&quot; data-origin-width=&quot;374&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Infrastructure/Docker</category>
      <category>docker 실행 안됌</category>
      <category>Error invoking remote method 'docker-start-container': Error: (HTTP code 500) server error - Ports are not available: listen tcp 0.0.0.0:50095: bind: An attempt was made to access a socket in a way forbidden by its access permissions.</category>
      <author>Jinlib</author>
      <guid isPermaLink="true">https://jin1ib.tistory.com/216</guid>
      <comments>https://jin1ib.tistory.com/entry/Error-invoking-remote-method-docker-start-container-Error-HTTP-code-500-server-error-Ports-are-not-available-listen-tcp-000050095-bind-An-attempt-was-made-to-access-a-socket-in-a-way-forbidden-by-its-access-permissions#entry216comment</comments>
      <pubDate>Tue, 22 Feb 2022 10:57:45 +0900</pubDate>
    </item>
  </channel>
</rss>