<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>뚠뚠</title>
    <link>https://namth.tistory.com/</link>
    <description>새로  것, 궁금한 것을 기록한 블로그입니다.</description>
    <language>ko</language>
    <pubDate>Sat, 15 Aug 2026 17:04:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>그래서그렇지</managingEditor>
    <image>
      <title>뚠뚠</title>
      <url>https://tistory1.daumcdn.net/tistory/5536527/attach/7e78a4252e4a44d4b61e41baaf18ea9b</url>
      <link>https://namth.tistory.com</link>
    </image>
    <item>
      <title>AWS EC2 인스턴스 볼륨추가</title>
      <link>https://namth.tistory.com/36</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;서버를 구축하고 데이터를 저장해놓는 인스턴스의 하드디스크 용량을 추가하는 글을 작성해보려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;EC2: t2.micro&lt;/li&gt;
&lt;li&gt;volume: ext4 포맷 5GB&lt;/li&gt;
&lt;/ul&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;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;볼륨 생성&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1.&amp;nbsp; AWS console에 접속한다.&lt;/b&gt;&lt;br /&gt;&lt;a href=&quot;https://console.aws.amazon.com/ec2/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://console.aws.amazon.com/ec2/&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2.&amp;nbsp; 사이드 메뉴에서 볼륨을 선택한다.&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_1.jpg&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;1384&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qB06N/btrOlV4tsxm/W2oQyBPJ0FI8yfXkFCknpk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qB06N/btrOlV4tsxm/W2oQyBPJ0FI8yfXkFCknpk/img.jpg&quot; data-alt=&quot;EC2 사이드 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qB06N/btrOlV4tsxm/W2oQyBPJ0FI8yfXkFCknpk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqB06N%2FbtrOlV4tsxm%2FW2oQyBPJ0FI8yfXkFCknpk%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;138&quot; height=&quot;426&quot; data-filename=&quot;ec2_volume_1.jpg&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;1384&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;EC2 사이드 메뉴&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 볼륨 생성 버튼을 누른다.&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;t2.micro 인스턴스의 기본 볼륨 크기는 8GB이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 서버 두 개를 돌리고 있으므로 8GB가 2개 있으며&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;16GB는 main서버에 전에 추가했던 볼륨이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_2.jpg&quot; data-origin-width=&quot;3550&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q8tJK/btrOlIqPuWn/yjBmexN34mr3dIfTZZA3H1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q8tJK/btrOlIqPuWn/yjBmexN34mr3dIfTZZA3H1/img.jpg&quot; data-alt=&quot;EC2 볼륨 리스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q8tJK/btrOlIqPuWn/yjBmexN34mr3dIfTZZA3H1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ8tJK%2FbtrOlIqPuWn%2FyjBmexN34mr3dIfTZZA3H1%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;691&quot; height=&quot;86&quot; data-filename=&quot;ec2_volume_2.jpg&quot; data-origin-width=&quot;3550&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;EC2 볼륨 리스트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 볼륨 설정을 하고 생성한다.&lt;/b&gt;&lt;/h4&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;볼륨 유형: 볼륨의 유형을 설정 가능&lt;br /&gt;크게 성능을 요하지 않아 gp2로 설정&lt;/li&gt;
&lt;li&gt;크기: 볼륨의 크기를 설정 가능&lt;br /&gt;단위는 GB&lt;/li&gt;
&lt;li&gt;IOPS: Input/Output Operations Per Second&lt;br /&gt;해당 값을 변경하려면 gp2 대신 gp3을 사용하면 된다.&lt;/li&gt;
&lt;li&gt;처리량: 볼륨이&amp;nbsp;지원할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;처리량&amp;nbsp;성능&lt;br /&gt;특정 볼륨 유형만 설정 가능함&lt;/li&gt;
&lt;li&gt;가용 영역: 해당 볼륨이 적용될 영역 설정 가능&lt;br /&gt;연결할 EC2와 같은 영역을 설정해야 함&lt;/li&gt;
&lt;li&gt;스냅샷 ID: 불러올 스냅샷 ID&lt;br /&gt;빈 볼륨을 원한다면 없음 선택, 원하는 스냅샷 있다면 드롭다운에서 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_3.jpg&quot; data-origin-width=&quot;1646&quot; data-origin-height=&quot;1978&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwYnOc/btrOnLT4lxk/TaBFnytKdH3vahaRko31L0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwYnOc/btrOnLT4lxk/TaBFnytKdH3vahaRko31L0/img.jpg&quot; data-alt=&quot;EC2 볼륨 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwYnOc/btrOnLT4lxk/TaBFnytKdH3vahaRko31L0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwYnOc%2FbtrOnLT4lxk%2FTaBFnytKdH3vahaRko31L0%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;595&quot; height=&quot;715&quot; data-filename=&quot;ec2_volume_3.jpg&quot; data-origin-width=&quot;1646&quot; data-origin-height=&quot;1978&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;EC2 볼륨 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 볼륨 생성 확인&lt;/b&gt;&lt;/h4&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_4.jpg&quot; data-origin-width=&quot;3556&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lMgMU/btrOo5LxdqE/periwtR5vT97VwYYIiPZeK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lMgMU/btrOo5LxdqE/periwtR5vT97VwYYIiPZeK/img.jpg&quot; data-alt=&quot;생성 중 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lMgMU/btrOo5LxdqE/periwtR5vT97VwYYIiPZeK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlMgMU%2FbtrOo5LxdqE%2FperiwtR5vT97VwYYIiPZeK%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;3744&quot; height=&quot;74&quot; data-filename=&quot;ec2_volume_4.jpg&quot; data-origin-width=&quot;3556&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;생성 중 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨이 생성되면 '사용 가능'으로 상태가 변화되어 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_5.jpg&quot; data-origin-width=&quot;3554&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bawqYH/btrOlKCaPiv/z2FPtxD98M0N5m9pZx5GKk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bawqYH/btrOlKCaPiv/z2FPtxD98M0N5m9pZx5GKk/img.jpg&quot; data-alt=&quot;생성 완료화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bawqYH/btrOlKCaPiv/z2FPtxD98M0N5m9pZx5GKk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbawqYH%2FbtrOlKCaPiv%2Fz2FPtxD98M0N5m9pZx5GKk%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;3554&quot; height=&quot;68&quot; data-filename=&quot;ec2_volume_5.jpg&quot; data-origin-width=&quot;3554&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;생성 완료화면&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;볼륨 연결&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 생성한 볼륨을 선택하여 연결하기 선택&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 5GB 볼륨을 선택하여 연결하기 작업 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_6.jpg&quot; data-origin-width=&quot;3556&quot; data-origin-height=&quot;658&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c8Ot7z/btrOmdjyVhP/bDtWMn4vDqvn9MufVGItj0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8Ot7z/btrOmdjyVhP/bDtWMn4vDqvn9MufVGItj0/img.jpg&quot; data-alt=&quot;특정 볼륨 연결&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8Ot7z/btrOmdjyVhP/bDtWMn4vDqvn9MufVGItj0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8Ot7z%2FbtrOmdjyVhP%2FbDtWMn4vDqvn9MufVGItj0%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;757&quot; height=&quot;140&quot; data-filename=&quot;ec2_volume_6.jpg&quot; data-origin-width=&quot;3556&quot; data-origin-height=&quot;658&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;특정 볼륨 연결&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 연결할 인스턴스 지정&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;디바이스 이름의 경우 unix 계열의 특징으로 연결된 디바이스는 '/dev' 경로 아래에 나오는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 경로에서 사용할 디바이스 이름을 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통의 경우 AWS console에서 자동적으로 작성해주며, 필요할 경우 아래 도움말을 참고하여 작성하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_7.jpg&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bO97B5/btrOmeJtVsZ/6h8IpSBNLajkw8oKViy5H1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bO97B5/btrOmeJtVsZ/6h8IpSBNLajkw8oKViy5H1/img.jpg&quot; data-alt=&quot;EC2 - volume 연결 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bO97B5/btrOmeJtVsZ/6h8IpSBNLajkw8oKViy5H1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbO97B5%2FbtrOmeJtVsZ%2F6h8IpSBNLajkw8oKViy5H1%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;562&quot; height=&quot;460&quot; data-filename=&quot;ec2_volume_7.jpg&quot; data-origin-width=&quot;1660&quot; data-origin-height=&quot;1358&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;EC2 - volume 연결 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 볼륨 연결 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨을 연결한 인스턴스에 접속하여서 제대로 볼륨이 연결되어있는지 확인해 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 설정에서는 /dev/sdg로 설정하였는데, 설정 화면 아래에 나와있는 데로 내부적으로 변경되어있는 것을 확인 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_8.jpg&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;548&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dluPjp/btrOo7iieLL/f0fZ8W4MhTb2jOyynxG791/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dluPjp/btrOo7iieLL/f0fZ8W4MhTb2jOyynxG791/img.jpg&quot; data-alt=&quot;연결된 block 디바이스 출력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dluPjp/btrOo7iieLL/f0fZ8W4MhTb2jOyynxG791/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdluPjp%2FbtrOo7iieLL%2Ff0fZ8W4MhTb2jOyynxG791%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;611&quot; height=&quot;368&quot; data-filename=&quot;ec2_volume_8.jpg&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;548&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;연결된 block 디바이스 출력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 볼륨 상태 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨이 연결이 제대로 되었으니, 상태를 확인해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;file -s 명령어로 파일의 포맷을 확인한다.&lt;/p&gt;
&lt;pre id=&quot;code_1665537608462&quot; class=&quot;applescript&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 파일 시스템 보기
sudo file -s /dev/xvdg&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;포맷이 있다면 다르게 나오지만, 포맷을 설정하지 않는 볼륨이므로 'data'가 나와주면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_9.jpg&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OS7hr/btrOlCxDBLZ/z8SvLQvycVmfkoKKkalAi0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OS7hr/btrOlCxDBLZ/z8SvLQvycVmfkoKKkalAi0/img.jpg&quot; data-alt=&quot;볼륨 포맷 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OS7hr/btrOlCxDBLZ/z8SvLQvycVmfkoKKkalAi0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOS7hr%2FbtrOlCxDBLZ%2Fz8SvLQvycVmfkoKKkalAi0%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;608&quot; height=&quot;60&quot; data-filename=&quot;ec2_volume_9.jpg&quot; data-origin-width=&quot;730&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;볼륨 포맷 확인&lt;/figcaption&gt;
&lt;/figure&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;/p&gt;
&lt;pre id=&quot;code_1665537562227&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo lsblk -f&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 추가되었던 xvdf 볼륨은 파일 시스템은 ext4으로 /volume1에 마운트 된 것을 확인 가능하고,&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_10.jpg&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FRNhN/btrOmVJvu0b/KUkLELFieJEZOEkqsdw7xk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FRNhN/btrOmVJvu0b/KUkLELFieJEZOEkqsdw7xk/img.jpg&quot; data-alt=&quot;block 디바이스들의 정보&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FRNhN/btrOmVJvu0b/KUkLELFieJEZOEkqsdw7xk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFRNhN%2FbtrOmVJvu0b%2FKUkLELFieJEZOEkqsdw7xk%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;565&quot; height=&quot;186&quot; data-filename=&quot;ec2_volume_10.jpg&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;block 디바이스들의 정보&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 볼륨 파일 시스템 설정&lt;/b&gt;&lt;/h4&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;/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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_12.jpg&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;70&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4SF3n/btrOkc65TCB/Eq3fvGZKHhrrw8OOzEtB11/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4SF3n/btrOkc65TCB/Eq3fvGZKHhrrw8OOzEtB11/img.jpg&quot; data-alt=&quot;마운트 에러&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4SF3n/btrOkc65TCB/Eq3fvGZKHhrrw8OOzEtB11/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4SF3n%2FbtrOkc65TCB%2FEq3fvGZKHhrrw8OOzEtB11%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;759&quot; height=&quot;30&quot; data-filename=&quot;ec2_volume_12.jpg&quot; data-origin-width=&quot;1764&quot; data-origin-height=&quot;70&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;마운트 에러&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨의 파일 시스템을 정하기 위해서는 아래 명령어를 사용한다.&lt;/p&gt;
&lt;pre id=&quot;code_1665537637511&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 파일 시스템 설정
sudo mkfs -t ext4 /dev/xvdg&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 입력하면 아래와 같은 출력문이 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(xfs파일 시스템으로 잘못 설정하여서 물어보는 질문이 추가되었다.)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_13.jpg&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KkJLG/btrOnrIc0UP/ldBf01iIk4iANqKAXtiw1K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KkJLG/btrOnrIc0UP/ldBf01iIk4iANqKAXtiw1K/img.jpg&quot; data-alt=&quot;볼륨 파일시스템 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KkJLG/btrOnrIc0UP/ldBf01iIk4iANqKAXtiw1K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKkJLG%2FbtrOnrIc0UP%2FldBf01iIk4iANqKAXtiw1K%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;685&quot; height=&quot;320&quot; data-filename=&quot;ec2_volume_13.jpg&quot; data-origin-width=&quot;954&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;볼륨 파일시스템 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4.&amp;nbsp; 볼륨 마운트&lt;/b&gt;&lt;/h3&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 경우 /volume2에 볼륨을 추가할 생각이므로, /volume2폴더를 생성한다.&lt;/p&gt;
&lt;pre id=&quot;code_1665537915781&quot; class=&quot;arduino&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# root 권한으로 폴더 생성
sudo mkdir /volume2&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어 입력 시 아무것도 나오지 않는다면 잘 된 것이다.&lt;/p&gt;
&lt;pre id=&quot;code_1665537799517&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 마운트
sudo mount /dev/xvdg /volume2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_14.jpg&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kptcu/btrOncEqrYU/y9b7YMi1J1VKnlDsYakvfK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kptcu/btrOncEqrYU/y9b7YMi1J1VKnlDsYakvfK/img.jpg&quot; data-alt=&quot;mount 결과&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kptcu/btrOncEqrYU/y9b7YMi1J1VKnlDsYakvfK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKptcu%2FbtrOncEqrYU%2Fy9b7YMi1J1VKnlDsYakvfK%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;820&quot; height=&quot;62&quot; data-filename=&quot;ec2_volume_14.jpg&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;62&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;mount 결과&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 볼륨 확인 및 부팅 시 자동 마운트 설정&lt;/b&gt;&lt;/h4&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;/p&gt;
&lt;pre id=&quot;code_1665538028559&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 설정파일 백업
sudo cp /etc/fstab /etc/fstab.orig&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;볼륨을 자동적으로 마운트 하기 위해 아래의 명령을 사용해 볼륨의 UUID를 가져온다.&lt;/p&gt;
&lt;pre id=&quot;code_1665538079183&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# block device id 가져오기
sudo blkid&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;ec2_volume_15.jpg&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;474&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VBPSU/btrOnr2uXW8/sFxuVeVT15nQmkryWdatj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VBPSU/btrOnr2uXW8/sFxuVeVT15nQmkryWdatj1/img.jpg&quot; data-alt=&quot;디바이스들의 UUID&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VBPSU/btrOnr2uXW8/sFxuVeVT15nQmkryWdatj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVBPSU%2FbtrOnr2uXW8%2FsFxuVeVT15nQmkryWdatj1%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;1680&quot; height=&quot;474&quot; data-filename=&quot;ec2_volume_15.jpg&quot; data-origin-width=&quot;1680&quot; data-origin-height=&quot;474&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;디바이스들의 UUID&lt;/figcaption&gt;
&lt;/figure&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;방금 전 백업해 놓았던 설정 파일을 수정한다.&lt;/p&gt;
&lt;pre id=&quot;code_1665538188326&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 설정파일 수정
# vim
sudo vim /etc/fstab
# nano
sudo nano /etc/fstab&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;pre id=&quot;code_1665538316239&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# fstab 포맷
UUID=디바이스UUID /마운트지점 파일시스템 defaults,nofail 0 2
# 사용중인 설정
UUID=디바이스UUID /volume2 ext4 defaults,nofail 0 2&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 새로 마운트 한 볼륨을 언마운트한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 후 마운트가 자동적으로 되는지 테스트한다.&lt;/p&gt;
&lt;pre id=&quot;code_1665538388645&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# umount
sudo umount /volume2

# mount all
sudo mount -a&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;백업한 설정을 다시 롤백한다. ( /etc/fstab )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;끝&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;참고자료&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>EC2</category>
      <category>EC2 volume</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/36</guid>
      <comments>https://namth.tistory.com/36#entry36comment</comments>
      <pubDate>Wed, 12 Oct 2022 13:51:41 +0900</pubDate>
    </item>
    <item>
      <title>[ubuntu]Flask 서버 service 등록</title>
      <link>https://namth.tistory.com/33</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;작성한 Flask 서버를 부팅 시 자동으로 실행하기 위하여 service에 등록하기로 하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Service이란&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;linux에서 서비스란 백그라운드에서 실행되며, 시스템이 시작할 때 동작하는 것을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 주로 시스템과 관련된 프로그램이 서비스에 등록되어있으며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서드파티 서비스들(nginx, mysql)은 사용자가 시스템이 시작할 때 작동 여부를 선택할 수 있다.&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;부팅 시 자동적으로 실행되길 원해 Flask 서버도 service등록하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Service&amp;nbsp; 파일 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스에 등록을 하기위해서 service 파일을 작성해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 서버의 service 파일이다. root 권한으로 작성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/mannamman/aa1bfbfd2fc3543b9c89ce13075039ed.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옵션 전체를 설명하기에는 너무 많아 사용한 옵션들만 작성하였다.&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;service 섹션만은 반드시 필요하여,&lt;br /&gt;나머지 unit, install 섹션은 작성하지 않아도 된다.&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;span style=&quot;color: #006dd7;&quot;&gt;&lt;a href=&quot;https://manpages.ubuntu.com/manpages/focal/man5/systemd.service.5.html&quot;&gt;https://manpages.ubuntu.com/manpages/focal/man5/systemd.service.5.html&lt;/a&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Unit&lt;/b&gt;: 유닛 명세
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Description&lt;/b&gt;: service 설명,&lt;/li&gt;
&lt;li&gt;&lt;b&gt;After&lt;/b&gt;: 특정 서비스가 실행된 후 실행되도록 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service&lt;/b&gt;: 동작
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: simple로 ExecStart에서 호출한 프로세스를 main 프로세스라고 가정하고 실행된다.&lt;br /&gt;현재 실행시키는 프로그램이 메인이므로 simple으로 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User&lt;/b&gt;: 서비스(프로세스)를 실행시키는 유저&lt;br /&gt;현재 EC2 유저로 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;WorkingDirectory&lt;/b&gt;: 서비스가 실행되는 경로&lt;br /&gt;flask 프로젝트 root 디렉토리&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ExecStart&lt;/b&gt;: 서비스 실행 명령어&lt;br /&gt;gunicorn실행을 위해 python 명령어로 설정&lt;br /&gt;사용하고 있는 python의 경로는 which 명령어로 확인 가능하다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Restart&lt;/b&gt;: 예기치 않게 종료되었을 때(에러) 다시 시작하는지 여부&lt;br /&gt;(no, always, on-success, on-failure, on-abnormal, on-abort, on-watchdog)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RestartSec&lt;/b&gt;: 다시 시작 전 대기하는 시간&lt;br /&gt;기본 100ms&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Install&lt;/b&gt;: enable시 사용됨
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;wantedby&lt;/b&gt;: 예제를 보고 multi-user.target을 작성했는데 글을 보니 이해가 되었다.&lt;br /&gt;ubuntu에서는 runlevel이 있는데 보통 서버용도(cui, network, multi-user)로 사용되는 레벨이 3&lt;br /&gt;multi-user.target으로 설정하면 가장 실행환경이 runlevel3과 가깝기에 multi-user.target을 사용했다.&lt;br /&gt;참고 링크: &lt;a href=&quot;https://unix.stackexchange.com/questions/506347/why-do-most-systemd-examples-contain-wantedby-multi-user-target&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://unix.stackexchange.com/questions/506347/why-do-most-systemd-examples-contain-wantedby-multi-user-target&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Service&amp;nbsp; 등록 방법&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;service는 ubuntu 20.04 기준 /usr/lib/systemd/system/ 아래에 서비스 파일을 생성하여서 등록이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;파일을 옮긴 후 system 데몬을 리로드 한다.&lt;br /&gt;systemctl daemon-reload&lt;/li&gt;
&lt;li&gt;리로딩 후 잘 적용되었는지 확인해 본다.&lt;br /&gt;systemctl status yourservice.service&lt;/li&gt;
&lt;li&gt;서비스를 실행시킨다.&lt;br /&gt;systemctl start yourservice.service&lt;/li&gt;
&lt;li&gt;부팅 시 자동적으로 실행되도록 설정한다.&lt;br /&gt;systemctl enable yourservice.service&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Service&amp;nbsp; 삭제 방법&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;우선 서비스를 중단시킨다.&lt;br /&gt;systemctl stop yourservice.service&lt;/li&gt;
&lt;li&gt;부팅 시 시작되는 서비스에서 제외한다.&lt;br /&gt;systemctl disable yourservice.service&lt;/li&gt;
&lt;li&gt;파일들을 삭제한다.&lt;br /&gt;rm /etc/systemd/system/yourservice.service&lt;br /&gt;rm /usr/lib/systemd/system/yourservice.service&lt;/li&gt;
&lt;li&gt;데몬을 리로드 한다.&lt;br /&gt;systemctl daemon-reload&lt;/li&gt;
&lt;/ol&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;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 글&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS EC2 인스턴스에 볼륨을 추가하는 글을 적으려고 한다.&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>Service</category>
      <category>ubuntu</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/33</guid>
      <comments>https://namth.tistory.com/33#entry33comment</comments>
      <pubDate>Fri, 7 Oct 2022 15:09:30 +0900</pubDate>
    </item>
    <item>
      <title>[Flask] Flask 객체 생성시 __name__은 왜 넣을까</title>
      <link>https://namth.tistory.com/32</link>
      <description>&lt;p data-ke-size=&quot;size18&quot; style=&quot;text-align: left;&quot;&gt;Flask 객체를 생성할 때 생각 없이 __name__을 넣는다.&lt;br&gt;다른 글을 쓰다가 __name__을 왜 넣어야 하는지를 몰라서 이번 글을 적으며 조사했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/3fec43dfc3acac7817c0d96705bb2cb7.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;__name__ 이란&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;파이썬으로 코드를 작성하다 보면 __name__이란 bulit-in 변수를 사용할 때가 있다.&lt;br&gt;내 생각으로는 가장 많이 사용할 때는 처음 시작하는(entry point) 코드에서 사용을 할 때가 가장 많지 않나 싶다.&lt;br&gt; &lt;br&gt;python으로 직접 실행 시&lt;br&gt;처음 실행되는 파일의 __name__ 값은 __main__이 되고 나머지 불러온 값들의 __name__ 값은 파일의 이름이 되는 원리를 이용하여서 주로 사용한다.&lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/68958221c5ecccce1db97c766834665f.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;br&gt;그 외에도 blueprint 객체를 생성할 때처럼 사용하는 경우를 많이 보았다.&lt;br&gt;blueprint의 경우 아래와 같이 설명해 놓았다.&lt;br&gt; &lt;br&gt;blueprint에서 __name__이 들어가는 인자의 설명을 보면 보통 __name__을 넣으며&lt;br&gt;이 인자는 root_path를 찾는데 도움을 준다고 한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;
  The name of the blueprint package, usually '__name__'. 
 &lt;br&gt;This helps locate the ``root_path`` for the blueprint. 
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/3ea4811f08f08038eae1c7e022c4fe7f.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;__name__ 을 왜 사용할까&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt;간단한 파일 2개로 테스트를 해보려고 한다.&lt;br&gt;폴더 구조는 아래와 같다.&lt;/p&gt;
&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;name_test/
	main.py
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrap1/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;	wrap1.py&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;각각의 코드는 아래와 같다.&lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/47e33f539684823c8a4d508e90cb3029.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt;스크립트로 실행 시 결과 값을 보면 아래와 같다.&lt;br&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7jmg2/btrNSXHx4t0/Q8QO3j8n5WQOEFby17NY81/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7jmg2/btrNSXHx4t0/Q8QO3j8n5WQOEFby17NY81/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7jmg2/btrNSXHx4t0/Q8QO3j8n5WQOEFby17NY81/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7jmg2%2FbtrNSXHx4t0%2FQ8QO3j8n5WQOEFby17NY81%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;758&quot; height=&quot;114&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt;main파일의 __name__은 자주 사용하는 if 문을 통해서 __main__이 나온다는 것을 알고 있었기에 넘어가고,&lt;br&gt; &lt;br&gt;import 한 모듈(패키지)의 __name__ 의 경우는&lt;br&gt;python을 실행시킨 경로에서 해당 파일까지의 경로와 같고, import 구문에서의 경로를 나타내는 것과도 같다.&lt;br&gt;( ./wrap1/wrap1.py, from wrap1.wrap1 import wrap1fun )&lt;br&gt;__name__이란 것이 root 경로를 기준으로 패키지의 위치를 알려주는 변수 같다.&lt;br&gt; &lt;br&gt;결론적으로 __name__을 사용하는 이유는 리소스, 모듈(패키지)등을 찾기 쉽게 하기 위해서 인 것 같다.&lt;br&gt;스크립트로 직접 실행 시 __name__ 값은 __main__을 받고,&lt;br&gt;__main__에서 import한 파일들(.py)들은 __main__파일에서의 상대 경로의 값을 가지는 것 같다.&lt;br&gt; &lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Flask 객체 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;이제 드디어 글의 목적인 Flask 객체 생성에 대해서 시작하려고 한다.&lt;br&gt;객체 생성하는 것에 앞서 Flask를 실행하는 두 가지 방법에 대해서 알아보려고 한다.&lt;br&gt; &lt;br&gt;코드는 아래와 같이 작성했다.&lt;br&gt;실행은 'python3 app.py'으로 실행하였다.&lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/0b044f502b19d4a3f43565b8302509d3.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;br&gt;실행 시 아래와 같이 출력된다.&lt;br&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnhcX1/btrNRDwopB9/rh9Ilv8kMTEq8EcvQrMERK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnhcX1/btrNRDwopB9/rh9Ilv8kMTEq8EcvQrMERK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnhcX1/btrNRDwopB9/rh9Ilv8kMTEq8EcvQrMERK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnhcX1%2FbtrNRDwopB9%2Frh9Ilv8kMTEq8EcvQrMERK%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;655&quot; height=&quot;169&quot; data-origin-width=&quot;1430&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;출력문을 보게 되면 'app'이란 이름으로 서버가 실행이 되었다는 것을 알 수 있다.&lt;br&gt;이제 __name__값을 보기 위해 요청을 해보자.&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;82&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQP5iu/btrNSXU8gnu/ctbMC2WO8gKWoOW6ww9cI1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQP5iu/btrNSXU8gnu/ctbMC2WO8gKWoOW6ww9cI1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQP5iu/btrNSXU8gnu/ctbMC2WO8gKWoOW6ww9cI1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQP5iu%2FbtrNSXU8gnu%2FctbMC2WO8gKWoOW6ww9cI1%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;696&quot; height=&quot;51&quot; data-origin-width=&quot;1118&quot; data-origin-height=&quot;82&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt;요청의 결과 값을 보면 __name__값이 __main__으로 나와있다.&lt;br&gt;직접 app.py을 실행하였으므로 당연한 결과 같다.&lt;br&gt; &lt;br&gt;약간 다른 시도를 해볼 생각이다.&lt;br&gt;app.py이란 파일 이름 대신 다른 이름을 주면 Serving Flask app 'app' 부분에서 app 대신 다른 이름이 나올 겉 같다.&lt;br&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;372&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2lcAv/btrNPiM7mfJ/hMjMh27J0jjXmKWajR3uYK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2lcAv/btrNPiM7mfJ/hMjMh27J0jjXmKWajR3uYK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2lcAv/btrNPiM7mfJ/hMjMh27J0jjXmKWajR3uYK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2lcAv%2FbtrNPiM7mfJ%2FhMjMh27J0jjXmKWajR3uYK%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;695&quot; height=&quot;177&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;372&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;예상대로 이름이 바뀌어서 출력이 되었다.&lt;br&gt;그런데 바뀌면 안 될 것 같은데 바뀌었다.&lt;br&gt; &lt;br&gt;Flask객체를 생성할 때 우리는 __name__이란 변수를 넣어서 초기화했다.&lt;br&gt;그렇다면 애초에 'app'이나 'flask_server'로 이름이 되어있으면 않된다.&lt;br&gt; &lt;br&gt;이유는 Flask 객체 생성(초기화) 코드를 보면 알 수 있다.&lt;br&gt;소스 링크 auto_find_instance_path: &lt;a href=&quot;https://github.com/pallets/flask/blob/2.2.2/src/flask/app.py&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #006DD7;&quot;&gt;https://github.com/pallets/flask/blob/2.2.2/src/flask/app.py&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br&gt;소스 링크 find_package: &lt;a href=&quot;https://github.com/pallets/flask/blob/main/src/flask/scaffold.py&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #006DD7;&quot;&gt;https://github.com/pallets/flask/blob/main/src/flask/scaffold.py&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br&gt; &lt;br&gt;Flask 객체가 생성될 때 import_name을 이용하여 auto_find_instance_path을 호출하고&lt;br&gt;해당 함수는 find_package함수를 호출하여 경로를 찾는데,&lt;br&gt;_find_package 함수에서 아래와 같은 코드를 찾을 수 있다.&lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/686026ea6c59d31d6c96139c0ef13023.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;코드에서 확인 가능한 것처럼 import_name이 __main__으로 넘어올 시 현재 경로를 반환하는 것을 확인 가능하고,&lt;br&gt;주석에서도 interactive 혹은 main모듈로 초기화 시 이 코드가 실행되는 것을 알려주고 있다.&lt;br&gt; &lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;이것저것 조사해 보니 Flask 객체 생성 시 __name__을 이유를 알 것 같다.&lt;br&gt;애초에 Flask 코드 내부(flask GitHub코드 110번 줄부터 보면 된다.)&lt;br&gt;인자에 대하여 설명이 잘되어있다.&lt;br&gt; &lt;br&gt;첫 번째 인자(import_name)의 리소스와 파일 시스템 때문에 사용된다고 한다.&lt;br&gt;root 경로부터 모듈(파일, 패키지)을 읽고 리소스, 템플릿들을 읽기 편하게 하기 위해서이다.&lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;번외&lt;/b&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;flask run ( gunicorn )&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;Flask 튜토리얼(Quick start)에 나와있는 방법으로, 직접적으로 실행시키지 않는 방법이다.&lt;br&gt; &lt;br&gt;테스트를 위해 아래와 같이 코드를 작성했다.&lt;br&gt;flask run으로 실행하면 5000번 포트로 열려있는 서버가 동작한다.&lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; &lt;script src=&quot;https://gist.github.com/mannamman/0b044f502b19d4a3f43565b8302509d3.js&quot;&gt;&lt;/script&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;br&gt;위 코드에서 주목해야 할 것은 app을 실행시키는 명령어(app.run())이 따로 없다는 것이다.&lt;br&gt;즉 해당 코드가 바로 실행이 되는 게 아니라 import 되어서 실행된다는 것이다.&lt;br&gt;직접 실행시키는 것과 달리 import 되어서 실행되었다면 __name__값은 해당 파일의 경로 값을 가지게 된다.&lt;br&gt; &lt;br&gt;특이한 점은 flask run으로 실행하기 위해서는 파일 이름이 app.py 혹은 wsgi.py여야 한다는 것이다.&lt;br&gt;찾아보니 환경변수 FLASK_APP이 없다면 현재 디렉터리에서 app.py 와 wsgi.py를 찾는다고 한다.&lt;br&gt; &lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;export FLASK_APP &amp;amp;&amp;amp; flask run&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;더욱 신기한 것은 FLASK_APP을 설정하고 실행할 때 발생한다.&lt;br&gt;FLASK_APP에 현재 경로('.')를 넣고 flask run을 사용 시 아래와 같이 에러가 발생한다.&lt;br&gt; &lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1484&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQ9mTK/btrNRQCBDcY/ckI0mDx1d4pJi4ihpofJ51/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQ9mTK/btrNRQCBDcY/ckI0mDx1d4pJi4ihpofJ51/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQ9mTK/btrNRQCBDcY/ckI0mDx1d4pJi4ihpofJ51/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQ9mTK%2FbtrNRQCBDcY%2FckI0mDx1d4pJi4ihpofJ51%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;674&quot; height=&quot;170&quot; data-origin-width=&quot;1484&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;

&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;보면 app 이름이 '.'으로 되어있다.&lt;br&gt;에러 문구를 보면 flask application 혹은 factory가 없다고 나와있다.&lt;br&gt;찾아보면 FLASK_APP에 입력한 경로에 __init__. py으로 파일 이름을 변경하면 잘 실행된다고 한다.&lt;br&gt; &lt;br&gt;번외는 나중에 시간이 되면 따로 글을 쓸 예정이다.&lt;br&gt; &lt;br&gt; &lt;br&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot; style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #9D9D9D;&quot;&gt;# 2022-10-05 수정&lt;/span&gt;&lt;/p&gt;</description>
      <category>기록/궁금증</category>
      <category>FLASK</category>
      <category>Python</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/32</guid>
      <comments>https://namth.tistory.com/32#entry32comment</comments>
      <pubDate>Wed, 5 Oct 2022 16:44:10 +0900</pubDate>
    </item>
    <item>
      <title>주식 뉴스 프로젝트 Flask 서버</title>
      <link>https://namth.tistory.com/30</link>
      <description>&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주식 뉴스 분석 프로젝트 &amp;lt;Flask&amp;gt;&amp;lt;1&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;br /&gt;Flask 주제부터는 저장되어있는 분석 데이터와 해당 날짜의 실제 주식거래금액을 같이 출력하는 웹 서버를 제작할 예정이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;개발환경&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OS: ubuntu 20.04&lt;/li&gt;
&lt;li&gt;언어: python 3.8.10&lt;/li&gt;
&lt;li&gt;python 의존성
&lt;ol style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;yfinance==0.1.74 # 실제 주식 가격을 가져오기 위한 모듈&lt;/li&gt;
&lt;li&gt;Flask==2.2.2 # 웹 서버 프레임워크&lt;/li&gt;
&lt;li&gt;gunicorn==20.1.0 # WSGI&lt;/li&gt;
&lt;li&gt;python-dotenv==0.21.0 # .env 파일 읽기 위해&lt;/li&gt;
&lt;li&gt;pytz==2022.2.1 # KST(대한민국 표준시) 시간대를 불러오기 위해&lt;/li&gt;
&lt;li&gt;pymongo==4.2.0 # mongodb 연결을 위한 모듈&lt;/li&gt;
&lt;li&gt;pyflakes==2.5.0 # 코드 검사용 모듈&lt;/li&gt;
&lt;li&gt;PyJWT==2.4.0 # jwt 토큰을 위한 모듈(현재는 사용하지 않음)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;프로젝트 구조&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&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;root(.): 프로젝트 설명에 관한 파일들이 존재&lt;br /&gt;.gitignore, LICENSE, README.md 존재&lt;/li&gt;
&lt;li&gt;stockserver: 프로젝트 폴더, 사실상 루트 폴더&lt;br /&gt;main.py(실행 파일), .env(환경 변수 파일), requirements.txt(의존성 목록)이 존재
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;stockserver/middleware: 미들웨어를 넣는 폴더&lt;br /&gt;현재는 cors를 헤더를 넣어주는 기능만 존재&lt;/li&gt;
&lt;li&gt;stockserver/my_module: 로직이 길어지는 기능들을 빼서 따로 작성한 모듈들&lt;br /&gt;logger, mongodb, yfin(주식 가격), 날짜 모듈이 존재&lt;/li&gt;
&lt;li&gt;stockserver/pages: blueprint 라우팅 페이지 폴더&lt;br /&gt; /stock/* 에 해당하는 라우팅 페이지만 존재&lt;/li&gt;
&lt;li&gt;stockserver/templates: 렌더링에 필요한 html 파일들&lt;br /&gt;현재는 dayStatistics.html와 stockIndex.html 두 개만 사용 중&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&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;1282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3W7RC/btrNoEORSfR/uQkZJInFxUPDH3fUQmHnf0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3W7RC/btrNoEORSfR/uQkZJInFxUPDH3fUQmHnf0/img.jpg&quot; data-alt=&quot;프로젝트 폴더 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3W7RC/btrNoEORSfR/uQkZJInFxUPDH3fUQmHnf0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3W7RC%2FbtrNoEORSfR%2FuQkZJInFxUPDH3fUQmHnf0%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;222&quot; height=&quot;569&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;1282&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;프로젝트 폴더 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;EndPoint&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;프록시 서버의 stock 경로 아래의 http 요청을 전달받는다.&lt;br /&gt;&lt;br /&gt;현재 유효한 경로는 2개로, 인덱스 페이지와, 결과를 보여주는 페이지 2개이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;/stock/index: 인덱스 페이지를 출력&lt;/li&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;li&gt;가져올 주식의 이름과 기간을 설정 가능함&lt;/li&gt;
&lt;li&gt;현재 버전에서 기간 설정은 시작일을 설정하면 데이터를 POST로 전송&lt;/li&gt;
&lt;li&gt;반환 값은 30일간의 데이터가 반환됨&lt;/li&gt;
&lt;li&gt;/stock/day: 결과를 보여주는 페이지&lt;/li&gt;
&lt;li&gt;POST&lt;/li&gt;
&lt;li&gt;/stock/index 페이지에서 전달받은 데이터를 바탕으로&lt;/li&gt;
&lt;li&gt;저장 결과 및 주식 정보를 html과 함께 반환함&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h3 style=&quot;text-align: left;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 글&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;작성한 flask서버를 service로 등록하는 글을 작성할 예정이다.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;flask server GitHub 주소&lt;br /&gt;&lt;a href=&quot;https://github.com/mannamman/namthplaygroundStockFlask/tree/deploy&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://github.com/mannamman/namthplaygroundStockFlask/tree/deploy&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 2022-10-05 수정&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>FLASK</category>
      <category>Python</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/30</guid>
      <comments>https://namth.tistory.com/30#entry30comment</comments>
      <pubDate>Sun, 2 Oct 2022 17:01:52 +0900</pubDate>
    </item>
    <item>
      <title>[mysql] mysql 삭제시 관련 파일 모두 삭제</title>
      <link>https://namth.tistory.com/29</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;mysql을 삭제 후 다시 설치해서 실행하는데 삭제 전 데이터들이 남아있어서(root 암호)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;해결하기 위해 찾아본 결과를 기록한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;mysql service 정지&lt;/b&gt;&lt;/h3&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;/p&gt;
&lt;pre id=&quot;code_1664425772777&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# service 정지

sudo systemctl stop mysql.service&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;mysql 삭제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 파일까지 같이 삭제되도록 'purge' 옵션을 주어 삭제했다.&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;pre id=&quot;code_1664426085993&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# mysql-server 삭제

sudo apt remove --purge mysql-server

# 의존 패키지 삭제

sudo apt autoremove --purge&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;설정 파일 삭제&lt;/b&gt;&lt;/h3&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;/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;/etc/mysql : 설정 파일이 존재했음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/var/lib/mysql : 데이터가 저장되어 있었음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664426446977&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 남은 폴더 정리

sudo rm -r /var/lib/mysql
sudo rm -r /etc/mysql&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>기록/문제해결기록</category>
      <category>MySQL</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/29</guid>
      <comments>https://namth.tistory.com/29#entry29comment</comments>
      <pubDate>Fri, 30 Sep 2022 15:46:15 +0900</pubDate>
    </item>
    <item>
      <title>AWS EC2 Mysql, MongoDB 설치</title>
      <link>https://namth.tistory.com/28</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주식&amp;nbsp;뉴스&amp;nbsp;분석&amp;nbsp;프로젝트&amp;nbsp;&amp;lt;서버&amp;nbsp;구축&amp;gt;&amp;lt;4&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;프로젝트 개요 및 각 글들의 링크:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a href=&quot;https://namth.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://namth.tistory.com/18&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 글에서는 데이터베이스 설치에 대해서 쓰려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;설치할 데이터 베이스는 Mysql, MongoDB 두 개를 설치하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;DB 버전&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mysql: 8.0.30&lt;/li&gt;
&lt;li&gt;mongo: 5.0.9&lt;/li&gt;
&lt;/ul&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;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;MySql&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MySql 설치&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지 매니저(apt)를 사용할 것이므로, 매니저를 업데이트해준다.&lt;/p&gt;
&lt;pre id=&quot;code_1664407711894&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 패키지 매니저 업데이트
sudo apt update&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mysql 서버를 설치를 할 예정이므로, 'mysql-server'을 설치해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 버전의 mysql 서버를 설치 시 아래의 명령어로 치면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664407818125&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# mysql-server 설치
sudo apt install mysql-server

# 특정 버전 mysql-server 설치
sudo apt install mysql-server=8.0.x

# 내가 서버에 설치한 mysql-server
sudo apt install mysql-server=8.0.30-0ubuntu0.20.04.2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MySql 인증정보 세팅&lt;/b&gt;&lt;/h3&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664408132629&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 보안 세팅
sudo mysql_secure_installation&lt;/code&gt;&lt;/pre&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;/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;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;암호 검증 컴포넌트를 추가할 것인가?&lt;br /&gt;보안상 좋아 보이므로(y)&lt;/li&gt;
&lt;li&gt;암호 강도는 얼마나 강하게 할 것인가?&lt;br /&gt;보안상 강한 게 좋으므로(strong, 2)&lt;/li&gt;
&lt;li&gt;새로운 root 계정 암호를 입력&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_1.jpg&quot; data-origin-width=&quot;2814&quot; data-origin-height=&quot;1026&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRWOU7/btrNhCSLSgV/U3admkDDezzs6GLetGblGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRWOU7/btrNhCSLSgV/U3admkDDezzs6GLetGblGK/img.jpg&quot; data-alt=&quot;secure_installation.1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRWOU7/btrNhCSLSgV/U3admkDDezzs6GLetGblGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRWOU7%2FbtrNhCSLSgV%2FU3admkDDezzs6GLetGblGK%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;2814&quot; height=&quot;1026&quot; data-filename=&quot;mysql_secure_setting_1.jpg&quot; data-origin-width=&quot;2814&quot; data-origin-height=&quot;1026&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;secure_installation.1&lt;/figcaption&gt;
&lt;/figure&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;/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;secure_installation에서 나가는 방법은 'y/n' 입력을 물어보는 단계에서 'ctrl^c'을 눌러주면 된다.&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;해결책은 mysql에 들어가 직접 root 계정의 암호를 변경하는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;root 권한으로 mysql 서버에 접속 후 ALTER 명령어로 root 계정의 비밀번호를 변경한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664410165726&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# mysql 서버 접속
sudo mysql&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1664410207372&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# root 계정 암호 변경
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '암호';&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_2.jpg&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnmo7r/btrNhSgMSsR/jK9EjTtNhpnoKVhtmk6y11/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnmo7r/btrNhSgMSsR/jK9EjTtNhpnoKVhtmk6y11/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnmo7r/btrNhSgMSsR/jK9EjTtNhpnoKVhtmk6y11/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdnmo7r%2FbtrNhSgMSsR%2FjK9EjTtNhpnoKVhtmk6y11%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;644&quot; height=&quot;247&quot; data-filename=&quot;mysql_secure_setting_2.jpg&quot; data-origin-width=&quot;1392&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비밀번호가 변경되었다면(Query Ok) 이제 다시 secure_installation을 실행해 남은 보안설정을 진행한다.&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;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;방금 설정한 root 계정의 암호를 입력한다.&lt;/li&gt;
&lt;li&gt;root 계정의 암호를 변경하겠는가?&lt;br /&gt;방금 설정하였으므로(y)&lt;/li&gt;
&lt;li&gt;익명 유저를 제거하겠는가?&lt;br /&gt;보안에 좋을 것이 없어 보여(y)&lt;/li&gt;
&lt;li&gt;root 계정으로 외부 접속이 불가능하게 할 것인가?&lt;br /&gt;보안상의 이유로 root 권한은 외부 접속이 안되도록 함(y)&lt;/li&gt;
&lt;li&gt;test 데이터베이스를 삭제하겠는가?&lt;br /&gt;필요 없어 보이므로 삭제(y)&lt;/li&gt;
&lt;li&gt;권한 테이블을 reload 하겠는가?&lt;br /&gt;최신 상태로 업데이트하는 것이므로 (y)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_3.jpg&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;1774&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bA56kj/btrNhOextbl/G8BowNjZNMNiVbd82heIvK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bA56kj/btrNhOextbl/G8BowNjZNMNiVbd82heIvK/img.jpg&quot; data-alt=&quot;secure_installation.2&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bA56kj/btrNhOextbl/G8BowNjZNMNiVbd82heIvK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbA56kj%2FbtrNhOextbl%2FG8BowNjZNMNiVbd82heIvK%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;750&quot; height=&quot;1092&quot; data-filename=&quot;mysql_secure_setting_3.jpg&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;1774&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;secure_installation.2&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MySql 테스트&lt;/b&gt;&lt;/h3&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;설정한 root 계정으로 로그인을 할 것인데, 전과는 달리 root 권한으로 실행하지 않으므로, 유저와 암호를 추가했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664410985403&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# mysql 접속, root 계정
mysql -u root -p&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_4.jpg&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GEFUb/btrNhdFUN6j/fzW8kbT8hVM4pu8KmiWkZk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GEFUb/btrNhdFUN6j/fzW8kbT8hVM4pu8KmiWkZk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GEFUb/btrNhdFUN6j/fzW8kbT8hVM4pu8KmiWkZk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGEFUb%2FbtrNhdFUN6j%2FfzW8kbT8hVM4pu8KmiWkZk%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;671&quot; height=&quot;299&quot; data-filename=&quot;mysql_secure_setting_4.jpg&quot; data-origin-width=&quot;1136&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MySql 유저 추가&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보안설정(secure_installation)에서 root 계정으로는 외부 접근이 되지 않도록 설정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부에서 DB에 접근하여서 데이터를 쓰기 위해서는 새로운 계정이 필요하므로 계정을 생성했다.&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;/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;/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;pre id=&quot;code_1664411793927&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# create user
create user '유저'@'%' IDENTIFIED BY '암호';&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_5.jpg&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v0Wvg/btrNcAgdR9X/vkppkDkVSiG5hYq0DKSnKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v0Wvg/btrNcAgdR9X/vkppkDkVSiG5hYq0DKSnKK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v0Wvg/btrNcAgdR9X/vkppkDkVSiG5hYq0DKSnKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv0Wvg%2FbtrNcAgdR9X%2FvkppkDkVSiG5hYq0DKSnKK%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;892&quot; height=&quot;80&quot; data-filename=&quot;mysql_secure_setting_5.jpg&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;그 후 특정 테이블에서만 읽고, 쓰기가 가능하게 권한을 부여한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664411858526&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 권한 부여, grant
GRANT SELECT, INSERT ON 테이블 TO '유저'@'%';&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;mysql_secure_setting_6.jpg&quot; data-origin-width=&quot;862&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMPHWJ/btrNk9uPNvF/j9vfkzdtlBjHkVcUuSkKz0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMPHWJ/btrNk9uPNvF/j9vfkzdtlBjHkVcUuSkKz0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMPHWJ/btrNk9uPNvF/j9vfkzdtlBjHkVcUuSkKz0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMPHWJ%2FbtrNk9uPNvF%2Fj9vfkzdtlBjHkVcUuSkKz0%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;862&quot; height=&quot;80&quot; data-filename=&quot;mysql_secure_setting_6.jpg&quot; data-origin-width=&quot;862&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;MongoDB&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MongoDB 설치&lt;/b&gt;&lt;/h3&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition&lt;/a&gt;&lt;/span&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;패키지 매니저에 mongodb 퍼블릭 키를 추가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'OK'가 나왔다면 제대로 추가가 된 것이고, 아니라면 공식 문서를 참고하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1664412412663&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 버전 5.0.9를 사용중이므로 5.0.asc를 사용
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mongodb 버전 리스트 파일을 생성한다.&lt;/p&gt;
&lt;pre id=&quot;code_1664412549861&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 5.0.9 버전을 사용중이므로 6.0을 5.0으로 변경했다.
echo &quot;deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse&quot; | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;pre id=&quot;code_1664412604439&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# update
sudo apt-get update&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;패키지 매니저를 이용해 mongodb를 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664412686207&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 버전 지정없이
sudo apt-get install -y mongodb-org

# 버전 지정
sudo apt-get install -y mongodb-org=5.0.9 mongodb-org-database=5.0.9 mongodb-org-server=5.0.9 mongodb-mongosh=1.5.0 mongodb-org-mongos=5.0.9 mongodb-org-tools=5.0.9&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MongoDB 설치확인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치된 mongodb를 실행한다.&lt;/p&gt;
&lt;pre id=&quot;code_1664412890172&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# mongodb 실행
sudo systemctl start mongod

# mongodb 상태확인
systemctl status mongod&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접속 툴로 mongodb에 접속해본다.&lt;/p&gt;
&lt;pre id=&quot;code_1664413013333&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 인증 없이
mongosh

# 유저로 접속
mongosh -u 유저이름 -p 암호&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;MongoDB 유저 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mysql과 마찬가지로 유저를 생성한다.&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;서버 내부에서 사용할 admin 유저와, 외부에서 접속하는 유저를 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;passwordPrompt의 경우 입력 문구가 나오며 직접 입력하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1664413497728&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 일반 유저 생성
db.createUser(
  {
    user: &quot;blogUser&quot;,
    pwd:  passwordPrompt(),
    roles: [ { role: &quot;readWrite&quot;, db: &quot;blogdb&quot; }]
  }
)

# admin유저 생성
db.createUser(
  {
    user: &quot;blogAdmin&quot;,
    pwd:  passwordPrompt(),
    roles: [ { role: 'root', db: 'admin' } ]
  }
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;EC2&amp;nbsp; 인바운드 규칙 수정&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mysql과 mongodb가 외부에서도 접근이 가능하도록 ec2 인스턴스의 인바운드 규칙을 수정해야 한다.&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;mysql의 기본 포트와 mongodb의 기본 포트를 인바운드 규칙에 추가하면 된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mysql: 3306&lt;/li&gt;
&lt;li&gt;mongodb: 27017&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws console -&amp;gt; ec2 서비스 -&amp;gt; 수정할 인스턴스(인스턴스 ID) -&amp;gt; 보안 -&amp;gt; 보안 그룹 -&amp;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;1. 수정할 인스턴스(인스턴스 ID)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;db_port_1.jpg&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdiE8G/btrNhDjVtKE/jevtTsnXWZ64szaKLdhv7K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdiE8G/btrNhDjVtKE/jevtTsnXWZ64szaKLdhv7K/img.jpg&quot; data-alt=&quot;변경할 인스턴스 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdiE8G/btrNhDjVtKE/jevtTsnXWZ64szaKLdhv7K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdiE8G%2FbtrNhDjVtKE%2FjevtTsnXWZ64szaKLdhv7K%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;1408&quot; height=&quot;292&quot; data-filename=&quot;db_port_1.jpg&quot; data-origin-width=&quot;1408&quot; data-origin-height=&quot;292&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;변경할 인스턴스 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2.&lt;span&gt;&amp;nbsp;보안&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;db_port_2.jpg&quot; data-origin-width=&quot;3468&quot; data-origin-height=&quot;964&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6dP9f/btrNi5UiuFf/zgkpvKKQLzMKyasp26A381/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6dP9f/btrNi5UiuFf/zgkpvKKQLzMKyasp26A381/img.jpg&quot; data-alt=&quot;보안 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6dP9f/btrNi5UiuFf/zgkpvKKQLzMKyasp26A381/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6dP9f%2FbtrNi5UiuFf%2FzgkpvKKQLzMKyasp26A381%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;3468&quot; height=&quot;964&quot; data-filename=&quot;db_port_2.jpg&quot; data-origin-width=&quot;3468&quot; data-origin-height=&quot;964&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;보안 선택&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 보안 그룹 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;db_port_3.jpg&quot; data-origin-width=&quot;3458&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cn10JO/btrNkBZlWZU/qfJ94wQuxKQxt8bciMuv2k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cn10JO/btrNkBZlWZU/qfJ94wQuxKQxt8bciMuv2k/img.jpg&quot; data-alt=&quot;보안 그룹 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cn10JO/btrNkBZlWZU/qfJ94wQuxKQxt8bciMuv2k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcn10JO%2FbtrNkBZlWZU%2FqfJ94wQuxKQxt8bciMuv2k%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;3458&quot; height=&quot;308&quot; data-filename=&quot;db_port_3.jpg&quot; data-origin-width=&quot;3458&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;보안 그룹 선택&lt;/figcaption&gt;
&lt;/figure&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;4. 인바운드 규칙 편집 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;db_port_4.jpg&quot; data-origin-width=&quot;3430&quot; data-origin-height=&quot;966&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR9iFI/btrNlatMr4i/kS0dmTgZoVdNKS4j37VQdk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR9iFI/btrNlatMr4i/kS0dmTgZoVdNKS4j37VQdk/img.jpg&quot; data-alt=&quot;인바운드 규칙 편집 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR9iFI/btrNlatMr4i/kS0dmTgZoVdNKS4j37VQdk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR9iFI%2FbtrNlatMr4i%2FkS0dmTgZoVdNKS4j37VQdk%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;3430&quot; height=&quot;966&quot; data-filename=&quot;db_port_4.jpg&quot; data-origin-width=&quot;3430&quot; data-origin-height=&quot;966&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인바운드 규칙 편집 선택&lt;/figcaption&gt;
&lt;/figure&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;5. 지정된 포트로 인바운드 규칙 편집&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;db_port_5.jpg&quot; data-origin-width=&quot;3804&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Usi4a/btrNlQBXRQu/SXfkpkb4unpgCKNKz4Xckk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Usi4a/btrNlQBXRQu/SXfkpkb4unpgCKNKz4Xckk/img.jpg&quot; data-alt=&quot;인바운드 규칙 편집&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Usi4a/btrNlQBXRQu/SXfkpkb4unpgCKNKz4Xckk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUsi4a%2FbtrNlQBXRQu%2FSXfkpkb4unpgCKNKz4Xckk%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;3804&quot; height=&quot;468&quot; data-filename=&quot;db_port_5.jpg&quot; data-origin-width=&quot;3804&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인바운드 규칙 편집&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 글&lt;/b&gt;&lt;/h3&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 2022.09.30 수정&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>AWS</category>
      <category>EC2</category>
      <category>MongoDB</category>
      <category>MySQL</category>
      <category>port</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/28</guid>
      <comments>https://namth.tistory.com/28#entry28comment</comments>
      <pubDate>Fri, 30 Sep 2022 13:09:14 +0900</pubDate>
    </item>
    <item>
      <title>AWS EC2 nginx + letsencrypt</title>
      <link>https://namth.tistory.com/27</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주식&amp;nbsp;뉴스&amp;nbsp;분석&amp;nbsp;프로젝트&amp;nbsp;&amp;lt;서버&amp;nbsp;구축&amp;gt;&amp;lt;3&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;프로젝트 개요 및 각 글들의 링크:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://namth.tistory.com/18&quot;&gt;https://namth.tistory.com/18&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 글에는 고정된 IP와 도메인을 구매, 연결하였으니 이제 ssl을 설정하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;서버는 nginx을 사용하였고, ssl 인증서 발급은 letsencrypt을 사용하였다.(nginx + letsencrypt)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;NGINX&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Nginx 설치&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ssl인증서를 발급 전 nginx을 설치한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664326435548&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 패키지 리스트 업데이트
sudo apt update

# nginx 설치
sudo apt install nginx

# nginx 상태 확인
systemctl status nginx&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Nginx 리버스 프록시 설정&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구입한 도메인의 특정 경로로 http 요청이 올 때, 미리 생성한 주식 뉴스 서버에게 요청을 전달하도록 Nginx을 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 서버 블록 작성&lt;/b&gt;&lt;/h4&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;&amp;nbsp;&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;script src=&quot;https://gist.github.com/mannamman/fccb276df2275b178cfc7f798dee58b6.js&quot;&gt;&lt;/script&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 서버 블록 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 파일을 /etc/nginx/sites-available 아래에 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;( /etc/nginx/sites-available/mysite.conf )&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 style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;/etc/nginx/sites-enabled으로 심볼릭 링크를 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #24292f;&quot;&gt;&lt;span style=&quot;color: #24292f;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;( &lt;span style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;/etc/nginx/sites-enabled/mysite.conf &lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1664327780540&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 심볼릭 링크 생성
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 서버 블록 적용&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc/nginx/nginx.conf 파일을 수정한다.&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;생성한 서버 블록 설정 파일을 nginx 설정에서 include를 사용해서 로드한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://gist.github.com/mannamman/a489e97574a8209c725320b8d617d65a.js&quot;&gt;&lt;/script&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 테스트&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 적용되었는지 확인을 위해 nginx를 종료 후 다시 동작시키기보다는 'nginx -t'을 사용해서 검증을 진행한다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;reverse_proxy_1.jpg&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S89Rt/btrNdpruDIA/LW2eves0TDZg0A9AEmUf2K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S89Rt/btrNdpruDIA/LW2eves0TDZg0A9AEmUf2K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S89Rt/btrNdpruDIA/LW2eves0TDZg0A9AEmUf2K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS89Rt%2FbtrNdpruDIA%2FLW2eves0TDZg0A9AEmUf2K%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;938&quot; height=&quot;110&quot; data-filename=&quot;reverse_proxy_1.jpg&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;110&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 설정을 적용시키면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1664328157836&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 설정파일 load
sudo systemctl reload nginx.service&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정한 url로 접속을 하면 아래와 같이 나온다면 잘 설정이 된 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;reverse_proxy_2.jpg&quot; data-origin-width=&quot;1164&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bK1BK0/btrM6M2B3rJ/9K2w2oaFjDmLDIYU4OgZYK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bK1BK0/btrM6M2B3rJ/9K2w2oaFjDmLDIYU4OgZYK/img.jpg&quot; data-alt=&quot;nginx index&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bK1BK0/btrM6M2B3rJ/9K2w2oaFjDmLDIYU4OgZYK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK1BK0%2FbtrM6M2B3rJ%2F9K2w2oaFjDmLDIYU4OgZYK%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;688&quot; height=&quot;293&quot; data-filename=&quot;reverse_proxy_2.jpg&quot; data-origin-width=&quot;1164&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;nginx index&lt;/figcaption&gt;
&lt;/figure&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;&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;SSL&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;1. letsencrypt 설치&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;letsencrypt설치를 위해 저장소를 추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664329083314&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 저장소 추가
sudo apt-add-repository -r ppa:certbot/certbot&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664329132424&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# letsencrypt 설치
sudo apt install python-certbot-nginx&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;2. letsencrypt 실행&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #24292f;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;letsencrypt를 nginx와 연동해서 실행시키기 위해서 아래와 같이 입력을 한다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664329314621&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# --nginx: nginx와 같이 사용
# --email: 사용자 이메일
# -d: 적용시킬 도메인

sudo certbot --nginx --email example@example.com -d www.domain.com&lt;/code&gt;&lt;/pre&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;약관 동의: 동의해야지 사용 가능하므로 y 선택&lt;/li&gt;
&lt;li&gt;이메일 사용 여부: 개인에 따라서 선택&lt;/li&gt;
&lt;li&gt;Http 요청 리다이렉트: 개인에 따라서 선택&lt;br /&gt;http -&amp;gt; https: 리다이렉트 없음: 기존 서버 설정에 변화가 없으며, 해당 도메인으로 접근 시 Https로만 접근이 가능해진다.&lt;br /&gt;&lt;span&gt;http -&amp;gt; https: 리다이렉트 설정:&lt;span&gt; 기존 서버 설정에 변화를 주며, http 요청을 https으로 리다이렉트 하게 된다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;인증 유효기간 확인: 아마도 90일로 유효기간을 알려줄 것이다.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설정 이미지 및 설명 링크&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.sunny-son.space/AWS/HTTPS%20%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://www.sunny-son.space/AWS/HTTPS%20%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #24292f;&quot;&gt;3. 테스트&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx테스트처럼 해당 사이트에 접근을 해본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전에는 http로 설정되어 있어서 경고가 있었다면&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;reverse_proxy_5.jpg&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;430&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WGbcK/btrNck5wkX1/tQ3JO2gcw0SxQrRv64XKA0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WGbcK/btrNck5wkX1/tQ3JO2gcw0SxQrRv64XKA0/img.jpg&quot; data-alt=&quot;http&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WGbcK/btrNck5wkX1/tQ3JO2gcw0SxQrRv64XKA0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWGbcK%2FbtrNck5wkX1%2FtQ3JO2gcw0SxQrRv64XKA0%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;624&quot; height=&quot;430&quot; data-filename=&quot;reverse_proxy_5.jpg&quot; data-origin-width=&quot;624&quot; data-origin-height=&quot;430&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;http&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;reverse_proxy_4.jpg&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DlPuG/btrNbZnkt7w/uGejNwlpRipN1uxkCykYT1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DlPuG/btrNbZnkt7w/uGejNwlpRipN1uxkCykYT1/img.jpg&quot; data-alt=&quot;https&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DlPuG/btrNbZnkt7w/uGejNwlpRipN1uxkCykYT1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDlPuG%2FbtrNbZnkt7w%2FuGejNwlpRipN1uxkCykYT1%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;636&quot; height=&quot;256&quot; data-filename=&quot;reverse_proxy_4.jpg&quot; data-origin-width=&quot;636&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https&lt;/figcaption&gt;
&lt;/figure&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;style8&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #24292f;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;다음 글&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #24292f;&quot;&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;데이터 베이스들을 설치 및 설정하는 글을 작성할 예정이다.&lt;/span&gt;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 2022.09.30 수정&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>HTTPS</category>
      <category>letsencrypt</category>
      <category>nginx</category>
      <category>reverse proxy</category>
      <category>SSL</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/27</guid>
      <comments>https://namth.tistory.com/27#entry27comment</comments>
      <pubDate>Thu, 29 Sep 2022 10:54:13 +0900</pubDate>
    </item>
    <item>
      <title>AWS EC2 IP고정(탄력적IP) 및 도메인 등록 및 연결</title>
      <link>https://namth.tistory.com/26</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주식&amp;nbsp;뉴스&amp;nbsp;분석&amp;nbsp;프로젝트&amp;nbsp;&amp;lt;서버&amp;nbsp;구축&amp;gt;&amp;lt;2&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span&gt;프로젝트 개요 및 각 글들의 링크:&lt;span style=&quot;color: #006dd7;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://namth.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://namth.tistory.com/18&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이번 글에서는 생성된 EC2 인스턴스에게 고정된 IP을 부여하고, 해당 IP를 통해 도메인을 등록하는 방법을 적으려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;생성된 2개의 인스턴스 중 프록시와 DB서버 역할을 하는 서버에게만 해당 내용을 적용할 예정이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IP와 DNS등록은 aws에서 진행했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;IP: aws 탄력적 IP&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;DNS: aws Route53&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;IP 고정(탄력적 IP)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 탄력적 IP 할당&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws console -&amp;gt; EC2 서비스 -&amp;gt; 네트워크 및 보안 -&amp;gt; 탄력적 IP로 들어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_1.jpg&quot; data-origin-width=&quot;478&quot; data-origin-height=&quot;1772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQm190/btrM8H6zF4K/fnbz4RloDuXMkvlAImjZK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQm190/btrM8H6zF4K/fnbz4RloDuXMkvlAImjZK1/img.jpg&quot; data-alt=&quot;EC2 서비스 사이드메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQm190/btrM8H6zF4K/fnbz4RloDuXMkvlAImjZK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQm190%2FbtrM8H6zF4K%2Ffnbz4RloDuXMkvlAImjZK1%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;149&quot; height=&quot;552&quot; data-filename=&quot;fixed_ip_1.jpg&quot; data-origin-width=&quot;478&quot; data-origin-height=&quot;1772&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;EC2 서비스 사이드메뉴&lt;/figcaption&gt;
&lt;/figure&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;탄력적 IP화면에서 탄력적 IP 할당 버튼을 누른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_2.jpg&quot; data-origin-width=&quot;3568&quot; data-origin-height=&quot;290&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cN06PQ/btrM99uYQo6/cNdU9VlcKOh92fe4nd72w1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cN06PQ/btrM99uYQo6/cNdU9VlcKOh92fe4nd72w1/img.jpg&quot; data-alt=&quot;탄력적 IP 리스트 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cN06PQ/btrM99uYQo6/cNdU9VlcKOh92fe4nd72w1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcN06PQ%2FbtrM99uYQo6%2FcNdU9VlcKOh92fe4nd72w1%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;1425&quot; height=&quot;116&quot; data-filename=&quot;fixed_ip_2.jpg&quot; data-origin-width=&quot;3568&quot; data-origin-height=&quot;290&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;탄력적 IP 리스트 화면&lt;/figcaption&gt;
&lt;/figure&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;/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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_3.jpg&quot; data-origin-width=&quot;1632&quot; data-origin-height=&quot;1684&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHYfNt/btrM4RJRluJ/XrZtW8t9MyBvpUQtPvKdLk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHYfNt/btrM4RJRluJ/XrZtW8t9MyBvpUQtPvKdLk/img.jpg&quot; data-alt=&quot;탄럭적 IP 설정 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHYfNt/btrM4RJRluJ/XrZtW8t9MyBvpUQtPvKdLk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHYfNt%2FbtrM4RJRluJ%2FXrZtW8t9MyBvpUQtPvKdLk%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;540&quot; height=&quot;557&quot; data-filename=&quot;fixed_ip_3.jpg&quot; data-origin-width=&quot;1632&quot; data-origin-height=&quot;1684&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;탄럭적 IP 설정 화면&lt;/figcaption&gt;
&lt;/figure&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;이전 화면으로 넘어오게 되며, 할당이 된 IP를 확인이 가능해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(아래 할당된 IP는 작성 후 바로 할당이 해제되었습니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_4.jpg&quot; data-origin-width=&quot;3402&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yhPWT/btrM7jyAlAp/kSOLWV2y1Kp9pSA2dzT9W0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yhPWT/btrM7jyAlAp/kSOLWV2y1Kp9pSA2dzT9W0/img.jpg&quot; data-alt=&quot;할당된 탄력적 IP&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yhPWT/btrM7jyAlAp/kSOLWV2y1Kp9pSA2dzT9W0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyhPWT%2FbtrM7jyAlAp%2FkSOLWV2y1Kp9pSA2dzT9W0%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;3402&quot; height=&quot;356&quot; data-filename=&quot;fixed_ip_4.jpg&quot; data-origin-width=&quot;3402&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;할당된 탄력적 IP&lt;/figcaption&gt;
&lt;/figure&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;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 탄력적 IP와 인스턴스 연결&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 할당받은 IP를 인스턴스에 연결해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;할당할 IP의 체크박스를 선택하고 우측 위 작업을 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작업 목록에서 '탄력적 IP 주소 연결' 작업을 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_5.jpg&quot; data-origin-width=&quot;3564&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSnd0U/btrM8Ji0LQM/STTJd4BM9I9Q3dNT99e1Ok/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSnd0U/btrM8Ji0LQM/STTJd4BM9I9Q3dNT99e1Ok/img.jpg&quot; data-alt=&quot;탄력적 IP 작업 목록&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSnd0U/btrM8Ji0LQM/STTJd4BM9I9Q3dNT99e1Ok/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSnd0U%2FbtrM8Ji0LQM%2FSTTJd4BM9I9Q3dNT99e1Ok%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;3564&quot; height=&quot;426&quot; data-filename=&quot;fixed_ip_5.jpg&quot; data-origin-width=&quot;3564&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;탄력적 IP 작업 목록&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인스턴스와 IP사이에 연결을 설정하는 페이지가 나온다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_6.jpg&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;1410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beq0P8/btrM7oGFdrq/JmsbhLFKnxXuuJkar5Cl71/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beq0P8/btrM7oGFdrq/JmsbhLFKnxXuuJkar5Cl71/img.jpg&quot; data-alt=&quot;인스턴스-탄력적 IP 연결&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beq0P8/btrM7oGFdrq/JmsbhLFKnxXuuJkar5Cl71/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbeq0P8%2FbtrM7oGFdrq%2FJmsbhLFKnxXuuJkar5Cl71%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;523&quot; height=&quot;437&quot; data-filename=&quot;fixed_ip_6.jpg&quot; data-origin-width=&quot;1688&quot; data-origin-height=&quot;1410&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴스-탄력적 IP 연결&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 고정된 IP를 가진 인스턴스를 가지게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;fixed_ip_7.jpg&quot; data-origin-width=&quot;3394&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CK5yw/btrM6YasfZT/mErMChenUNtOKBkPFpkyxK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CK5yw/btrM6YasfZT/mErMChenUNtOKBkPFpkyxK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CK5yw/btrM6YasfZT/mErMChenUNtOKBkPFpkyxK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCK5yw%2FbtrM6YasfZT%2FmErMChenUNtOKBkPFpkyxK%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;3394&quot; height=&quot;378&quot; data-filename=&quot;fixed_ip_7.jpg&quot; data-origin-width=&quot;3394&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;&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;DNS 등록(도메인)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포할 사이트를 DNS를 등록하지 않는다면, 접근성이 떨어진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(도메인 o: www.example.com,&amp;nbsp;&amp;nbsp; 도메인 x: 123.456.789.123)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. DNS 생성 페이지 진입&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DNS를 등록하기 위해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;aws console -&amp;gt; route53 서비스로 들어간다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_1.jpg&quot; data-origin-width=&quot;2188&quot; data-origin-height=&quot;830&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GJm7r/btrM8Ka9C3K/fCnp2BIAcK06c5WpkydgKk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GJm7r/btrM8Ka9C3K/fCnp2BIAcK06c5WpkydgKk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GJm7r/btrM8Ka9C3K/fCnp2BIAcK06c5WpkydgKk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGJm7r%2FbtrM8Ka9C3K%2FfCnp2BIAcK06c5WpkydgKk%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;678&quot; height=&quot;257&quot; data-filename=&quot;set_dns_1.jpg&quot; data-origin-width=&quot;2188&quot; data-origin-height=&quot;830&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_2.jpg&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;1562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KekCc/btrM7nHJtzS/oNo66sNQF4jdNaCaS0TLpK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KekCc/btrM7nHJtzS/oNo66sNQF4jdNaCaS0TLpK/img.jpg&quot; data-alt=&quot;route53 사이드 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KekCc/btrM7nHJtzS/oNo66sNQF4jdNaCaS0TLpK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKekCc%2FbtrM7nHJtzS%2FoNo66sNQF4jdNaCaS0TLpK%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;213&quot; height=&quot;598&quot; data-filename=&quot;set_dns_2.jpg&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;1562&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;route53 사이드 메뉴&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_3.jpg&quot; data-origin-width=&quot;3632&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JaqGP/btrM6LI903O/yFg7t9ZEjSjYZ59uPJ1bI1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JaqGP/btrM6LI903O/yFg7t9ZEjSjYZ59uPJ1bI1/img.jpg&quot; data-alt=&quot;도메인 등록버튼(도메인 리스트 화면)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JaqGP/btrM6LI903O/yFg7t9ZEjSjYZ59uPJ1bI1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJaqGP%2FbtrM6LI903O%2FyFg7t9ZEjSjYZ59uPJ1bI1%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;3632&quot; height=&quot;400&quot; data-filename=&quot;set_dns_3.jpg&quot; data-origin-width=&quot;3632&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;도메인 등록버튼(도메인 리스트 화면)&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 도메인 검색&lt;/b&gt;&lt;/h4&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;/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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_4.jpg&quot; data-origin-width=&quot;3692&quot; data-origin-height=&quot;1786&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S5aAB/btrM99hrSEZ/UfjflA9KgpTKP7Ks5gtzK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S5aAB/btrM99hrSEZ/UfjflA9KgpTKP7Ks5gtzK1/img.jpg&quot; data-alt=&quot;원하는 도메인 검색&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S5aAB/btrM99hrSEZ/UfjflA9KgpTKP7Ks5gtzK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS5aAB%2FbtrM99hrSEZ%2FUfjflA9KgpTKP7Ks5gtzK1%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;798&quot; height=&quot;386&quot; data-filename=&quot;set_dns_4.jpg&quot; data-origin-width=&quot;3692&quot; data-origin-height=&quot;1786&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원하는 도메인 검색&lt;/figcaption&gt;
&lt;/figure&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;style2&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 도메인 구매자 연락처 설정 및 도메인 기간 설정&lt;/b&gt;&lt;/h4&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;/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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;등록, 관리, 기술 연락처가 모두 같음: 개인 프로젝트이므로 당연히 같음(예)&lt;/li&gt;
&lt;li&gt;연락처 유형: 개인(개인, 회사, 공공단체, 연결 4가지 선택지가 존재)&lt;/li&gt;
&lt;li&gt;이름: 영문 이름(성 제외)&lt;/li&gt;
&lt;li&gt;성: 영문 성&lt;/li&gt;
&lt;li&gt;조직: 개인으로 되어있다면 해당 없음으로 처리됨&lt;/li&gt;
&lt;li&gt;이메일: 도메인과 관련된 정보를 받을 이메일&lt;/li&gt;
&lt;li&gt;전화번호: 핸드폰 번호 입력, &lt;br /&gt;앞칸에는 국가코드 입력, 뒤에는 맨 앞 0을 뺀 번호 입력&lt;br /&gt;한국의 경우: 010-1234-5678 -&amp;gt; (+82 1012345678)&lt;/li&gt;
&lt;li&gt;주소: 영문 주소&lt;br /&gt;변환 사이트(&lt;a href=&quot;https://www.jusoen.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;https://www.jusoen.com/&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;주소 2: 보통 방 호수(101호)&lt;/li&gt;
&lt;li&gt;국가: 설정할 국가&lt;/li&gt;
&lt;li&gt;구/군/시: 본인이 살고 있는 행적구역의 영어 이름&lt;/li&gt;
&lt;li&gt;우편번호: 주소의 우편번호 입력&lt;br /&gt;찾는 사이트(&lt;a href=&quot;https://www.epost.go.kr/search.RetrieveIntegrationNewZipCdList.comm&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;https://www.epost.go.kr/search.RetrieveIntegrationNewZipCdList.comm&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_5.jpg&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;1732&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csuroI/btrM8IxESG2/Jff4hwwdlEA6OnVYoLlZIK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csuroI/btrM8IxESG2/Jff4hwwdlEA6OnVYoLlZIK/img.jpg&quot; data-alt=&quot;도메인 연락처 정보&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csuroI/btrM8IxESG2/Jff4hwwdlEA6OnVYoLlZIK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsuroI%2FbtrM8IxESG2%2FJff4hwwdlEA6OnVYoLlZIK%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;486&quot; height=&quot;892&quot; data-filename=&quot;set_dns_5.jpg&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;1732&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;도메인 연락처 정보&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정보를 다 넣고 우측에 도메인을 사용할 기간을 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1년 ~ 10년 설정 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_6.jpg&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;1632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vmvIE/btrM6MONFIU/CezUk5YEHuX0QcQsrkrk70/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vmvIE/btrM6MONFIU/CezUk5YEHuX0QcQsrkrk70/img.jpg&quot; data-alt=&quot;도메인 기간 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vmvIE/btrM6MONFIU/CezUk5YEHuX0QcQsrkrk70/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvmvIE%2FbtrM6MONFIU%2FCezUk5YEHuX0QcQsrkrk70%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;163&quot; height=&quot;442&quot; data-filename=&quot;set_dns_6.jpg&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;1632&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;도메인 기간 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 도메인 옵션 확인 및 주문 확인&lt;/b&gt;&lt;/h4&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;/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;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;'도메인 자동갱신'으로 해당 옵션을 활성화하면 도메인 기간 만료 시 자동적으로 기간이 연장이 된다.(요금 지불)&lt;/li&gt;
&lt;li&gt;'등록 연락처와 이메일 주소 확인'에 자신이 등록한 이메일을 확인한다.&lt;/li&gt;
&lt;/ol&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_7.jpg&quot; data-origin-width=&quot;3064&quot; data-origin-height=&quot;1134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cg3NBD/btrM8fP1B4D/9NZBvK0Osv8910qkmksFPk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cg3NBD/btrM8fP1B4D/9NZBvK0Osv8910qkmksFPk/img.jpg&quot; data-alt=&quot;약관 및 자동갱신 옵션 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cg3NBD/btrM8fP1B4D/9NZBvK0Osv8910qkmksFPk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcg3NBD%2FbtrM8fP1B4D%2F9NZBvK0Osv8910qkmksFPk%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;3064&quot; height=&quot;1134&quot; data-filename=&quot;set_dns_7.jpg&quot; data-origin-width=&quot;3064&quot; data-origin-height=&quot;1134&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;약관 및 자동갱신 옵션 설정&lt;/figcaption&gt;
&lt;/figure&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;'주문 완료'를 눌렀다면 route53 서비스에서 확인이 가능해진다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_8.jpg&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;1362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RGVY6/btrM7i0M6Vi/CtRZDl1fBGzASt9XMrIoeK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RGVY6/btrM7i0M6Vi/CtRZDl1fBGzASt9XMrIoeK/img.jpg&quot; data-alt=&quot;대기중인 요청 확인&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RGVY6/btrM7i0M6Vi/CtRZDl1fBGzASt9XMrIoeK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRGVY6%2FbtrM7i0M6Vi%2FCtRZDl1fBGzASt9XMrIoeK%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;268&quot; height=&quot;652&quot; data-filename=&quot;set_dns_8.jpg&quot; data-origin-width=&quot;560&quot; data-origin-height=&quot;1362&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;대기중인 요청 확인&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;도메인 연결(탄력적 IP - 도메인)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 도메인 리스트 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 단계로 구입한 도메인에 인스턴스에 연결한 탄력적 IP를 연결할 차례이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_9.jpg&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;902&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ElGwB/btrM9RnA0fj/hIRO4KL3Og1DJaJwAMhUe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ElGwB/btrM9RnA0fj/hIRO4KL3Og1DJaJwAMhUe1/img.jpg&quot; data-alt=&quot;등록된 도메인 리스트 화면 진입&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ElGwB/btrM9RnA0fj/hIRO4KL3Og1DJaJwAMhUe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FElGwB%2FbtrM9RnA0fj%2FhIRO4KL3Og1DJaJwAMhUe1%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;353&quot; height=&quot;571&quot; data-filename=&quot;set_dns_9.jpg&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;902&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;등록된 도메인 리스트 화면 진입&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_10.jpg&quot; data-origin-width=&quot;3640&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UswBn/btrNdr3XDaQ/SWytNu8hssG2KDjEDZZnS1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UswBn/btrNdr3XDaQ/SWytNu8hssG2KDjEDZZnS1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UswBn/btrNdr3XDaQ/SWytNu8hssG2KDjEDZZnS1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUswBn%2FbtrNdr3XDaQ%2FSWytNu8hssG2KDjEDZZnS1%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;3640&quot; height=&quot;468&quot; data-filename=&quot;set_dns_10.jpg&quot; data-origin-width=&quot;3640&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 호스팅 영역 생성&lt;/b&gt;&lt;/h4&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_11.jpg&quot; data-origin-width=&quot;412&quot; data-origin-height=&quot;828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMMvPg/btrM5O7eeai/K3fbDYJLGAzvMA1LVtlfYk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMMvPg/btrM5O7eeai/K3fbDYJLGAzvMA1LVtlfYk/img.jpg&quot; data-alt=&quot;호스팅 영역 진입&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMMvPg/btrM5O7eeai/K3fbDYJLGAzvMA1LVtlfYk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMMvPg%2FbtrM5O7eeai%2FK3fbDYJLGAzvMA1LVtlfYk%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;205&quot; height=&quot;412&quot; data-filename=&quot;set_dns_11.jpg&quot; data-origin-width=&quot;412&quot; data-origin-height=&quot;828&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;호스팅 영역 진입&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_12.jpg&quot; data-origin-width=&quot;3448&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l5vUW/btrM7LVXIc4/zr5FgUtO0iv25oz9pkPKKK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l5vUW/btrM7LVXIc4/zr5FgUtO0iv25oz9pkPKKK/img.jpg&quot; data-alt=&quot;호스팅 영역 리스트(생성 버튼)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l5vUW/btrM7LVXIc4/zr5FgUtO0iv25oz9pkPKKK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl5vUW%2FbtrM7LVXIc4%2Fzr5FgUtO0iv25oz9pkPKKK%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;3448&quot; height=&quot;468&quot; data-filename=&quot;set_dns_12.jpg&quot; data-origin-width=&quot;3448&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;호스팅 영역 리스트(생성 버튼)&lt;/figcaption&gt;
&lt;/figure&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;도메인 이름: 구입한 도메인의 이름을 입력한다.(example.com)&lt;/li&gt;
&lt;li&gt;설명: 호스팅 영역에 대한 설명&lt;/li&gt;
&lt;li&gt;유형: 호스팅 한 서버를 퍼블릭으로 배포할 예정이므로 퍼블릭 호스팅으로 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_13.jpg&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;1828&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z7dG0/btrM7jZHGXK/voQ3qvIkTPsdw0RXb8yH0k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z7dG0/btrM7jZHGXK/voQ3qvIkTPsdw0RXb8yH0k/img.jpg&quot; data-alt=&quot;호스팅 영역 생성 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z7dG0/btrM7jZHGXK/voQ3qvIkTPsdw0RXb8yH0k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz7dG0%2FbtrM7jZHGXK%2FvoQ3qvIkTPsdw0RXb8yH0k%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;508&quot; height=&quot;566&quot; data-filename=&quot;set_dns_13.jpg&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;1828&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;호스팅 영역 생성 화면&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 호스팅 영역 설정&lt;/b&gt;&lt;/h4&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_14.jpg&quot; data-origin-width=&quot;3332&quot; data-origin-height=&quot;522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfIrQJ/btrNdqjFsWH/3j8Tvj8NCZTfe23ULtduf1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfIrQJ/btrNdqjFsWH/3j8Tvj8NCZTfe23ULtduf1/img.jpg&quot; data-alt=&quot;생성된 호스팅 영역&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfIrQJ/btrNdqjFsWH/3j8Tvj8NCZTfe23ULtduf1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfIrQJ%2FbtrNdqjFsWH%2F3j8Tvj8NCZTfe23ULtduf1%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;3332&quot; height=&quot;522&quot; data-filename=&quot;set_dns_14.jpg&quot; data-origin-width=&quot;3332&quot; data-origin-height=&quot;522&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;생성된 호스팅 영역&lt;/figcaption&gt;
&lt;/figure&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나의 경우 blog와 개인 웹페이지를 사용하고 있어 blog, www의 레코드를 등록되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 주식 서버 관련된 글이므로 www레코드 생성에 대해서만 작성하려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_15.jpg&quot; data-origin-width=&quot;3246&quot; data-origin-height=&quot;1242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAZNXW/btrNbZ8HRmb/bo99odGkznws5JHI7nMFJ1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAZNXW/btrNbZ8HRmb/bo99odGkznws5JHI7nMFJ1/img.jpg&quot; data-alt=&quot;호스팅 영역의 레코드 리스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAZNXW/btrNbZ8HRmb/bo99odGkznws5JHI7nMFJ1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAZNXW%2FbtrNbZ8HRmb%2Fbo99odGkznws5JHI7nMFJ1%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;750&quot; height=&quot;287&quot; data-filename=&quot;set_dns_15.jpg&quot; data-origin-width=&quot;3246&quot; data-origin-height=&quot;1242&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;호스팅 영역의 레코드 리스트&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 레코드 설정&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인 웹페이지에서 사용할 도메인을 위해서 www.도메인 형태의 도메인이 필요했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;www.도메인 형태가 필요하다면 레코드를 생성하여서 등록하면 된다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금 원하는 작업은 www.도메인으로 입력이 오면 나의 서버로 요청이 가도록 하고 싶으므로,&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_16.jpg&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;1720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m20Ee/btrNbb7bGG6/iGf5csrNAjWdyXiUiVZwH0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m20Ee/btrNbb7bGG6/iGf5csrNAjWdyXiUiVZwH0/img.jpg&quot; data-alt=&quot;라우팅 유형 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m20Ee/btrNbb7bGG6/iGf5csrNAjWdyXiUiVZwH0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm20Ee%2FbtrNbb7bGG6%2FiGf5csrNAjWdyXiUiVZwH0%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;535&quot; height=&quot;557&quot; data-filename=&quot;set_dns_16.jpg&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;1720&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;라우팅 유형 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_17.jpg&quot; data-origin-width=&quot;1636&quot; data-origin-height=&quot;688&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6iAPu/btrNbY20gb8/G5425BLaRLOIJSvbYP464K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6iAPu/btrNbY20gb8/G5425BLaRLOIJSvbYP464K/img.jpg&quot; data-alt=&quot;레코드 정의 버튼&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6iAPu/btrNbY20gb8/G5425BLaRLOIJSvbYP464K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6iAPu%2FbtrNbY20gb8%2FG5425BLaRLOIJSvbYP464K%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;608&quot; height=&quot;256&quot; data-filename=&quot;set_dns_17.jpg&quot; data-origin-width=&quot;1636&quot; data-origin-height=&quot;688&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;레코드 정의 버튼&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;레코드 이름: 원하는 형식의 도메인은 www.도메인이므로, www을 입력한다.&lt;/li&gt;
&lt;li&gt;레코드 유형은: 해당 도메인으로 요청 시 특정 IP로 전달하는 것이므로 A 유형을 선택한다.&lt;/li&gt;
&lt;li&gt;값/트래픽 라우팅 대상: 레코드 유형이 A이고, IP로 요청을 전달하는 것이므로 '레코드 유형에 따른 IP 주소 또는 다른 값'을 선택한다.&lt;br /&gt;값은 탄력적 IP를 입력하면 된다.&lt;/li&gt;
&lt;li&gt;TTL의 경우: 원하는 값을 넣어주면 된다. 크게 상관할 필요가 없어 보여 기본 값으로 진행했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_18.jpg&quot; data-origin-width=&quot;1204&quot; data-origin-height=&quot;1500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpPati/btrNdStrKNC/9bzcHgfrCoKwZfRY5KL3AK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpPati/btrNdStrKNC/9bzcHgfrCoKwZfRY5KL3AK/img.jpg&quot; data-alt=&quot;레코드 정의&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpPati/btrNdStrKNC/9bzcHgfrCoKwZfRY5KL3AK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpPati%2FbtrNdStrKNC%2F9bzcHgfrCoKwZfRY5KL3AK%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;535&quot; height=&quot;667&quot; data-filename=&quot;set_dns_18.jpg&quot; data-origin-width=&quot;1204&quot; data-origin-height=&quot;1500&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;레코드 정의&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;set_dns_19.jpg&quot; data-origin-width=&quot;1626&quot; data-origin-height=&quot;1406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yFB8K/btrNdsBPwmy/8ZIqGUIMvxk4U9AzXhIvGK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yFB8K/btrNdsBPwmy/8ZIqGUIMvxk4U9AzXhIvGK/img.jpg&quot; data-alt=&quot;정의된 레코드 생성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yFB8K/btrNdsBPwmy/8ZIqGUIMvxk4U9AzXhIvGK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyFB8K%2FbtrNdsBPwmy%2F8ZIqGUIMvxk4U9AzXhIvGK%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;574&quot; height=&quot;496&quot; data-filename=&quot;set_dns_19.jpg&quot; data-origin-width=&quot;1626&quot; data-origin-height=&quot;1406&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;정의된 레코드 생성&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 글&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 글은 ssl을 적용하여 https가 가능하도록 설정하는 글을 작성할 예정이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 2022.09.30 수정&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>AWS</category>
      <category>dns</category>
      <category>public IP</category>
      <category>route53</category>
      <category>도메인</category>
      <category>탄력적 IP</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/26</guid>
      <comments>https://namth.tistory.com/26#entry26comment</comments>
      <pubDate>Wed, 28 Sep 2022 11:23:19 +0900</pubDate>
    </item>
    <item>
      <title>AWS EC2 인스턴스 생성 및 접속하기</title>
      <link>https://namth.tistory.com/25</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주식 뉴스 분석 프로젝트 &amp;lt;서버 구축&amp;gt;&amp;lt;1&amp;gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;프로젝트 개요 및 각 글들의 링크:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;a style=&quot;color: #006dd7;&quot; href=&quot;https://namth.tistory.com/18&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://namth.tistory.com/18&lt;/a&gt;&lt;/span&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; 주식 분석 프로젝트에 사용할 서버 1개와, 프록시 서버 및 DB서버로 사용할 서버 1개.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;총 2개의 서버를 구축하기로 하였다.&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;서버는 aws의 EC2를 사용하여서 구축을 하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;EC2 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 콘솔 로그인&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 링크를 통하여 aws콘솔에 로그인을 진행한다.&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://aws.amazon.com/ko/console/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;https://aws.amazon.com/ko/console/&lt;/span&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_login.jpg&quot; data-origin-width=&quot;4076&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctquwe/btrM6LBgysx/xG6YK6BWNQDT9MW3Qh9b6k/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctquwe/btrM6LBgysx/xG6YK6BWNQDT9MW3Qh9b6k/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctquwe/btrM6LBgysx/xG6YK6BWNQDT9MW3Qh9b6k/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fctquwe%2FbtrM6LBgysx%2FxG6YK6BWNQDT9MW3Qh9b6k%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;4076&quot; height=&quot;670&quot; data-filename=&quot;aws_login.jpg&quot; data-origin-width=&quot;4076&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&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;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 콘솔 EC2 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;콘솔에서 EC2 서비스를 선택한다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_side.jpg&quot; data-origin-width=&quot;478&quot; data-origin-height=&quot;1580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9XCvd/btrM7jxuwjZ/aZl2QcBkIIl9eIiCcs5Uk0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9XCvd/btrM7jxuwjZ/aZl2QcBkIIl9eIiCcs5Uk0/img.jpg&quot; data-alt=&quot;aws ec2 사이드 바 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9XCvd/btrM7jxuwjZ/aZl2QcBkIIl9eIiCcs5Uk0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9XCvd%2FbtrM7jxuwjZ%2FaZl2QcBkIIl9eIiCcs5Uk0%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;146&quot; height=&quot;483&quot; data-filename=&quot;aws_ec2_side.jpg&quot; data-origin-width=&quot;478&quot; data-origin-height=&quot;1580&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;aws ec2 사이드 바 메뉴&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_instance_menu.jpg&quot; data-origin-width=&quot;3578&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpg9go/btrM7kpDGW2/XuUolo0Yux4tcI5UZIVkuK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpg9go/btrM7kpDGW2/XuUolo0Yux4tcI5UZIVkuK/img.jpg&quot; data-alt=&quot;인스턴스 생성 메뉴&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpg9go/btrM7kpDGW2/XuUolo0Yux4tcI5UZIVkuK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpg9go%2FbtrM7kpDGW2%2FXuUolo0Yux4tcI5UZIVkuK%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;2535&quot; height=&quot;55&quot; data-filename=&quot;aws_ec2_instance_menu.jpg&quot; data-origin-width=&quot;3578&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴스 생성 메뉴&lt;/figcaption&gt;
&lt;/figure&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;/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;크게 6부분을 입력하면 된다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;인스턴스 이름&lt;/b&gt;&lt;br /&gt;프록시 서버의 경우 main, 주식 뉴스 서버의 경우 stock으로 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;사용할 OS&lt;/b&gt;&lt;br /&gt;ubuntu 20.04으로 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인스턴스 유형&lt;/b&gt;&lt;br /&gt;t2.micro로 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;키 선택(ssh)&lt;/b&gt;&lt;br /&gt;이번 프로젝트를 위한 새로운 키 발급&lt;/li&gt;
&lt;li&gt;&lt;b&gt;방화벽 설정&lt;/b&gt;&lt;br /&gt;프록시 서버 인바운드: DB, ssh, http, https, ping 요청을 받기 위해 여러 개의 포트를 오픈&lt;br /&gt;주식 뉴스 서버 인바운드: stock서버 port와 ssh 포트 오픈, 외부와의 접근을 막기 위해 마스킹을 통해 VPC에서만 접속 가능하게 설정&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스토리지 설정(볼륨 설정)&lt;/b&gt;&lt;br /&gt;프록시 서버: 기본 8GB + 나중에 추가로 16GB&lt;br /&gt;주식 뉴스 서버: 기본 8GB&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_1.jpg&quot; data-origin-width=&quot;1598&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCpLwo/btrM29JFK36/6khvzQLJHm21kDKyrpNve0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCpLwo/btrM29JFK36/6khvzQLJHm21kDKyrpNve0/img.jpg&quot; data-alt=&quot;이름 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCpLwo/btrM29JFK36/6khvzQLJHm21kDKyrpNve0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCpLwo%2FbtrM29JFK36%2F6khvzQLJHm21kDKyrpNve0%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;715&quot; height=&quot;153&quot; data-filename=&quot;aws_ec2_create_1.jpg&quot; data-origin-width=&quot;1598&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이름 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_2.jpg&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;1406&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpcTOx/btrM6YUKwjL/0ZFoVaAKS9RSl34K17djkK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpcTOx/btrM6YUKwjL/0ZFoVaAKS9RSl34K17djkK/img.jpg&quot; data-alt=&quot;os 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpcTOx/btrM6YUKwjL/0ZFoVaAKS9RSl34K17djkK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpcTOx%2FbtrM6YUKwjL%2F0ZFoVaAKS9RSl34K17djkK%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;650&quot; height=&quot;578&quot; data-filename=&quot;aws_ec2_create_2.jpg&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;1406&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;os 설정&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_3.jpg&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;412&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tWiKK/btrMYsiWSVU/tTvqd2nTvdzLXTViTbIL2K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tWiKK/btrMYsiWSVU/tTvqd2nTvdzLXTViTbIL2K/img.jpg&quot; data-alt=&quot;인스턴스 유형 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tWiKK/btrMYsiWSVU/tTvqd2nTvdzLXTViTbIL2K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtWiKK%2FbtrMYsiWSVU%2FtTvqd2nTvdzLXTViTbIL2K%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;719&quot; height=&quot;188&quot; data-filename=&quot;aws_ec2_create_3.jpg&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;412&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴스 유형 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_4.jpg&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/udsD3/btrM29waKhB/TIkGVDy7i9YKckKKJGMf0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/udsD3/btrM29waKhB/TIkGVDy7i9YKckKKJGMf0K/img.jpg&quot; data-alt=&quot;ssh 접속 키 설정&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/udsD3/btrM29waKhB/TIkGVDy7i9YKckKKJGMf0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FudsD3%2FbtrM29waKhB%2FTIkGVDy7i9YKckKKJGMf0K%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;712&quot; height=&quot;173&quot; data-filename=&quot;aws_ec2_create_4.jpg&quot; data-origin-width=&quot;1588&quot; data-origin-height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ssh 접속 키 설정&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_5.jpg&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dfYylG/btrM0nauKOc/kardLFmQFgQ7htzKuZCpM1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dfYylG/btrM0nauKOc/kardLFmQFgQ7htzKuZCpM1/img.jpg&quot; data-alt=&quot;인스턴스의 보안 규칙(프록시 서버)&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dfYylG/btrM0nauKOc/kardLFmQFgQ7htzKuZCpM1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdfYylG%2FbtrM0nauKOc%2FkardLFmQFgQ7htzKuZCpM1%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;729&quot; height=&quot;195&quot; data-filename=&quot;aws_ec2_create_5.jpg&quot; data-origin-width=&quot;1712&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴스의 보안 규칙(프록시 서버)&lt;/figcaption&gt;
&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_create_6.jpg&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJPjNw/btrM0mJnWcx/h14pfPxu0OFg14dFOtl3bk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJPjNw/btrM0mJnWcx/h14pfPxu0OFg14dFOtl3bk/img.jpg&quot; data-alt=&quot;인스턴스 스토리지 구성&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJPjNw/btrM0mJnWcx/h14pfPxu0OFg14dFOtl3bk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJPjNw%2FbtrM0mJnWcx%2Fh14pfPxu0OFg14dFOtl3bk%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;713&quot; height=&quot;301&quot; data-filename=&quot;aws_ec2_create_6.jpg&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;668&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인스턴스 스토리지 구성&lt;/figcaption&gt;
&lt;/figure&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;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;EC2 접속&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 EC2에 ssh로 접속을 하는 방법을 적으려고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 생성 시 사용한 pem(key) 파일을 다운로드한다.&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;그리고 ssh명령이 가능하도록 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;unix 계열이라면 따로 설치할 필요가 없겠지만,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;window의 경우 설정을 해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_install_firstuse&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;u&gt;https://learn.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_install_firstuse&lt;/u&gt;&lt;/span&gt;&lt;/a&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ssh로 접속하기 위해 퍼블릭 ip가 필요하므로 콘솔에서 ip를 알아내면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ec2 서비스 -&amp;gt; 인스턴스 -&amp;gt; 생성한 인스턴스 -&amp;gt; 네트워킹 -&amp;gt; 퍼블릭 IPv4 주소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_connect_1.jpg&quot; data-origin-width=&quot;3444&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ca5Vd/btrMXIsIpqd/kdoB9BkFAYEI3zVXtO1jh0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ca5Vd/btrMXIsIpqd/kdoB9BkFAYEI3zVXtO1jh0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ca5Vd/btrMXIsIpqd/kdoB9BkFAYEI3zVXtO1jh0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCa5Vd%2FbtrMXIsIpqd%2FkdoB9BkFAYEI3zVXtO1jh0%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;772&quot; height=&quot;230&quot; data-filename=&quot;aws_ec2_connect_1.jpg&quot; data-origin-width=&quot;3444&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 key파일과 ip주소를 이용하여서 ssh로 접속을 하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다운로드한 key파일의 경로를 keyfilePath에 넣고, ip주소를 yourip에 넣으면 접속이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1664171315881&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -i keyfilePath ubuntu@yourip&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;aws_ec2_connect_2.jpg&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;950&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w6wGX/btrM64m6MhV/6gkF13KayjjCnKle3UlKEk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w6wGX/btrM64m6MhV/6gkF13KayjjCnKle3UlKEk/img.jpg&quot; data-alt=&quot;ec2 인스턴스 연결&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w6wGX/btrM64m6MhV/6gkF13KayjjCnKle3UlKEk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw6wGX%2FbtrM64m6MhV%2F6gkF13KayjjCnKle3UlKEk%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;566&quot; height=&quot;518&quot; data-filename=&quot;aws_ec2_connect_2.jpg&quot; data-origin-width=&quot;1038&quot; data-origin-height=&quot;950&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ec2 인스턴스 연결&lt;/figcaption&gt;
&lt;/figure&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;style8&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;다음 글&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 글에는 프록시 서버의 퍼블릭 ip 고정, DNS 등록을 작성할 예정이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;# 2022.09.30 수정&lt;/span&gt;&lt;/p&gt;</description>
      <category>프로젝트/주식뉴스분석</category>
      <category>AWS</category>
      <category>EC2</category>
      <category>nginx</category>
      <category>ssh</category>
      <category>ubuntu</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/25</guid>
      <comments>https://namth.tistory.com/25#entry25comment</comments>
      <pubDate>Mon, 26 Sep 2022 15:02:38 +0900</pubDate>
    </item>
    <item>
      <title>[apt] apt upgrade시 특정 패키지만 업그레이드 하기</title>
      <link>https://namth.tistory.com/24</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;서버 운영 중 특정 패키지만 업그레이드를 하고 싶어 찾아본 결과를 기록합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;ubuntu 20.04&lt;/li&gt;
&lt;li&gt;aws ec2, t2 micro&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;특정 패키지 업그레이드 명령어&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;apt install의 --only-upgrade 옵션을 사용하여 특정 패키지만 업그레이드합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;패키지의 리스트는 띄어쓰기로 구분됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1664166568052&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt install --only-upgrade pack1 pack2 ...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style8&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;업그레이드 가능한 패키지 목록&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1664166765146&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apt list --upgradable&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;패키지 리스트 업데이트&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1664166773880&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;업그레이드 가능한 모든 패키지 업그레이드&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1664166828362&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt upgrade -y&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;필요 없는 패키지 삭제&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1664166816593&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt autoremove&lt;/code&gt;&lt;/pre&gt;</description>
      <category>기록/문제해결기록</category>
      <author>그래서그렇지</author>
      <guid isPermaLink="true">https://namth.tistory.com/24</guid>
      <comments>https://namth.tistory.com/24#entry24comment</comments>
      <pubDate>Mon, 26 Sep 2022 14:04:37 +0900</pubDate>
    </item>
  </channel>
</rss>