<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>cloud engineer 취준일기</title>
    <link>https://sunchan.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 16 Jul 2026 11:28:29 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>sunchan</managingEditor>
    <image>
      <title>cloud engineer 취준일기</title>
      <url>https://tistory1.daumcdn.net/tistory/6558284/attach/b794fd8bb48b4047947b79656ff6adda</url>
      <link>https://sunchan.tistory.com</link>
    </image>
    <item>
      <title>permission</title>
      <link>https://sunchan.tistory.com/12</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;리눅스에서 생성하는 파일들에 대한 접근 권한 설정&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;권한 구분&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;h4 id=&quot;centerdrwx-rwx-rwxcenter&quot; data-ke-size=&quot;size20&quot;&gt;drwx rwx rwx&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1 리소스 종류&lt;br /&gt;2~4 소유자 권한&lt;br /&gt;5~7 그룹 권한&lt;br /&gt;8~10 기타사용자 권한&lt;br /&gt;-는 접근 불가능 나타냄&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;권한파일디렉토리&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;읽기 (r)&lt;/td&gt;
&lt;td&gt;사용자가 파일의 내용을 볼 수 있음&lt;/td&gt;
&lt;td&gt;사용자가 디렉토리 내 파일 목록을 볼 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;쓰기 (w)&lt;/td&gt;
&lt;td&gt;사용자가 파일을 변경할 수 있음&lt;/td&gt;
&lt;td&gt;사용자가 디렉토리 내 파일과 디렉토리를 생성 및 삭제할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;실행 (x)&lt;/td&gt;
&lt;td&gt;사용자가 실행 파일을 실행할 수 있음&lt;/td&gt;
&lt;td&gt;사용자가 디렉토리 이동 및 디렉토리를 생성할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;chown-명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;chown 명령&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chown [-옵션] 새소유자명 파일명or디렉토리명&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;옵션설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;-c&lt;/td&gt;
&lt;td&gt;변경된 파일들에 대해 자세한 메시지 보여줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-R&lt;/td&gt;
&lt;td&gt;파일과 하위 디렉토리까지 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-v&lt;/td&gt;
&lt;td&gt;작업 진행 상태를 자세하게 보여줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;새소유자명&lt;/td&gt;
&lt;td&gt;파일에 대한 새 소유자의 이름 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;파일명&lt;/td&gt;
&lt;td&gt;변경할 파일 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;디렉토리명&lt;/td&gt;
&lt;td&gt;변경할 디렉토리 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;chgrp-명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;chgrp 명령&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;chgrp 그룹명 파일명or디렉토리명&lt;/blockquote&gt;
&lt;h3 id=&quot;groups-명령---groupadd-groupdel&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;groups 명령 --groupadd, groupdel&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;사용자가 속한 그룹명 알고싶은 경우 사용 groups
&lt;p data-ke-size=&quot;size16&quot;&gt;#groupadd &amp;ndash;g GID(그룹 번호) 신규그룹디렉토리명 : 새로운 그룹명 만들기&lt;br /&gt;#groupdel 삭제할 그룹명 :　그룹명 삭제하기&lt;br /&gt;#gpasswd [옵션] 그룹명 : 기존 그룹에 가입 및 탈퇴 &amp;ndash;a옵션으로 추가, -d로 삭제&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;파일디렉토리의-접근허가-권한-의미&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;파일/디렉토리의 접근허가 권한 의미&lt;/h4&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Unix의 파일과 디렉토리는 소유자, 소유자 속한 그룹 기타 사용자별 읽기, 쓰기, 실행의 접근허가 권한을 갖는다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;chmodchange-mode명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;chmod(CHange MODe)명령&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chmod명령을 사용하면 파일, 디렉토리의 접근 허가 권한을 변경할 수 있다. 기호모드와 8진수 모 드를 이용해 파일의 접근 허기를 변경하며 보통 8진수 모드가 널리 사용된다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;기호모드&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;기호모드&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;chmod [ugoa] [+or-] [rwx] 파일명or디렉토리명&lt;/blockquote&gt;
&lt;p&gt;기호의미&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;u&lt;/td&gt;
&lt;td&gt;사용자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;g&lt;/td&gt;
&lt;td&gt;사용자가 속한 그룹&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;o&lt;/td&gt;
&lt;td&gt;기타 사용자&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;a&lt;/td&gt;
&lt;td&gt;ugo 모두를 의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;사용권한 부여&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;사용권한 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;읽기 사용권한 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;w&lt;/td&gt;
&lt;td&gt;쓰기 사용권한 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;x&lt;/td&gt;
&lt;td&gt;실행 사용권한 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;8진수-모드&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;8진수 모드&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chmod 8진수허가모드 파일명or디렉토리명&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;허가상태2진수8진수설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;rwx&lt;/td&gt;
&lt;td&gt;111&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;read, write, execute 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rw-&lt;/td&gt;
&lt;td&gt;110&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;read, write 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;r-x&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;read, execute 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;r--&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;read 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-wx&lt;/td&gt;
&lt;td&gt;011&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;write, execute 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-w-&lt;/td&gt;
&lt;td&gt;010&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;write 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--x&lt;/td&gt;
&lt;td&gt;001&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;execute 허가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;---&lt;/td&gt;
&lt;td&gt;000&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;접근 금지로 사용 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;umask-명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;umask 명령&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;파일과 디렉토리 생성시 자동적으로 접근 권한 모드를 설정하는 명령&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;umask [마스크] : 파일은 666 디렉토리는 777이 기본 접근 권한&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>Linux</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/12</guid>
      <comments>https://sunchan.tistory.com/12#entry12comment</comments>
      <pubDate>Tue, 1 Oct 2024 23:56:13 +0900</pubDate>
    </item>
    <item>
      <title>Vi 편집기</title>
      <link>https://sunchan.tistory.com/11</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 제공되는 vi편집기는 파일에 데이터를 입력하는 등 편집에 사용된다. vi편집기는 다양한 편집 기능과 명령을 제공하며, 강력한 검색 및 치환기능, 자동 들여쓰기, 줄번호 표시 등의 사용자 정의기능을 갖추고 있다. 초기에는 사용하기 다소 어렵지만 익숙해지면 높은 생산성을 제공하는 강 력한 편집기다.&lt;/p&gt;
&lt;h3 id=&quot;vi편집기의-3가지-편집모드&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;vi편집기의 3가지 편집모드&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 명령모드 : &amp;lsquo;vi 파일명&amp;lsquo; 명령으로 편집기 접근 시 초기 화면으로 이때 입력되는 모든 문자는 명령으로 해석된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;a : 현재 커서 위치 다음부터 새로운 문자를 입력&lt;br /&gt;i : 현재 커서 위치 dkvdp 새로운 문자를 입력&lt;br /&gt;o : 현재 커서 위치 다음라인에 새 라인 추가하고 문자를 입력&lt;br /&gt;O : 현재 커서 위치 위 라인에 새 라인 추가하고 문자를 입력&lt;br /&gt;x : 현재 커서 위치 문자 삭제&lt;br /&gt;dd : 현재 커서 위치 라인 삭제&lt;br /&gt;a, i, o, O : 입력 시 데이터 입력모드 진입&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 명령모드 : 직접 명령모드에서 a, i, o, O 입력하여 진입&lt;br /&gt;데이터 명령모드에서 입력되는 문자는 작업 버퍼에 저장되고 디스크에 저장을 위해 ESC키를 쳐 직접 명령모드로 나간 후 :w!명령으로 저장&lt;/li&gt;
&lt;li&gt;간접 명령모드 : 직접 명령모드에서 콜론(:)입력하여 마지막줄에 콜론이 찍히며 진입.w! : 저장&lt;br /&gt;q! : 종료&lt;br /&gt;wq! : 기존 존재파일 점검없이 쓰고나옴(입력한 작업버퍼내용 파일로 저장)&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;820&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzTLX3/btsJSgkvCNx/GHRmvCBbVbfxEUQy2ebvy1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzTLX3/btsJSgkvCNx/GHRmvCBbVbfxEUQy2ebvy1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzTLX3/btsJSgkvCNx/GHRmvCBbVbfxEUQy2ebvy1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzTLX3%2FbtsJSgkvCNx%2FGHRmvCBbVbfxEUQy2ebvy1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;349&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;349&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id=&quot;vi편집명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;vi편집명령&lt;/h3&gt;
&lt;h4 id=&quot;텍스트-입력입력모드-전환&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;텍스트 입력(입력모드 전환)&lt;/h4&gt;
&lt;pre class=&quot;ada&quot; style=&quot;color: #212529; text-align: start;&quot;&gt;&lt;code&gt;	i : 현재커서 앞에 문자입력, I : 현재 줄의 앞에 문자입력
	a : 현재커서 뒤에 문자입력, A : 현재 줄의 끝에 문자입력
	o : 현재 줄의 아래에 입력. O : 현재 줄의 위에 입력&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;커서-이동&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;커서 이동&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;글자 단위&lt;br /&gt;h : 한 칸 왼쪽&lt;br /&gt;j : 한 줄 아래&lt;br /&gt;k : 한 줄 위&lt;br /&gt;l : 한 칸 오른쪽&lt;/li&gt;
&lt;li&gt;단어 단위&lt;br /&gt;b : 이전 단어의 첫 문자로 이동&lt;br /&gt;w : 다음 단어의 첫 문자로 이동&lt;br /&gt;e : 단어의 끝으로 이동, 커서 위치가 단어의 끄,x이라면 다음 단어의 끝으로 이동&lt;/li&gt;
&lt;li&gt;텍스트 삭제(직접 명령모드)&lt;br /&gt;x : 커서 위치 한 개의 문자 삭제&lt;br /&gt;X : 커서 위치 앞의 한 문자 삭제&lt;br /&gt;d0 : 커서위치 라인의 선두까지 문자 삭제&lt;br /&gt;d$, D : 커서 위치 라인의 마지막까지 모든 문자 삭제&lt;br /&gt;dw : 커서 위치 한 단어 삭제&lt;br /&gt;dd : 커서 위치 한 라인 삭제&lt;br /&gt;D : 커서 위치 줄의 끝까지 삭제&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;문자열-검색&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;문자열 검색&lt;/h4&gt;
&lt;pre class=&quot;ada&quot; style=&quot;color: #212529; text-align: start;&quot;&gt;&lt;code&gt;	순방향 : /문자열/, /문자열
	역방향 : ?문자열?, ?문자열&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;복사-붙이기-이동&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;복사, 붙이기, 이동&lt;/h4&gt;
&lt;p&gt;범주명령어설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;복사&lt;/td&gt;
&lt;td&gt;yw&lt;/td&gt;
&lt;td&gt;한 단어 복사하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;nyw&lt;/td&gt;
&lt;td&gt;여러 단어 복사하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;yy, Y&lt;/td&gt;
&lt;td&gt;한 줄 복사하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;nyy, nY&lt;/td&gt;
&lt;td&gt;여러 줄 복사하기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;--------&lt;/td&gt;
&lt;td&gt;----------&lt;/td&gt;
&lt;td&gt;----------------------------------&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;붙이기&lt;/td&gt;
&lt;td&gt;p&lt;/td&gt;
&lt;td&gt;커서 우측/아래 줄에 붙이기&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&quot;텍스트-바꾸기&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;텍스트 바꾸기&lt;/h4&gt;
&lt;p&gt;범주명령어설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;문자&lt;/td&gt;
&lt;td&gt;r&lt;/td&gt;
&lt;td&gt;커서 위치한 곳 문자 한 개를 다른 한 개의 문자로 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;문자&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;커서 위치한 곳부터 문자를 입력하면 덮어 씌워지며 ESC 키로 해제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;단어&lt;/td&gt;
&lt;td&gt;cw&lt;/td&gt;
&lt;td&gt;커서가 위치한 한 단어를 다른 단어로 바꾸는 명령&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;한 줄 내용&lt;/td&gt;
&lt;td&gt;c&lt;/td&gt;
&lt;td&gt;현재 커서 위치한 왼쪽 텍스트는 바꾸지 않고 오른쪽으로만 변경&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&quot;파일-편집-기타-기능들&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;파일 편집 기타 기능들&lt;/h4&gt;
&lt;p&gt;명령어설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;:r&lt;/td&gt;
&lt;td&gt;현재 파일의 커서 위치 다음에 다른 파일의 내용 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;:!&lt;/td&gt;
&lt;td&gt;파일 편집 중 vi 상태에서 Linux 명령어 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;:sh&lt;/td&gt;
&lt;td&gt;잠시 쉘 상태로 들어가는 명령, exit에 의해 다시 vi 상태로 돌아감&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;vi환경옵션&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;vi환경옵션&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi에디터의 여백, 라인번호, 화면크기, 들여쓰기 등의 사전 설정은 .vimrc에서 옵션을 수정하여 저장 할 수 있다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;옵션의-종류&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;옵션의 종류&lt;/h4&gt;
&lt;p&gt;옵션(약어)기능&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%; height: 210px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set autoindent (set ai)&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;자동으로 들여쓰기를 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set cindent&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;C 프로그램에서 자동으로 들여쓰기를 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set smartindent&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;향상된 자동 들여쓰기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set autowrite (set aw)&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;다른 파일로 이동하는 명령 실행 전에 현재 파일 강제 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set backspace&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;1로 설정 시 백스페이스로 문자 삭제 제한, 2로 설정 시 가능하게 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set backspace=indent, eol, smart&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;줄 끝, 시작, 들여쓰기에서 백스페이스 사용 시 이전 줄과 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set backupext=.bak&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;백업 파일 확장자 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set encoding=cp949&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;확장완성형 한글 인코딩 cp949 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set history=&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;명령어 기록 기억 개수 지정, :후 화살표 키 누르면 이전 명령 보여줌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;set hlsearch&lt;/td&gt;
&lt;td style=&quot;height: 20px;&quot;&gt;문자열 검색할 때 하이라이트&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>Linux</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/11</guid>
      <comments>https://sunchan.tistory.com/11#entry11comment</comments>
      <pubDate>Tue, 1 Oct 2024 23:53:55 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 cheatsheet</title>
      <link>https://sunchan.tistory.com/10</link>
      <description>&lt;h2 id=&quot;1-시스템-정보-수집&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;1. 시스템 정보 수집&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;리눅스 버전, 커널, 기타 관련 정보 수집&lt;/p&gt;
&lt;h3 id=&quot;1-1-cat-etc-release&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-1 cat /etc/*-release&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;434&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cwuTU4/btsJS7mH8e4/PpAokRDNpFEGnnTfMxshQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cwuTU4/btsJS7mH8e4/PpAokRDNpFEGnnTfMxshQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cwuTU4/btsJS7mH8e4/PpAokRDNpFEGnnTfMxshQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwuTU4%2FbtsJS7mH8e4%2FPpAokRDNpFEGnnTfMxshQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;434&quot; height=&quot;259&quot; data-origin-width=&quot;434&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;CentOS Stream 8 버전&lt;/li&gt;
&lt;li&gt;운영체제의 이름 = &amp;ldquo;CentOS Stream&amp;rdquo;&lt;/li&gt;
&lt;li&gt;CentOS Stream 의 버전 8&lt;/li&gt;
&lt;li&gt;운영 체제의 고유 식별자는 &quot;centos&quot;&lt;/li&gt;
&lt;li&gt;이 운영 체제는 Red Hat Enterprise Linux 및 Fedora 와 유사하다&lt;/li&gt;
&lt;li&gt;CentOS Stream 의 버전 ID 는 8&lt;/li&gt;
&lt;li&gt;플랫폼 ID 는 &quot;platform:el8&quot;&lt;/li&gt;
&lt;li&gt;보기 좋은 이름 &quot;CentOS Stream 8&quot;&lt;/li&gt;
&lt;li&gt;ANSI 색상 코드는 &quot;0;31&quot;&lt;/li&gt;
&lt;li&gt;Common Platform Enumeration (CPE) 이름은 &quot;cpe:/o:centos:centos:8&quot;&lt;/li&gt;
&lt;li&gt;CentOS 의 홈페이지 URL 은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://centos.org/&quot;&gt;https://centos.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;버그 보고 URL 은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://bugzilla.redhat.com/&quot;&gt;https://bugzilla.redhat.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Red Hat 지원 제품은 &quot;Red Hat Enterprise Linux 8&quot;&lt;/li&gt;
&lt;li&gt;Red Hat 지원 제품의 버전은 &quot;CentOS Stream&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-2-cat-procversion&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-2 cat /proc/version&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;41&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bOKsjO/btsJSivRYEy/VxLfQVYjXmuApaiaoFc1E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bOKsjO/btsJSivRYEy/VxLfQVYjXmuApaiaoFc1E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bOKsjO/btsJSivRYEy/VxLfQVYjXmuApaiaoFc1E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOKsjO%2FbtsJSivRYEy%2FVxLfQVYjXmuApaiaoFc1E0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;41&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;41&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리눅스 시스템에서 현재 커널의 버전 및 빌드 정보를 출력하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linux version 4.18.0-305.3.1.el8_4.x86_64 : 현재 사용중인 리눅스 커널의 버전&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(mockbuild@mockbuild@x86-05.stream.rdu2.radhat.com) : 커널이 빌드된 호스트의 정보.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(gcc version 8.5.0 20210514 (Red Hat 8.5.0-21) (GCC)) : 사용된 GCC (GNU Compiler Collection) 버전 및 빌드&lt;br /&gt;정보.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;#1 SMP 날짜정보: 커널이 빌드된 시간 및 날짜&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-3-uname--a&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-3 uname -a&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;45&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZW71u/btsJSOneA5c/nkyviVmtCjM7PQK9GByaB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZW71u/btsJSOneA5c/nkyviVmtCjM7PQK9GByaB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZW71u/btsJSOneA5c/nkyviVmtCjM7PQK9GByaB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZW71u%2FbtsJSOneA5c%2FnkyviVmtCjM7PQK9GByaB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;45&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;45&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linux : 현재 운영 체제&lt;br /&gt;localhost.localdomain: 호스트 이름.&lt;br /&gt;4.18.0-529.el8.x86_64: 현재 사용 중인 Linux 커널의 버전&lt;br /&gt;#1 SMP Wed Dec 6 01:03:46 UTC 2023: 커널이 빌드된 SMP (Symmetric Multiprocessing) 커널이며, 빌드된&lt;br /&gt;시간 및 날짜&lt;br /&gt;x86_64 x86_64 x86_64: 시스템 아키텍처. x86_64 아키텍처를 사용&lt;br /&gt;GNU/Linux: 시스템의 운영 체제 유형. GNU/Linux 사용&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-4-dmidecode--t-bios-관리자-권한-실행&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-4 dmidecode -t bios (관리자 권한 실행)&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;298&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/V0EXU/btsJSGbV48O/JqRgINhmLg5nkyLOhKF3Tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/V0EXU/btsJSGbV48O/JqRgINhmLg5nkyLOhKF3Tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/V0EXU/btsJSGbV48O/JqRgINhmLg5nkyLOhKF3Tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FV0EXU%2FbtsJSGbV48O%2FJqRgINhmLg5nkyLOhKF3Tk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;246&quot; height=&quot;298&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;298&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시스템 BIOS 에서 하드웨어 정보를 가져옴&lt;br /&gt;Handle 0x0000, DMI type 0, 24 bytes: 일반적인 BIOS 정보를 제공.&lt;br /&gt;BIOS 정보&lt;br /&gt;Vender : 제조사&lt;br /&gt;Version : BIOS 버전&lt;br /&gt;Release Date : BIOS 버전 릴리즈된 날짜&lt;br /&gt;Address : BIOS 메모리 주소&lt;br /&gt;Runtime Size : 메모리 실행 중인 영역 크기&lt;br /&gt;Rom size : BIOS 사용되는 read only memory 크기&lt;br /&gt;특성(Characteristics)&lt;br /&gt;BIOS 의 다양한 특성에 대한 정보로 ISA, PCI, PC Card (PCMCIA), PNP (Plug and Play), APM&lt;br /&gt;(Advanced Power Management), 업그레이드 가능 여부, BIOS 셰도잉, ESCD 지원, 부팅 옵션 정보&lt;br /&gt;BIOS Revision 번호, Firmware Revision 번호 포함&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-5-free--ht&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-5 Free -ht&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBRflV/btsJRr8a4Wb/2avmTVQsk8Cya4VTUxNFD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBRflV/btsJRr8a4Wb/2avmTVQsk8Cya4VTUxNFD1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBRflV/btsJRr8a4Wb/2avmTVQsk8Cya4VTUxNFD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBRflV%2FbtsJRr8a4Wb%2F2avmTVQsk8Cya4VTUxNFD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;879&quot; height=&quot;120&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 주 메모리와 Swap 사용량 확인&lt;br /&gt;-h 옵션으로 읽기 쉬운 숫자 표현(Gi. Mi 등), -t 옵션으로 총 합계(Total) 표시&lt;br /&gt;Total : 시스템에 설치된 총 메모리 양&lt;br /&gt;total: 시스템에 설치된 총 메모리 양&lt;br /&gt;used: 현재 사용 중인 메모리 양&lt;br /&gt;free: 사용 가능한 메모리 양&lt;br /&gt;shared: 공유 메모리의 양&lt;br /&gt;buff/cache: 버퍼 및 캐시로 사용 중인 메모리 양&lt;br /&gt;available: 프로그램이 추가 메모리를 사용하기 위해 사용할 수 있는 메모리 양&lt;br /&gt;Swap: 스왑 영역에 대한 정보로, 스왑은 메모리 부족 시 사용되는 가상 메모리 공간&lt;br /&gt;Total: 총 메모리 및 스왑의 합계&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-6-ulimit--n&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1-6 ulimit -n&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;51&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buaDbp/btsJS6VEoLl/XLWsg0CzdBK3Mhs3BLSiBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buaDbp/btsJS6VEoLl/XLWsg0CzdBK3Mhs3BLSiBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buaDbp/btsJS6VEoLl/XLWsg0CzdBK3Mhs3BLSiBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuaDbp%2FbtsJS6VEoLl%2FXLWsg0CzdBK3Mhs3BLSiBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;390&quot; height=&quot;51&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;51&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세서가 가질 수 있는 파일 디스크립터(시스템이 열 수 있는 파일이나 소켓과 같은 I/O 리소스) 수가&lt;br /&gt;1024 개인 상태&lt;br /&gt;ulimit -n 명령어가 아무런 결과를 보여주지 않거나 0 이라면, 제한이 설정되어 있지 않음을 의미&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;2-사용자와-프로세스-작업&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;2. 사용자와 프로세스 작업&lt;/h2&gt;
&lt;h3 id=&quot;2-1-who-w&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2-1 Who, w&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;182&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LwsUI/btsJSvO65Xy/KdKfjTPjvsHolerGkjJcb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LwsUI/btsJSvO65Xy/KdKfjTPjvsHolerGkjJcb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LwsUI/btsJSvO65Xy/KdKfjTPjvsHolerGkjJcb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLwsUI%2FbtsJSvO65Xy%2FKdKfjTPjvsHolerGkjJcb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;877&quot; height=&quot;182&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;182&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 로그인한 사용자 뿐만 아니라 활동에 대한 정보 나열, w 명령으로 더 자세한 정보까지 출력&lt;br /&gt;Who : 사용자의 로그인명, 터미널, 로그인 시간, 원격호스트 출력 /var/run/utmp 파일에서 가져온 정보&lt;br /&gt;W : 사용자 로그인 정보와 현재 작업 내용을 출력, 현재 접속된 사용자와 그 프로세스에 대한 정보를 표시&lt;br /&gt;헤더에는 현재 시간, 시스템 실행 시간, 현재 로그인한 사용자 수 및 지난 1, 5, 15분 동안의 시스템 로드 평균을&lt;br /&gt;순서에 따라 표시.&lt;br /&gt;각 사용자들에 대해 로그인 이름, tty 이름, 원격 호스트, 로그인 시간, 유휴 시간, JCPU, PCPU 및 현재 프로세스의&lt;br /&gt;명령줄과 같은 항목들이 표시된다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;w-옵션&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;W 옵션&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;옵션설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;-h&lt;/td&gt;
&lt;td&gt;헤더를 출력하지 않음 (--no-header)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-u&lt;/td&gt;
&lt;td&gt;현재 프로세스와 CPU 시간 파악 시 사용자 이름 무시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-s&lt;/td&gt;
&lt;td&gt;로그인 시간, JCPU, PCPU 시간을 제외한 짧은 형식으로 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-f&lt;/td&gt;
&lt;td&gt;FROM 필드의 값 (접속 IP주소 정보) 생략하여 출력 (--from)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-i&lt;/td&gt;
&lt;td&gt;FROM 필드에 호스트 이름 대신 IP 주소 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-v&lt;/td&gt;
&lt;td&gt;버전 정보를 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-o&lt;/td&gt;
&lt;td&gt;1분 미만의 유휴 시간 동안 빈 공간을 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;user&lt;/td&gt;
&lt;td&gt;구체적인 사용자의 정보만 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;2-2-top--u-someuser&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2-2 top -U SOMEUSER&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;574&quot; data-origin-height=&quot;355&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9BN25/btsJTm41IhP/NsGkrjzHciNAU7oWOi78VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9BN25/btsJTm41IhP/NsGkrjzHciNAU7oWOi78VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9BN25/btsJTm41IhP/NsGkrjzHciNAU7oWOi78VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9BN25%2FbtsJTm41IhP%2FNsGkrjzHciNAU7oWOi78VK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;574&quot; height=&quot;355&quot; data-origin-width=&quot;574&quot; data-origin-height=&quot;355&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;특정 사용자(여기선 student)에 대해 프로세스별로 시스템 메트릭(cpu, 메모리 등)을 표시&lt;br /&gt;표시 내용&lt;br /&gt;시스템 정보 : 현재시간, 동작시간 로그인 사용자 수, 1, 5, 15 분 평균부하&lt;br /&gt;작업정보 : 시스템 전체 작업(프로세스) 수, 현재 실행 중인 작업 수, 현재 대기 중인 작업 수, 정지된&lt;br /&gt;작업 수, 좀비 상태인 작업 수&lt;br /&gt;CPU 사용량&lt;/p&gt;
&lt;h4 id=&quot;프로세스-목록&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;프로세스 목록&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항목설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PID&lt;/td&gt;
&lt;td&gt;프로세스 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USER&lt;/td&gt;
&lt;td&gt;사용자 이름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PR&lt;/td&gt;
&lt;td&gt;프로세스의 우선순위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NI&lt;/td&gt;
&lt;td&gt;nice 값 (우선순위 수정 값)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VIRT&lt;/td&gt;
&lt;td&gt;가상 메모리 크기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RES&lt;/td&gt;
&lt;td&gt;실제 사용 중인 메모리 크기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SHR&lt;/td&gt;
&lt;td&gt;공유 메모리 크기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;S&lt;/td&gt;
&lt;td&gt;프로세스 상태 (S는 실행 중인 것을 나타냄)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%CPU&lt;/td&gt;
&lt;td&gt;CPU 사용량 비율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%MEM&lt;/td&gt;
&lt;td&gt;메모리 사용량 비율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TIME+&lt;/td&gt;
&lt;td&gt;프로세스가 실행된 총 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;COMMAND&lt;/td&gt;
&lt;td&gt;실행 중인 명령어 또는 프로그램&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;2-3-ps-faux&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2-3 ps faux&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; 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-origin-width=&quot;490&quot; data-origin-height=&quot;353&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMntSY/btsJQ2Oinvu/TRdKm2WiIRIzhuWNVuKWCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMntSY/btsJQ2Oinvu/TRdKm2WiIRIzhuWNVuKWCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMntSY/btsJQ2Oinvu/TRdKm2WiIRIzhuWNVuKWCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMntSY%2FbtsJQ2Oinvu%2FTRdKm2WiIRIzhuWNVuKWCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;490&quot; height=&quot;353&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;353&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항목설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;USER&lt;/td&gt;
&lt;td&gt;프로세스를 실행한 사용자의 이름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PID&lt;/td&gt;
&lt;td&gt;프로세스 ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%CPU&lt;/td&gt;
&lt;td&gt;CPU 사용량의 백분율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;%MEM&lt;/td&gt;
&lt;td&gt;메모리 사용량의 백분율&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VSZ&lt;/td&gt;
&lt;td&gt;가상 메모리 크기 (킬로바이트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RSS&lt;/td&gt;
&lt;td&gt;실제 사용 중인 메모리 크기 (킬로바이트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TTY&lt;/td&gt;
&lt;td&gt;터미널 연결 또는 &quot;?&quot;로 나타남&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;STAT&lt;/td&gt;
&lt;td&gt;프로세스 상태 (S: Sleeping, R: Running, Z: Zombie 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;START&lt;/td&gt;
&lt;td&gt;프로세스가 시작된 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TIME&lt;/td&gt;
&lt;td&gt;CPU를 사용한 총 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;COMMAND&lt;/td&gt;
&lt;td&gt;실행된 명령어 또는 프로그램&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;2-4-ps--e--grep-python&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2-4 ps -e | grep python&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/deOje9/btsJSIVbiFb/J7H7Z76lBwl0of0MHEfPc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/deOje9/btsJSIVbiFb/J7H7Z76lBwl0of0MHEfPc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/deOje9/btsJSIVbiFb/J7H7Z76lBwl0of0MHEfPc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeOje9%2FbtsJSIVbiFb%2FJ7H7Z76lBwl0of0MHEfPc0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;484&quot; height=&quot;77&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;77&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 프로세스를 찾음 여기서는 shell&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;shell이라는 문자열을 포함하는 프로세스를 찾아내 출력&lt;br /&gt;(shell 이라는 문자열이 포함된 모든 프로세스가 나열)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PID (프로세스 ID), TTY (터미널 연결), TIME (프로세스가 실행된 시간) 등이 표시&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;2-5-kill-pid&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2-5 kill PID&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;PID 를 알고있을 때 프로세스 종료&lt;br /&gt;Yes 명령을 실행하고 PID 14473 을 kill 해 Terminated&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;100&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PRnoe/btsJSd2wuDS/JPbzA7unhdDU7T4mikZtg0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PRnoe/btsJSd2wuDS/JPbzA7unhdDU7T4mikZtg0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PRnoe/btsJSd2wuDS/JPbzA7unhdDU7T4mikZtg0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPRnoe%2FbtsJSd2wuDS%2FJPbzA7unhdDU7T4mikZtg0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;767&quot; height=&quot;100&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;100&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&quot;3-파일-정보-수집&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;3. 파일 정보 수집&lt;/h2&gt;
&lt;h3 id=&quot;3-1-stat-somefile&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3-1 stat somefile&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; 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-origin-width=&quot;850&quot; data-origin-height=&quot;263&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOy69h/btsJQ3TVhgP/BRR2O7MqdpI9Ou9TGJvT7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOy69h/btsJQ3TVhgP/BRR2O7MqdpI9Ou9TGJvT7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOy69h/btsJQ3TVhgP/BRR2O7MqdpI9Ou9TGJvT7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOy69h%2FbtsJQ3TVhgP%2FBRR2O7MqdpI9Ou9TGJvT7K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;850&quot; height=&quot;263&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;263&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;항목설명&lt;/p&gt;
&lt;table style=&quot;background-color: #ffffff; color: #212529; text-align: start; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File&lt;/td&gt;
&lt;td&gt;파일의 이름 (&quot;sample&quot;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Size&lt;/td&gt;
&lt;td&gt;파일 크기 (바이트)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blocks&lt;/td&gt;
&lt;td&gt;파일이 차지하는 블록 수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IO Block&lt;/td&gt;
&lt;td&gt;파일 시스템의 I/O 블록 크기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Device&lt;/td&gt;
&lt;td&gt;파일이 위치한 디바이스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inode&lt;/td&gt;
&lt;td&gt;파일의 Inode 번호&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Links&lt;/td&gt;
&lt;td&gt;파일을 가리키는 하드 링크의 수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access&lt;/td&gt;
&lt;td&gt;파일의 권한 정보 (0664/-rw-rw-r--)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uid&lt;/td&gt;
&lt;td&gt;파일 소유자의 사용자 ID (UID)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gid&lt;/td&gt;
&lt;td&gt;파일의 그룹 소유자의 그룹 ID (GID)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context&lt;/td&gt;
&lt;td&gt;SELinux의 보안 컨텍스트 정보&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access&lt;/td&gt;
&lt;td&gt;파일에 마지막으로 접근한 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modify&lt;/td&gt;
&lt;td&gt;파일을 마지막으로 수정한 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change&lt;/td&gt;
&lt;td&gt;파일 속성을 마지막으로 변경한 시간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Birth&lt;/td&gt;
&lt;td&gt;파일이 생성된 시간 (생성 시간이 기록되지 않은 경우 &quot;-&quot;로 표시됨)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;3-2-type-somecommand&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3-2 type somecommand&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; 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-origin-width=&quot;403&quot; data-origin-height=&quot;51&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfwLZf/btsJTmKGU07/ZEXPznRptK9uRrzRqTRMP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfwLZf/btsJTmKGU07/ZEXPznRptK9uRrzRqTRMP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfwLZf/btsJTmKGU07/ZEXPznRptK9uRrzRqTRMP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfwLZf%2FbtsJTmKGU07%2FZEXPznRptK9uRrzRqTRMP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;403&quot; height=&quot;51&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;51&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ls 명령어는 색상을 사용하여 디렉토리, 파일 등을 구분하도록 하는 옵션 적용된 상태&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;3-3-which-somebinary&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3-3 which somebinary&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;명령어의 위치를 찾아내 Alias, 현재 위치 출력&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;73&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lEXEt/btsJSmES9nF/vM0w7o2VYgpJ5fYg77Zka0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lEXEt/btsJSmES9nF/vM0w7o2VYgpJ5fYg77Zka0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lEXEt/btsJSmES9nF/vM0w7o2VYgpJ5fYg77Zka0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlEXEt%2FbtsJSmES9nF%2FvM0w7o2VYgpJ5fYg77Zka0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;380&quot; height=&quot;73&quot; data-origin-width=&quot;380&quot; data-origin-height=&quot;73&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&quot;4-파일과-디렉토리-작업&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;4. 파일과 디렉토리 작업&lt;/h2&gt;
&lt;h3 id=&quot;4-1-cat-afile&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-1 cat afile&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;477&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MngMY/btsJTqflXoU/3LKEaIHSFwgOglSFatpMFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MngMY/btsJTqflXoU/3LKEaIHSFwgOglSFatpMFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MngMY/btsJTqflXoU/3LKEaIHSFwgOglSFatpMFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMngMY%2FbtsJTqflXoU%2F3LKEaIHSFwgOglSFatpMFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;477&quot; height=&quot;68&quot; data-origin-width=&quot;477&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일의 내용을 표시하는 명령&lt;br /&gt;123 이 입력된 cattest 파일을 생성하고 cat 명령으로 내용확인&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-2-ls--l-etc--wc--l&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-2 ls -l /etc | wc -l&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;483&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6TJuM/btsJR96TrDD/7GwSG4xICFNqZ4g7y1C21k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6TJuM/btsJR96TrDD/7GwSG4xICFNqZ4g7y1C21k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6TJuM/btsJR96TrDD/7GwSG4xICFNqZ4g7y1C21k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6TJuM%2FbtsJR96TrDD%2F7GwSG4xICFNqZ4g7y1C21k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;483&quot; height=&quot;52&quot; data-origin-width=&quot;483&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls 명령으로 디렉토리의 내용 나열 후, 디렉토리의 파일 수 계산&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-3-find-etc--name-conf&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-3 find /etc -name &amp;ldquo;*.conf&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHqq5j/btsJSaLtX6b/SKGK2MGxgVpDWa0cOAYpb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHqq5j/btsJSaLtX6b/SKGK2MGxgVpDWa0cOAYpb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHqq5j/btsJSaLtX6b/SKGK2MGxgVpDWa0cOAYpb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHqq5j%2FbtsJSaLtX6b%2FSKGK2MGxgVpDWa0cOAYpb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;562&quot; height=&quot;146&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc 디렉토리에서 .conf 로 끝나는 파일 탐색&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-4-find---type-f--exec-grep--h-findme--&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-4 find . -type f -exec grep -H FINDME {} \;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lRHQd/btsJRDm1cxR/xR39uDb2CkRilDxNGXO7X0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lRHQd/btsJRDm1cxR/xR39uDb2CkRilDxNGXO7X0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lRHQd/btsJRDm1cxR/xR39uDb2CkRilDxNGXO7X0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlRHQd%2FbtsJRDm1cxR%2FxR39uDb2CkRilDxNGXO7X0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;875&quot; height=&quot;410&quot; data-origin-width=&quot;875&quot; data-origin-height=&quot;410&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Grep 명령어로 현재 및 하위 디렉토리에서 sample 문자열이 포함된 라인 탐색&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-5-diff--u-somefile-anotherfile&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-5 diff -u somefile anotherfile&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;607&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmxPkX/btsJRpCvfNt/X8ttRzE7VEoSWhRyMzhUK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmxPkX/btsJRpCvfNt/X8ttRzE7VEoSWhRyMzhUK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmxPkX/btsJRpCvfNt/X8ttRzE7VEoSWhRyMzhUK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmxPkX%2FbtsJRpCvfNt%2FX8ttRzE7VEoSWhRyMzhUK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;607&quot; height=&quot;218&quot; data-origin-width=&quot;607&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일간의 차이점 보여주는 명령&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3 줄의 문자열이 담긴 Sample 과 1234 가 담긴 sample2 비교&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-6-echo-com_acme_library--tr-_a-z-a-z&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-6 echo &amp;lsquo;Com_Acme_library&amp;rsquo; | tr &amp;lsquo;_A-Z&amp;rsquo; &amp;lsquo;.a-z&amp;rsquo;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m2qyF/btsJSH9Jy8V/iC7M90iuGKfOMjwcMaTdjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m2qyF/btsJSH9Jy8V/iC7M90iuGKfOMjwcMaTdjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m2qyF/btsJSH9Jy8V/iC7M90iuGKfOMjwcMaTdjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm2qyF%2FbtsJSH9Jy8V%2FiC7M90iuGKfOMjwcMaTdjK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;48&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;글자를 바꾸는 명령&lt;br /&gt;tr 명령으로 ComAcme_library 문자열의&lt;span&gt;&amp;nbsp;&lt;/span&gt;대문자를 모두 .소문자로 바꿈&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-7-sed-명령&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-7 sed 명령&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QZN4p/btsJRpvJcJd/1ueK0iQBsTbeEK4COcElW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QZN4p/btsJRpvJcJd/1ueK0iQBsTbeEK4COcElW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QZN4p/btsJRpvJcJd/1ueK0iQBsTbeEK4COcElW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQZN4p%2FbtsJRpvJcJd%2F1ueK0iQBsTbeEK4COcElW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;686&quot; height=&quot;190&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일의 문자열 일부를 교체&lt;br /&gt;Sample 파일에 저장된 문자열 중 welcome 을 to 로 변환&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4-8-dd-ifdevzero-ofoutputdat-bs1024-count1000&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;4-8 dd if=/dev/zero of=output.dat bs=1024 count=1000&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NmWD5/btsJRpP34YZ/NWLKSvdk1wbpT63k06fQpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NmWD5/btsJRpP34YZ/NWLKSvdk1wbpT63k06fQpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NmWD5/btsJRpP34YZ/NWLKSvdk1wbpT63k06fQpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNmWD5%2FbtsJRpP34YZ%2FNWLKSvdk1wbpT63k06fQpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;844&quot; height=&quot;96&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0 으로채워진 output.dat 이름을 가진 1MB 크기 파일 생성&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;5-재지정과-파이프-작업&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;5. 재지정과 파이프 작업&lt;/h2&gt;
&lt;h3 id=&quot;5-1-command-1-file&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-1 command 1&amp;gt; file&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;273&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzAo3G/btsJSjBpCog/CRk3wsNFHxeq9NfQkvMpT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzAo3G/btsJSjBpCog/CRk3wsNFHxeq9NfQkvMpT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzAo3G/btsJSjBpCog/CRk3wsNFHxeq9NfQkvMpT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzAo3G%2FbtsJSjBpCog%2FCRk3wsNFHxeq9NfQkvMpT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;541&quot; height=&quot;273&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;273&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ls -l 의 표준 출력을 파일로 재지정&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-2-command-2-file&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-2 command 2&amp;gt; file&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;364&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mAt1y/btsJSj2unPW/RJFWxVtmKVBw61eoKr3Qnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mAt1y/btsJSj2unPW/RJFWxVtmKVBw61eoKr3Qnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mAt1y/btsJSj2unPW/RJFWxVtmKVBw61eoKr3Qnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmAt1y%2FbtsJSj2unPW%2FRJFWxVtmKVBw61eoKr3Qnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;364&quot; height=&quot;76&quot; data-origin-width=&quot;364&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ls -l 의 표준에러를 파일로 재지정&lt;br /&gt;3 이라는 명령은 없기 때문에 에러발생&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-3-command--file&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-3 command &amp;amp;&amp;gt; file&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;79&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SiebE/btsJRP1P4zU/EBKd7A4lSG82obEAuo1ZQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SiebE/btsJRP1P4zU/EBKd7A4lSG82obEAuo1ZQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SiebE/btsJRP1P4zU/EBKd7A4lSG82obEAuo1ZQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSiebE%2FbtsJRP1P4zU%2FEBKd7A4lSG82obEAuo1ZQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;79&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;79&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;존재하지 않는 디렉토리를 조회해 발생한 오류를 output.txt 에 저장&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-4-command-file-21&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-4 command &amp;gt;file 2&amp;gt;&amp;amp;1&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령들을 조합해 표준 출력과 에러를 동시에 저장&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-5-command--devnull&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-5 command &amp;gt; /dev/null&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;34&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/PX7fg/btsJRCBy4Rw/kDV97QoVyiciXmyjC7blxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/PX7fg/btsJRCBy4Rw/kDV97QoVyiciXmyjC7blxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/PX7fg/btsJRCBy4Rw/kDV97QoVyiciXmyjC7blxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPX7fg%2FbtsJRCBy4Rw%2FkDV97QoVyiciXmyjC7blxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;437&quot; height=&quot;34&quot; data-origin-width=&quot;437&quot; data-origin-height=&quot;34&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 id=&quot;5-6-command--file&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-6 command &amp;lt; file&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;97&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K6lWo/btsJSi3yPJc/EnP41ize7zZvPACd42QS6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K6lWo/btsJSi3yPJc/EnP41ize7zZvPACd42QS6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K6lWo/btsJSi3yPJc/EnP41ize7zZvPACd42QS6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK6lWo%2FbtsJSi3yPJc%2FEnP41ize7zZvPACd42QS6k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;497&quot; height=&quot;97&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;97&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 명령에 입력&lt;br /&gt;Shell 문자열이 입력된 input.txt 파일을 grep 의 표준입력으로 재지정하여 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력을 /dev/null 로 재지정하여 폐기&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-7-cmd1--cmd2--cmd3&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-7 cmd1 | cmd2 | cmd3&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BdLES/btsJSOHyBFr/pTyKE6BSjvpoJ5SHVApxQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BdLES/btsJSOHyBFr/pTyKE6BSjvpoJ5SHVApxQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BdLES/btsJSOHyBFr/pTyKE6BSjvpoJ5SHVApxQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBdLES%2FbtsJSOHyBFr%2FpTyKE6BSjvpoJ5SHVApxQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;686&quot; height=&quot;143&quot; data-origin-width=&quot;686&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;|파이프를 명령어 사이에 두어 한 프로세스의 표준 출력을 다른 프로세스의 표준입력에 연결&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 디렉토리 내 파일의 크기를 확인하고, 크기를 기준으로 내림차순으로 정렬한 후 상위 5 개 파일을 출력&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;5-8-echo-pipestatus&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;5-8 echo ${PIPESTATUS[@]}&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;519&quot; data-origin-height=&quot;52&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qnznw/btsJRzLLSF2/TgtGMUqEtZHNUZkZUGh29k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qnznw/btsJRzLLSF2/TgtGMUqEtZHNUZkZUGh29k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qnznw/btsJRzLLSF2/TgtGMUqEtZHNUZkZUGh29k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqnznw%2FbtsJRzLLSF2%2FTgtGMUqEtZHNUZkZUGh29k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;519&quot; height=&quot;52&quot; data-origin-width=&quot;519&quot; data-origin-height=&quot;52&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파이프 각 명령의 종료 코드 0 은 정상종료, 141 은 시그널 오류&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;6-시간과-날짜-작업&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;6. 시간과 날짜 작업&lt;/h2&gt;
&lt;h3 id=&quot;6-1-timedatectl-status&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;6-1 timedatectl status&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ciZ0m4/btsJTBOvoTA/RE5QpRuasimKpicHCILBa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ciZ0m4/btsJTBOvoTA/RE5QpRuasimKpicHCILBa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ciZ0m4/btsJTBOvoTA/RE5QpRuasimKpicHCILBa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciZ0m4%2FbtsJTBOvoTA%2FRE5QpRuasimKpicHCILBa0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;635&quot; height=&quot;190&quot; data-origin-width=&quot;635&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;로컬시간, utc 시간, 동기화 상태와 같은 시간 관련 정보 출력&lt;/p&gt;
&lt;h3 id=&quot;6-2-date-y-m-d&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;6-2 date +&amp;rdquo;%Y-%m-%d&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;463&quot; data-origin-height=&quot;53&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9CWPu/btsJSjakSDu/8pO2PBE6L8LXj3dhGl6hx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9CWPu/btsJSjakSDu/8pO2PBE6L8LXj3dhGl6hx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9CWPu/btsJSjakSDu/8pO2PBE6L8LXj3dhGl6hx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9CWPu%2FbtsJSjakSDu%2F8pO2PBE6L8LXj3dhGl6hx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;53&quot; data-origin-width=&quot;463&quot; data-origin-height=&quot;53&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;날짜를 출력하는 date 명령에 포맷을 YYYY-MM-DD 형식 지정하여 출력&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;6-3-date-s&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;6-3 date +%s&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh2NAO/btsJSsLDxQ2/QnLEGFT4oe6G2oTOl8960K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh2NAO/btsJSsLDxQ2/QnLEGFT4oe6G2oTOl8960K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh2NAO/btsJSsLDxQ2/QnLEGFT4oe6G2oTOl8960K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh2NAO%2FbtsJSsLDxQ2%2FQnLEGFT4oe6G2oTOl8960K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;369&quot; height=&quot;49&quot; data-origin-width=&quot;369&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Date 명령에 유닉스 에포크 타임스탬프 생성&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;6-4-date--u-y-m-dthmsz&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;6-4 date -u +&amp;rdquo;%Y-%m-%dT%H:%M:%SZ&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;617&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3rsbQ/btsJSQZFjSq/LSo9uLJwfP1rQHb66OTqR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3rsbQ/btsJSQZFjSq/LSo9uLJwfP1rQHb66OTqR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3rsbQ/btsJSQZFjSq/LSo9uLJwfP1rQHb66OTqR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3rsbQ%2FbtsJSQZFjSq%2FLSo9uLJwfP1rQHb66OTqR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;617&quot; height=&quot;49&quot; data-origin-width=&quot;617&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISO 8601 형식 UTC 타임스탬프를 생성&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;6-5-date-fttz&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;6-5 date +%FT%TZ&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;49&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/css2cX/btsJSP7xyph/GDzCb6SgVltlZP7K6xJgR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/css2cX/btsJSP7xyph/GDzCb6SgVltlZP7K6xJgR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/css2cX/btsJSP7xyph/GDzCb6SgVltlZP7K6xJgR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcss2cX%2FbtsJSP7xyph%2FGDzCb6SgVltlZP7K6xJgR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;415&quot; height=&quot;49&quot; data-origin-width=&quot;415&quot; data-origin-height=&quot;49&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;date -u +&amp;rdquo;%Y-%m-%dT%H:%M:%SZ&amp;rdquo; 타임스탬프 형식의 로컬시간&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;7-깃-작업&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;7. 깃 작업&lt;/h2&gt;
&lt;h3 id=&quot;7-1-git-clone&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-1 git clone&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqgaY0/btsJSk1m5xs/9kBkhLjbvJ3ME90b3IFf2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqgaY0/btsJSk1m5xs/9kBkhLjbvJ3ME90b3IFf2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqgaY0/btsJSk1m5xs/9kBkhLjbvJ3ME90b3IFf2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqgaY0%2FbtsJSk1m5xs%2F9kBkhLjbvJ3ME90b3IFf2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;867&quot; height=&quot;189&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;189&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;깃허브에 생성되어있는 깃 저장소를 복제&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;7-2-git-status&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-2 git status&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yZmpb/btsJSdg8L0t/OPdNHyxQdO37ryAxIGGRak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yZmpb/btsJSdg8L0t/OPdNHyxQdO37ryAxIGGRak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yZmpb/btsJSdg8L0t/OPdNHyxQdO37ryAxIGGRak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyZmpb%2FbtsJSdg8L0t%2FOPdNHyxQdO37ryAxIGGRak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;879&quot; height=&quot;163&quot; data-origin-width=&quot;879&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로컬에서 변경된 사항 확인&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;7-3-git-add---all--git-commit--m-adds-a-super-cool-feature&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-3 git add --all &amp;amp;&amp;amp; git commit -m &quot;adds a super cool feature&quot;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mI7Vj/btsJSGwdqdI/FjmnibtqgCP2kl4v9xwFMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mI7Vj/btsJSGwdqdI/FjmnibtqgCP2kl4v9xwFMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mI7Vj/btsJSGwdqdI/FjmnibtqgCP2kl4v9xwFMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmI7Vj%2FbtsJSGwdqdI%2FFjmnibtqgCP2kl4v9xwFMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;873&quot; height=&quot;271&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 로컬 변경사항 추가 및 커밋&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;7-4-git-rev-parse-head&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-4 git rev-parse HEAD&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BSC9q/btsJRbRTyiL/GaMw7cYSx78cmYlW5RvYik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BSC9q/btsJRbRTyiL/GaMw7cYSx78cmYlW5RvYik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BSC9q/btsJRbRTyiL/GaMw7cYSx78cmYlW5RvYik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBSC9q%2FbtsJRbRTyiL%2FGaMw7cYSx78cmYlW5RvYik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;55&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 커밋의 커밋 ID&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;7-5-git-tag-atag-hash&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-5 git tag ATAG HASH&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;872&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzuTXA/btsJRBvUonC/FosgqtEk1BqcSIAanf21Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzuTXA/btsJRBvUonC/FosgqtEk1BqcSIAanf21Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzuTXA/btsJRBvUonC/FosgqtEk1BqcSIAanf21Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzuTXA%2FbtsJRBvUonC%2FFosgqtEk1BqcSIAanf21Uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;872&quot; height=&quot;93&quot; data-origin-width=&quot;872&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ID HASH 커밋에 ATAG 태그 지정&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;7-6-git-log&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;7-6 git log&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;854&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FBV1t/btsJRdIZdcb/HcCHCkZvzZTyuug4h5riV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FBV1t/btsJRdIZdcb/HcCHCkZvzZTyuug4h5riV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FBV1t/btsJRdIZdcb/HcCHCkZvzZTyuug4h5riV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFBV1t%2FbtsJRdIZdcb%2FHcCHCkZvzZTyuug4h5riV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;854&quot; height=&quot;566&quot; data-origin-width=&quot;854&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 기록 확인&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;8-시스템-성능&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;8. 시스템 성능&lt;/h2&gt;
&lt;h3 id=&quot;8-1-yes--tr-n-x--head--c-450m--grep-z&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;8-1 yes | tr \n x | head -c 450m | grep z&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;295&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpo9E7/btsJRw9kY6g/44MzSDX0vGdcIbFKcO4HDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpo9E7/btsJRw9kY6g/44MzSDX0vGdcIbFKcO4HDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpo9E7/btsJRw9kY6g/44MzSDX0vGdcIbFKcO4HDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbpo9E7%2FbtsJRw9kY6g%2F44MzSDX0vGdcIbFKcO4HDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;295&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;295&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Y 를 끊임없이 출력하는 yes 명령을 tr 명령으로 yx 연속 스트림으로 변환했으며 head 명령은 약 450MB 에&lt;br /&gt;잘라낸다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Grep 은 존재하지 않는 z 에 대해 결과인 yx 블록을 사용해 터미널에 출력은 없지만 여전히 부하를 생성하며 다른&lt;br /&gt;터미널에서 htop 명령에서 시스템 성능을 체크해 부하를 감지했다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;8-2-du--h-home&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;8-2 du -h /home&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/besw86/btsJSfePjMP/OsgR0PBHYPl8TwsmSXg0t0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/besw86/btsJSfePjMP/OsgR0PBHYPl8TwsmSXg0t0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/besw86/btsJSfePjMP/OsgR0PBHYPl8TwsmSXg0t0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbesw86%2FbtsJSfePjMP%2FOsgR0PBHYPl8TwsmSXg0t0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;680&quot; height=&quot;264&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Home 디렉토리 기준으로 디렉토리의 자세한 디스크 사용량을 확인&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;8-3-df--h&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;8-3 df -h&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;871&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnpU33/btsJRdhXE9h/Va6ZbN52FCa6Do1iKX2A8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnpU33/btsJRdhXE9h/Va6ZbN52FCa6Do1iKX2A8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnpU33/btsJRdhXE9h/Va6ZbN52FCa6Do1iKX2A8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnpU33%2FbtsJRdhXE9h%2FVa6ZbN52FCa6Do1iKX2A8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;871&quot; height=&quot;76&quot; data-origin-width=&quot;871&quot; data-origin-height=&quot;76&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 가능한 디스크 공간(전역 공간 기준) 나열&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;8-4-dd-ifdevzero-ofhomesomefile-bs1g-count1-oflagdirect&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;8-4 dd if=/dev/zero of=/home/some/file bs=1G count=1 oflag=direct&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;874&quot; data-origin-height=&quot;77&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmBNTM/btsJRXMg8JQ/YHEwVaRpdpK1tFsr2Y1bW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmBNTM/btsJRXMg8JQ/YHEwVaRpdpK1tFsr2Y1bW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmBNTM/btsJRXMg8JQ/YHEwVaRpdpK1tFsr2Y1bW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmBNTM%2FbtsJRXMg8JQ%2FYHEwVaRpdpK1tFsr2Y1bW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;874&quot; height=&quot;77&quot; data-origin-width=&quot;874&quot; data-origin-height=&quot;77&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스크의 로드를 테스트하고 I/O 처리량 측정&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;54&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3Tr1i/btsJSm5YlfX/UpW8IGiKHpbje9HTRjzBU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3Tr1i/btsJSm5YlfX/UpW8IGiKHpbje9HTRjzBU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3Tr1i/btsJSm5YlfX/UpW8IGiKHpbje9HTRjzBU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3Tr1i%2FbtsJSm5YlfX%2FUpW8IGiKHpbje9HTRjzBU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;54&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;54&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/dev/zero 에서 1GB 의 데이터를 읽어와 /home/student/input.txt 에 씀&lt;br /&gt;특정 디스크의 쓰기 성능 테스트나 큰 파일을 빠르게 만들기 용이&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;참고도서&quot; style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;참고도서&lt;/h3&gt;
&lt;blockquote style=&quot;color: #212529; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모던 리눅스 교과서, Michael Hausenblas 저&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>Linux</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/10</guid>
      <comments>https://sunchan.tistory.com/10#entry10comment</comments>
      <pubDate>Tue, 1 Oct 2024 23:52:06 +0900</pubDate>
    </item>
    <item>
      <title>Chaos Engineering(chaos mesh)</title>
      <link>https://sunchan.tistory.com/9</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;MSA 환경에서는 네트워크 장애, 리소스 부족, Pod 실패와 같은 다양한 오류가 일어났을 시에 원인 지점을 빠르게 찾아내는 기술력이 필수적이다.&lt;br&gt;&amp;nbsp;&lt;br&gt;의도적인 장애나 혼란을 주입해 시스템의 취약점을 찾아내고, 장애가 발생하더라도 안정적으로 동작할 수 있도록 개선할 수 있는 Chaos engineering 오픈 소스 중 Chaos mesh에 대해 다룬다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Chaos Mesh&lt;/h1&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;chaos mesh는, 마치 스위스 군용 칼처럼 다양한 장애 상황을 제어된 방식으로 미리 시뮬레이션할 수 있다. Kubernetes 기반 MSA 환경에서 복잡한 장애 상황을 손쉽게 재현하며, 클러스터에서 안정적으로 실험을 수행한다. Kubernetes와의 완벽한 통합 덕분에 실시간으로 다양한 장애를 주입하고 분석할 수 있다. 다양한 장애 유형(네트워크, 리소스, 시스템 수준의 문제)을 주입해 시스템의 취약점을 사전에 발견하고, 복구 및 개선 작업을 위한 데이터를 제공한다. 또한, 오픈소스 특성상 비용 효율적이고, 다양한 오픈소스 커뮤니티의 지원을 받을 수 있다는 점에서도 강점이 있다. 이러한 이유로 Chaos Mesh를 선정했다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Chaos Mesh 구성과 동작 방식&lt;/h1&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;Chaos Mesh는 Kubernetes CRD 기반의 Chaos Engineering 도구로, 시스템에 제어된 방식으로 다양한 장애를 시뮬레이션하여 복원력을 테스트하는 역할을 수행하며, Chaos Dashboard, Chaos Controller Manager, Chaos Daemon 세 가지 핵심 구성 요소로 이루어져 있다.&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;Chaos Mesh구성&lt;/h2&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;Chaos Dashboard&lt;/b&gt;: 사용자에게 시각적 인터페이스를 제공하며, Chaos 실험을 설정하고 모니터링할 수 있는 웹 대시보드. RBAC(Role-Based Access Control)에 기반한 권한 관리가 가능하다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Chaos Controller Manager&lt;/b&gt;: Chaos Mesh의 핵심 제어 컴포넌트로, 다양한 실험을 스케줄링하고 관리한다. Kubernetes API 서버와 통신하여 이벤트를 수신하고, CRD(사용자 정의 리소스)를 기반으로 실험을 실행한다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Chaos Daemon&lt;/b&gt;: 장애 실험을 실제로 실행하는 구성 요소로, DaemonSet 방식으로 배포되며, 노드의 리소스 및 네임스페이스를 제어한다. 이를 통해 특정 네트워크 장치나 CPU, 메모리 등의 자원을 혼란시키는 방식으로 실험을 수행한다.&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3040&quot; data-origin-height=&quot;3720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqQJw8/btsJLYYykAU/ZTKizt2bTUy4sw4sCOq0c0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqQJw8/btsJLYYykAU/ZTKizt2bTUy4sw4sCOq0c0/img.png&quot; data-alt=&quot;docs를 참조하여 임의로 그려본 구성도입니다. 혹시 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqQJw8/btsJLYYykAU/ZTKizt2bTUy4sw4sCOq0c0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqQJw8%2FbtsJLYYykAU%2FZTKizt2bTUy4sw4sCOq0c0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3040&quot; height=&quot;3720&quot; data-origin-width=&quot;3040&quot; data-origin-height=&quot;3720&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;docs를 참조하여 임의로 그려본 구성도입니다. 혹시 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;Chaos Mesh의 아키텍처는 3 부분으로 나눌 수 있으며 역할에 따라 임의로 이름을 붙여주었다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;user input Layer : 사용자는 kubectl cli, client.apply(), dashboard ui 3가지 방식으로 input을 줄 수 있다. 3가지 방식 모두 chaos mesh의 Controller Manager와 직접적으로 상호작용하는 것이 아니라 Network Chaos, Stress Chaos 등 쿠버네티스의 리소스를 변경한다&lt;/li&gt;&lt;li&gt;experiments Layer : 쿠버네티스의 api server가 리소스의 변경사항을 모니터링하고 스케쥴링하는 레이어이다. api server는 input Layer에서 입력된 리소스 변경을 감지하고 Chaos Controller Manager로 변경 사항을 전달한다.&lt;/li&gt;&lt;li&gt;Injection fault Layer : 본격적으로 장애를 주입하는 레이어이다. Chaos Daemon은 Chaos Controller Management의 명령을 수락하고 대상(pod, node 등)을 해킹하여 오류를 주입한다. 특정 오류에는 CPU 스트레스, 네트워크 지연, 특정 pod 접근 차단이나 실패처리 등 다양한 기능이 있으며, 예를 들면 CPU 또는 메모리 리소스를 선점하기 위해 stress-ng 프로세스를 실행하는것이 있다.&lt;/li&gt;&lt;/ul&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;설치 및 테스트&lt;/h2&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;Helm사용하여 Chaos Mesh 설치&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 활용한 gitops에 유리하도록 Helm을 이용해 설치했다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# add chaos-mesh chart
$ helm repo add chaos-mesh https://charts.chaos-mesh.org

# create namespace chaos-mesh
$ kubectl create ns chaos-mesh

# install choas-mesh version-2.6.3
$ helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-mesh --version 2.6.3

# check resource
$ kubectl get deployments.apps -n chaos-mesh
NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READY&amp;nbsp;&amp;nbsp; UP-TO-DATE&amp;nbsp;&amp;nbsp; AVAILABLE&amp;nbsp;&amp;nbsp; AGE
chaos-controller-manager&amp;nbsp;&amp;nbsp; 3/3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39h
chaos-dashboard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39h
chaos-dns-server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39h&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;Dashboard 접근&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;port-forward, ingress 등의 방식으로 dashboard에 접근하면 ui 방식으로 Chaos-mesh를 사용할 수 있다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;500&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFseTX/btsJMe07TAr/SYBsyWydPVQ2CF7K0kXmy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFseTX/btsJMe07TAr/SYBsyWydPVQ2CF7K0kXmy0/img.png&quot; data-alt=&quot;최초 접속 시 RBAC 기반의 token 값을 입력해야 접속이 가능하다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFseTX/btsJMe07TAr/SYBsyWydPVQ2CF7K0kXmy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFseTX%2FbtsJMe07TAr%2FSYBsyWydPVQ2CF7K0kXmy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;500&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;500&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;최초 접속 시 RBAC 기반의 token 값을 입력해야 접속이 가능하다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1599&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cxbsKS/btsJLAcUBck/IBFk2jEdTMOPLZcWUUKi71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cxbsKS/btsJLAcUBck/IBFk2jEdTMOPLZcWUUKi71/img.png&quot; data-alt=&quot;Click here to generate 버튼을 클릭하면 manifest 파일 예시문을 작성해준다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cxbsKS/btsJLAcUBck/IBFk2jEdTMOPLZcWUUKi71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxbsKS%2FbtsJLAcUBck%2FIBFk2jEdTMOPLZcWUUKi71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1599&quot; height=&quot;1000&quot; data-origin-width=&quot;1599&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Click here to generate 버튼을 클릭하면 manifest 파일 예시문을 작성해준다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cluster scoped 버튼을 클릭하면 클러스터 전체에서 통하는 clusterrole 생성 manifest 파일을 작성해준다.&lt;br&gt;&amp;nbsp;&lt;br&gt;Cluster scoped&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kind: ServiceAccount
apiVersion: v1
metadata:
&amp;nbsp;&amp;nbsp;namespace: default
&amp;nbsp;&amp;nbsp;name: account-cluster-viewer-ucken

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
&amp;nbsp;&amp;nbsp;name: role-cluster-viewer-&amp;lt;랜덤 값&amp;gt;
rules:
- apiGroups: [&quot;&quot;]
&amp;nbsp;&amp;nbsp;resources: [&quot;pods&quot;, &quot;namespaces&quot;]
&amp;nbsp;&amp;nbsp;verbs: [&quot;get&quot;, &quot;watch&quot;, &quot;list&quot;]
- apiGroups: [&quot;chaos-mesh.org&quot;]
&amp;nbsp;&amp;nbsp;resources: [ &quot;*&quot; ]
&amp;nbsp;&amp;nbsp;verbs: [&quot;get&quot;, &quot;list&quot;, &quot;watch&quot;]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
&amp;nbsp;&amp;nbsp;name: bind-cluster-viewer-&amp;lt;랜덤 값&amp;gt;
subjects:
- kind: ServiceAccount
&amp;nbsp;&amp;nbsp;name: account-cluster-viewer-&amp;lt;랜덤 값&amp;gt;
&amp;nbsp;&amp;nbsp;namespace: default
roleRef:
&amp;nbsp;&amp;nbsp;kind: ClusterRole
&amp;nbsp;&amp;nbsp;name: role-cluster-viewer-ucken
&amp;nbsp;&amp;nbsp;apiGroup: rbac.authorization.k8s.io&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;cluster scoped 버튼을 해제하면 특정 네임스페이스에 대한 role 리소스에 대한 manifest 파일을 작성해준다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kind: ServiceAccount
apiVersion: v1
metadata:
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
&amp;nbsp;&amp;nbsp;name: account-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
&amp;nbsp;&amp;nbsp;name: role-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;
rules:
- apiGroups: [&quot;&quot;]
&amp;nbsp;&amp;nbsp;resources: [&quot;pods&quot;, &quot;namespaces&quot;]
&amp;nbsp;&amp;nbsp;verbs: [&quot;get&quot;, &quot;watch&quot;, &quot;list&quot;]
- apiGroups: [&quot;chaos-mesh.org&quot;]
&amp;nbsp;&amp;nbsp;resources: [ &quot;*&quot; ]
&amp;nbsp;&amp;nbsp;verbs: [&quot;get&quot;, &quot;list&quot;, &quot;watch&quot;, &quot;create&quot;, &quot;delete&quot;, &quot;patch&quot;, &quot;update&quot;]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
&amp;nbsp;&amp;nbsp;name: bind-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
subjects:
- kind: ServiceAccount
&amp;nbsp;&amp;nbsp;name: account-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
roleRef:
&amp;nbsp;&amp;nbsp;kind: Role
&amp;nbsp;&amp;nbsp;name: role-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;
&amp;nbsp;&amp;nbsp;apiGroup: rbac.authorization.k8s.io&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;br&gt;파일을 작성하고, 쿠버네티스에 apply하면 토큰 생성을 위한 각 리소스가 배포된다.&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ kubectl apply -f rbac.yaml

$ kubectl create token account-chaos-mesh-manager-&amp;lt;랜덤 값&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot;&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;UI 소개&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Dashboard 메인 페이지&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QUNyr/btsJLt5QCw1/BcK7b1CJ06QgQXnOj6GKsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QUNyr/btsJLt5QCw1/BcK7b1CJ06QgQXnOj6GKsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QUNyr/btsJLt5QCw1/BcK7b1CJ06QgQXnOj6GKsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQUNyr%2FbtsJLt5QCw1%2FBcK7b1CJ06QgQXnOj6GKsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kubectl create token 명령으로 ServiceAccount에 대한 token 값을 생성 후 dashboard에 입력해서 로그인해준다.&lt;br&gt;메인 페이지에는 왼쪽부터 각 서비스로 연결되는 버튼이 있으며, 현재 생성된 Experiments, Schedules, Workflows 수와 더불어 최근 이벤트를 확인할 수 있다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Experiments&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fbeut/btsJMrspw4L/kbY2xdkH4woPH1BCvoTUv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fbeut/btsJMrspw4L/kbY2xdkH4woPH1BCvoTUv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fbeut/btsJMrspw4L/kbY2xdkH4woPH1BCvoTUv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFbeut%2FbtsJMrspw4L%2FkbY2xdkH4woPH1BCvoTUv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Experiments 탭에서는 쿠버네티스, 호스트에 개별적으로 장애를 주입할 수 있는 시나리오를 버튼과 텍스트 필드 형식으로 손쉽게 작성할 수 있다.&lt;br&gt;기본적으로 제공하는 장애 주입 방법은 다음과 같다&lt;br&gt;&lt;b&gt;kubernetes&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
 &lt;li&gt;AWS/GCP Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;Stop EC2/node : 인스턴스 중지&lt;/li&gt; 
   &lt;li&gt;Restart EC2 / Reset node : 인스턴스 재시작&lt;/li&gt; 
   &lt;li&gt;Detach volume / Loss disk : 인스턴스에서 스토리지 볼륨을 제거&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Block Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;delay : 블록 장치의 대기 시간 delay&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;DNS Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;random : 작성한 도메인에 대한 접속 시 임의의 IP 반환&lt;/li&gt; 
   &lt;li&gt;errer : 작성한 도메인에 대한 접속시 오류 반환&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;IO Injection 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;latency : 파일 시스템 호출을 지연&lt;/li&gt; 
   &lt;li&gt;fault : 파일 시스템 호출에 대한 오류를 반환&lt;/li&gt; 
   &lt;li&gt;attrOverride : 파일 속성을 수정&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;HTTP Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;abort : 연결을 중단&lt;/li&gt; 
   &lt;li&gt;delay : 요청이나 응답에 지연 시간을 주입&lt;/li&gt; 
   &lt;li&gt;replace : HTTP 요청 또는 응답 메시지의 일부 내용을 대체&lt;/li&gt; 
   &lt;li&gt;patch : HTTP 요청 또는 응답 메시지에 추가 콘텐츠를 추가&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Kernel Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;KernelChaos를 사용하여 Linux 커널 오류를 시뮬레이션 지정된 커널 경로에 I/O 기반 또는 메모리 기반 오류를 주입&lt;/li&gt; 
   &lt;li&gt;주입 대상을 하나 이상의 Pod로 설정할 수 있지만, 모든 Pod가 동일한 커널을 공유하기 때문에 호스트의 다른 Pod 성능에 영향&lt;/li&gt; 
   &lt;li&gt;기본적으로 비활성화 되는 기능이며 프로덕션 환경에서 사용은 위험&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Network Attack 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;Partition: 네트워크 연결 해제 및 분할&lt;/li&gt; 
   &lt;li&gt;Net Emulation: 높은 지연, 높은 패킷 손실률, 패킷 재정렬&lt;/li&gt; 
   &lt;li&gt;Bandwidth: 노드 간 통신 대역폭을 제한&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Pod Fault 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;Pod Failure : Pod에 오류를 주입하여 일정 시간 동안 Pod를 사용할 수 없게 만듦&lt;/li&gt; 
   &lt;li&gt;Pod Kill : Pod 종료, Pod를 성공적으로 다시 시작할 수 있도록 하려면 ReplicaSet 등을 사전에 구성&lt;/li&gt; 
   &lt;li&gt;Container Kill : 대상 Pod에 있는 지정된 컨테이너를 종료&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Stress Test 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;CPU, Memory 등에 대한 Stress Test&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Clock Skew 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;시간 오프셋 시나리오를 시뮬레이션&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;JVM Fault 
  &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;가비지 수집 트리거&lt;/li&gt; 
   &lt;li&gt;메서드 대기 시간 증가&lt;/li&gt; 
   &lt;li&gt;메서드의 반환 값 수정&lt;/li&gt; 
   &lt;li&gt;Byteman 구성 파일을 설정하여 오류 트리거&lt;/li&gt; 
   &lt;li&gt;JVM 압력 증가&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;h3 data-ke-size=&quot;size23&quot;&gt;장애 주입 시&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LoGPI/btsJLXyCWuA/Xqx1x0bx2WrLeQkByeIN61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LoGPI/btsJLXyCWuA/Xqx1x0bx2WrLeQkByeIN61/img.png&quot; data-alt=&quot;특정 워커노드에 CPU Stress를 준 시나리오이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LoGPI/btsJLXyCWuA/Xqx1x0bx2WrLeQkByeIN61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLoGPI%2FbtsJLXyCWuA%2FXqx1x0bx2WrLeQkByeIN61%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;특정 워커노드에 CPU Stress를 준 시나리오이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dashboard에서 장애 주입시 위와 같이 이벤트가 실행중인 task, 실제 쿠버네티스 환경에서 사용 가능한&lt;br&gt;manifest 코드도 확인할 수 있다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Schedules&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/shpaL/btsJL0aZg97/MveA7WSe4zvH9KXq7KKU1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/shpaL/btsJL0aZg97/MveA7WSe4zvH9KXq7KKU1K/img.png&quot; data-alt=&quot;Schedules 탭에서는 다양한 장애 주입 시나리오를 버튼과 텍스트 필드를 확인할 수 있으며, cronjob 형식(분 시 일 월 요일)으로 일정을 관리할 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/shpaL/btsJL0aZg97/MveA7WSe4zvH9KXq7KKU1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FshpaL%2FbtsJL0aZg97%2FMveA7WSe4zvH9KXq7KKU1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Schedules 탭에서는 다양한 장애 주입 시나리오를 버튼과 텍스트 필드를 확인할 수 있으며, cronjob 형식(분 시 일 월 요일)으로 일정을 관리할 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Events&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bilBNf/btsJNvnhVIb/1qxiW6nY715w4k1UBl70BK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bilBNf/btsJNvnhVIb/1qxiW6nY715w4k1UBl70BK/img.png&quot; data-alt=&quot;지금까지 실행되었던 이벤트들의 UUID, Namespace, name, Kind, 시작시간, Message를 확인할 수 있다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bilBNf/btsJNvnhVIb/1qxiW6nY715w4k1UBl70BK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbilBNf%2FbtsJNvnhVIb%2F1qxiW6nY715w4k1UBl70BK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;지금까지 실행되었던 이벤트들의 UUID, Namespace, name, Kind, 시작시간, Message를 확인할 수 있다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Archives&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F9UJz/btsJLhYQ4ol/puUpCw8WzbdHQKd6lPNs31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F9UJz/btsJLhYQ4ol/puUpCw8WzbdHQKd6lPNs31/img.png&quot; data-alt=&quot;아카이빙된 Workflow, Schedule, Experiments가 보관되는 탭이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F9UJz/btsJLhYQ4ol/puUpCw8WzbdHQKd6lPNs31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF9UJz%2FbtsJLhYQ4ol%2FpuUpCw8WzbdHQKd6lPNs31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;아카이빙된 Workflow, Schedule, Experiments가 보관되는 탭이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Settings&lt;/h3&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KKOif/btsJLI2PwHt/1eNFFfApYtN1rG25KjIwKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KKOif/btsJLI2PwHt/1eNFFfApYtN1rG25KjIwKk/img.png&quot; data-alt=&quot;Dashboard 상에서 Experiments, Workflows에 대해 몇가지 설정을 할 수 있는 탭이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KKOif/btsJLI2PwHt/1eNFFfApYtN1rG25KjIwKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKKOif%2FbtsJLI2PwHt%2F1eNFFfApYtN1rG25KjIwKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Dashboard 상에서 Experiments, Workflows에 대해 몇가지 설정을 할 수 있는 탭이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Experiments&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;Debug mode : 실험을 생성해도 실제 HTTP 요청은 전송되지 않지만 콘솔에 관련 정보가 인쇄&lt;/li&gt;&lt;li&gt;Allow kube-system namespace : 실험 시 kube-system 네임스페이스 선택 가능&lt;/li&gt;&lt;li&gt;Use new PhysicalMachine CRD : PhysicalMachineChaos를 생성할 때 주소 필드를 제공하는 대신 사용 가능한 PhysicalMachines를 검색&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Workflows&lt;/b&gt;&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
 &lt;li&gt;Use the next generation of workflow interface 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;리팩토링 된 Workflows 인터페이스 사용가능&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;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpKF9E/btsJL8NqDL2/bxoNKYz890MdMdUYIh8Guk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpKF9E/btsJL8NqDL2/bxoNKYz890MdMdUYIh8Guk/img.png&quot; data-alt=&quot;Workflows 적용 후 마치 블록 코딩 서비스 처럼 인터페이스가 바뀜&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpKF9E/btsJL8NqDL2/bxoNKYz890MdMdUYIh8Guk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpKF9E%2FbtsJL8NqDL2%2FbxoNKYz890MdMdUYIh8Guk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Workflows 적용 후 마치 블록 코딩 서비스 처럼 인터페이스가 바뀜&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;장애 주입 테스트&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;chaos mesh 대시보드와 k8s 환경에서 각각 테스트 해보았다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Dashboard&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Z4KCu/btsJNtJL1bo/AjJowfwY3f9hm0vwZkGM91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Z4KCu/btsJNtJL1bo/AjJowfwY3f9hm0vwZkGM91/img.png&quot; data-alt=&quot;우리 서비스가 배포중인 bookshop namespace에 랜덤하게 20%의 Pod Kill을 주입했다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Z4KCu/btsJNtJL1bo/AjJowfwY3f9hm0vwZkGM91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ4KCu%2FbtsJNtJL1bo%2FAjJowfwY3f9hm0vwZkGM91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;우리 서비스가 배포중인 bookshop namespace에 랜덤하게 20%의 Pod Kill을 주입했다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;Namespace : bookshop&lt;/li&gt;&lt;li&gt;Mode : Fixed Percent&lt;/li&gt;&lt;li&gt;Name : pod kill 20%&lt;/li&gt;&lt;/ul&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6Lw7I/btsJMo3u1qG/yd42Pjp6ukqtaXE5y73UfK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6Lw7I/btsJMo3u1qG/yd42Pjp6ukqtaXE5y73UfK/img.png&quot; data-alt=&quot;bookshop namesapce의 8개 Pod 중 order-service와 dispatcher-service가 Terminating되었지만 Deployment 형태로 배포중이었기에 바로 복구되었다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6Lw7I/btsJMo3u1qG/yd42Pjp6ukqtaXE5y73UfK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6Lw7I%2FbtsJMo3u1qG%2Fyd42Pjp6ukqtaXE5y73UfK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;bookshop namesapce의 8개 Pod 중 order-service와 dispatcher-service가 Terminating되었지만 Deployment 형태로 배포중이었기에 바로 복구되었다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KtRVa/btsJNeTrCIA/UnNcXqQqY9CYzZ1BtGYKAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KtRVa/btsJNeTrCIA/UnNcXqQqY9CYzZ1BtGYKAK/img.png&quot; data-alt=&quot;실제 프로덕션 환경이라면 위 테스트처럼 장애가 발생했을 때 사용자는 책 주문 서비스를 이용할 수 없었을 것이다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KtRVa/btsJNeTrCIA/UnNcXqQqY9CYzZ1BtGYKAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKtRVa%2FbtsJNeTrCIA%2FUnNcXqQqY9CYzZ1BtGYKAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;실제 프로덕션 환경이라면 위 테스트처럼 장애가 발생했을 때 사용자는 책 주문 서비스를 이용할 수 없었을 것이다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;Kubernetes&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;k8s 환경에서 yaml파일을 작성해 장애 주입 테스트&lt;br&gt;&amp;nbsp;&lt;br&gt;StressChaos&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;apiVersion: chaos-mesh.org/v1alpha1
kind: StressChaos
metadata:
&amp;nbsp;&amp;nbsp;name: stress-cpu-80
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
spec:
&amp;nbsp;&amp;nbsp;mode: one&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;selector:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nodeSelectors:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kubernetes.io/hostname: &amp;lt;대상 노드&amp;gt; 
&amp;nbsp;&amp;nbsp;stressors:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cpu:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workers: 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;load: 50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;duration: &quot;180s&quot;&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스에 CPU에 Stress를 주입하는 manifest 파일이다.&lt;br&gt;작성한 파일을 배포하면, StressChaos 리소스가 생성되며 Stress Test가 시작된다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IwLMn/btsJK8HMGVB/4I7arIvWbrwiy8lg8vD2Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IwLMn/btsJK8HMGVB/4I7arIvWbrwiy8lg8vD2Wk/img.png&quot; data-alt=&quot;apply 명령 후 Stresschaos 리소스가 생성되고, 26초 뒤 CPU가 62%로 상승하였다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IwLMn/btsJK8HMGVB/4I7arIvWbrwiy8lg8vD2Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIwLMn%2FbtsJK8HMGVB%2F4I7arIvWbrwiy8lg8vD2Wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;1000&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;apply 명령 후 Stresschaos 리소스가 생성되고, 26초 뒤 CPU가 62%로 상승하였다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;NetworkChaos&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;apiVersion: chaos-mesh.org/v1alpha1
kind: NetworkChaos
metadata:
&amp;nbsp;&amp;nbsp;name: network-denie
&amp;nbsp;&amp;nbsp;namespace: chaos-mesh
spec:
&amp;nbsp;&amp;nbsp;action: partition
&amp;nbsp;&amp;nbsp;mode: all
&amp;nbsp;&amp;nbsp;selector:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;namespaces:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- bookshop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labelSelectors:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'app': 'edge-service'
&amp;nbsp;&amp;nbsp;direction: to
&amp;nbsp;&amp;nbsp;target:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode: all
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selector:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;namespaces:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- bookshop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labelSelectors:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'app': 'polar-ui'&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 full-accel.com이라는 도메인으로 접속할 시에 연결되는 edge-service와 polar-ui간의 접속을 NetworkChaos 리소스를 통해 차단했다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dIQL9R/btsJLvijj0Z/jRIZpACQCbpwisj68J6jL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dIQL9R/btsJLvijj0Z/jRIZpACQCbpwisj68J6jL1/img.png&quot; data-alt=&quot;웹 브라우저에서 서비스 접속 시 Error Page를 반환한다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dIQL9R/btsJLvijj0Z/jRIZpACQCbpwisj68J6jL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIQL9R%2FbtsJLvijj0Z%2FjRIZpACQCbpwisj68J6jL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;1000&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;웹 브라우저에서 서비스 접속 시 Error Page를 반환한다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EjYJO/btsJNg4N8ce/ed5KAr6PeVL9zJK19o9ca0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EjYJO/btsJNg4N8ce/ed5KAr6PeVL9zJK19o9ca0/img.png&quot; data-alt=&quot;kiali Dashoard에서 polar-ui로의 접속이 차단된 것을 시각적으로도 확인했다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EjYJO/btsJNg4N8ce/ed5KAr6PeVL9zJK19o9ca0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEjYJO%2FbtsJNg4N8ce%2Fed5KAr6PeVL9zJK19o9ca0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1600&quot; height=&quot;1000&quot; data-origin-width=&quot;1600&quot; data-origin-height=&quot;1000&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;kiali Dashoard에서 polar-ui로의 접속이 차단된 것을 시각적으로도 확인했다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br&gt;Chaos engineering 플랫폼 중 하나인 Chaos mesh를 사용한 장애 주입 테스트를 진행했다. 테스트 환경에서는 Pod가 바로 재시작되고, Chaos 리소스 삭제 시 서비스가 바로 정상으로 돌아왔다.&lt;br&gt;&amp;nbsp;&lt;br&gt;의도된 장애 주입이기에 빠른 추적이 가능했지만, 프로덕션 환경에서는 Pod가 바로 생성된다는 보장이 없고, 서비스에 따라 완전한 복구까지의 소요 시간이 상이할 수 있다. 바로 생성된다고해도 running상태까지의 소요 시간도 서비스별로 상이하다. 이를 고려하여 Manifest 파일에서 여러 개의 replica를 설정해 각각 여러 노드에 분산 배포하는 등 안정성을 높이는 것이 중요하다.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;hr 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;Chaos Mesh 시뮬레이션을 활용한 분석&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;테스트 결과, 복잡한 MSA 환경에서 네트워크 장애나 서비스 장애가 발생할 때 빠르게 대응하는 것이 매우 중요함을 알 수 있었다. Chaos Mesh를 통해 이러한 장애 상황을 미리 시뮬레이션하여 문제를 사전에 파악할 수 있다는 점은 큰 장점이다. 또한, 장애 발생 시 빠른 추적을 가능하게 하기 위해 Observability(관찰성) 도구들을 미리 구축하는 것이 효과적이었다. Prometheus, Grafana, Jaeger, kiali와 같은 오픈소스 도구를 사용하여 실시간으로 시스템 상태를 모니터링하고 장애 원인을 추적함으로써, 문제를 빠르게 진단하고 대응할 수 있는 준비가 되어 있음을 확인했다.&lt;br&gt;결국, Chaos Mesh와 같은 도구를 활용한 사전 테스트는 시스템의 복원력과 신뢰성을 강화하는 데 필수적이며, 이를 통해 장애 발생 시 대응 시간을 최소화하고 프로덕션 환경에서의 안정성을 높일 수 있다.&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고 문서&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://chaos-mesh.org/docs/&quot; target=&quot;_self&quot;&gt;&lt;span&gt;Chaos mesh docs&lt;/span&gt;&lt;/a&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>chaos engineering</category>
      <category>chaos mesh</category>
      <category>카오스 엔지니어링</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/9</guid>
      <comments>https://sunchan.tistory.com/9#entry9comment</comments>
      <pubDate>Thu, 26 Sep 2024 02:10:07 +0900</pubDate>
    </item>
    <item>
      <title>Azure의 AKS에서 karpenter 사용</title>
      <link>https://sunchan.tistory.com/8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Karpenter는 쿠버네티스 클러스터 자동 확장에 정말 유용한 도구로 많이 알려져 있지만 Azure 환경에서의 정보는 거의 없는 것 같습니다.&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;그래서 이번 글에서는 AKS에서 Karpenter를 구성하고 활용하는 방법에 대해 공유해 보려고 합니다.&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;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1. 사전 설정&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;소프트웨어 버전&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 37.2075%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.814%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;WSL Ubuntu&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Ubuntu 22.04.3 LTS&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.814%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;Azure CLI&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2.64.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.814%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;Helm&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;v3.15.4&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 15.814%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;AKS&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.2791%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;1.29.7&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Azure vm vCPU(수량) 메모리(GB)&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 29.5339%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 19.6512%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Standard_D2_v4&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 3.83724%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;2&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 6.04658%; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;8&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;제한 사항 및 지원되지 않는 기능 (Azure docs참고)&lt;/span&gt;&lt;/b&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;제한 사항&lt;/b&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;허용되는 유일한 네트워크 구성은&amp;nbsp;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/azure-cni-powered-by-cilium&quot;&gt;Cilium 제공&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/concepts-network-azure-cni-overlay&quot;&gt;Azure CNI 오버레이&lt;/a&gt;입니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;노드 풀에 클러스터 자동 크기 조정기가 사용하도록 설정된 클러스터에서는 사용하도록 설정할 수 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;지원되지 않는 기능&lt;/b&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Windows 노드 풀&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;노드 kubelet에 사용자 지정 구성 적용&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;IPv6 클러스터&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/kubernetes-service-principal&quot;&gt;서비스 주체&lt;/a&gt;시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 사용할 수 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;디스크 암호화 집합&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;CustomCATrustCertificates&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/start-stop-cluster&quot;&gt;시작 중지 모드&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/http-proxy&quot;&gt;HTTP 프록시&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/egress-outboundtype&quot;&gt;OutboundType&lt;/a&gt;&amp;nbsp;변형입니다. 모든 OutboundType은 지원되지만 만든 후에는 변경할 수 없습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; 2. AKS 상에서 작업 &lt;/span&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1726765282233&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 명령에 사용될 변수 값 지정
export CLUSTER_NAME=karpenter
export RG=karpenter
export LOCATION='koreacentral'
export KARPENTER_NAMESPACE=kube-system

# 리소스 그룹 생성
$ az group create --name ${RG} --location ${LOCATION}
{
  &quot;id&quot;: &quot;/subscriptions/&amp;lt;Subscription ID&amp;gt;/resourceGroups/karpenter&quot;,
  &quot;location&quot;: &quot;koreacentral&quot;,
  &quot;managedBy&quot;: null,
  &quot;name&quot;: &quot;karpenter&quot;,
  &quot;properties&quot;: {
    &quot;provisioningState&quot;: &quot;Succeeded&quot;
  },
  &quot;tags&quot;: null,
  &quot;type&quot;: &quot;Microsoft.Resources/resourceGroups&quot;
}

# karpentermsi이름으로 Managed Identity 생성
$ KMSI_JSON=$(az identity create --name karpentermsi --resource-group &quot;${RG}&quot; --location &quot;${LOCATION}&quot;)

# Microsoft.ContainerService 제공자를 등록
$ az provider register --namespace Microsoft.ContainerService

# aks 생성
$ AKS_JSON=$(az aks create \
  --name &quot;${CLUSTER_NAME}&quot; --resource-group &quot;${RG}&quot; \
  --node-count 2 --generate-ssh-keys \
  --network-plugin azure --network-plugin-mode overlay --network-dataplane cilium \
  --enable-managed-identity \
  --enable-oidc-issuer --enable-workload-identity)
  
# aks에서 작업할 수 있도록 자격증명 등록 역할 할당
$ az aks get-credentials --name &quot;${CLUSTER_NAME}&quot; --resource-group &quot;${RG}&quot; --overwrite-existing
Merged &quot;karpenter&quot; as current context in /home/ubuntu/.kube/config

# 인증 사용을 위해 karpenter 서비스 계정에 연결된 연합 자격 증명 생성.
$ az identity federated-credential create \
  --name KARPENTER_FID --identity-name karpentermsi --resource-group &quot;${RG}&quot;  \
  --issuer &quot;$(jq -r &quot;.oidcIssuerProfile.issuerUrl&quot; &amp;lt;&amp;lt;&amp;lt; &quot;$AKS_JSON&quot;)&quot;  \
   --subject system:serviceaccount:${KARPENTER_NAMESPACE}:karpenter-sa \ 
   --audience api://AzureADTokenExchange
{
  &quot;audiences&quot;: [
    &quot;api://AzureADTokenExchange&quot;
  ],
  &quot;id&quot;: &quot;/subscriptions/&amp;lt;구독 id&amp;gt;/resourcegroups/karpenter/providers/Microsoft.ManagedIdentity/userAssignedIdentities/karpentermsi/federatedIdentityCredentials/KARPENTER_FID&quot;,
  &quot;issuer&quot;: &quot;https://koreacentral.oic.prod-aks.azure.com/2c667446-26d0-430d-8fe5-373c81417422/87e6b018-64f9-4531-9b73-ead801527cb4/&quot;,
  &quot;name&quot;: &quot;KARPENTER_FID&quot;,
  &quot;resourceGroup&quot;: &quot;karpenter&quot;,
  &quot;subject&quot;: &quot;system:serviceaccount:kube-system:karpenter-sa&quot;,
  &quot;systemData&quot;: null,
  &quot;type&quot;: &quot;Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials&quot;
}

# karpenter가 vm, 네트워크 리소스를 관리할 수 있도록 역할 할당
$ KARPENTER_USER_ASSIGNED_CLIENT_ID=$(jq -r '.principalId' &amp;lt;&amp;lt;&amp;lt; &quot;$KMSI_JSON&quot;)
RG_MC=$(jq -r &quot;.nodeResourceGroup&quot; &amp;lt;&amp;lt;&amp;lt; &quot;$AKS_JSON&quot;)
RG_MC_RES=$(az group show --name &quot;${RG_MC}&quot; --query &quot;id&quot; -otsv)
for role in &quot;Virtual Machine Contributor&quot; &quot;Network Contributor&quot; &quot;Managed Identity Operator&quot;; do
  az role assignment create --assignee &quot;${KARPENTER_USER_ASSIGNED_CLIENT_ID}&quot; --scope &quot;${RG_MC_RES}&quot; --role &quot;$role&quot;
done&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;3. helm install&lt;/span&gt;&lt;/h3&gt;
&lt;pre class=&quot;vim&quot;&gt;&lt;code&gt;curl -sO &amp;lt;https://raw.githubusercontent.com/Azure/karpenter-provider-azure/main/hack/deploy/configure-values.sh&amp;gt;
chmod +x ./configure-values.sh &amp;amp;&amp;amp; ./configure-values.sh ${CLUSTER_NAME} ${RG} karpenter-sa karpentermsi
&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;a href=&quot;http://configure-values.sh&quot;&gt;configure-values.sh의&lt;/a&gt; 마지막줄 yq 대신 envsubst &amp;lt; karpenter-values-template.yaml &amp;gt; karpenter-values.yaml로 수정&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;vim&quot;&gt;&lt;code&gt;$ export KARPENTER_VERSION=0.5.1

$ helm upgrade --install karpenter oci://mcr.microsoft.com/aks/karpenter/karpenter \\
  --version &quot;${KARPENTER_VERSION}&quot; \\
  --namespace &quot;${KARPENTER_NAMESPACE}&quot; --create-namespace \\
  --values karpenter-values.yaml \\
  --set controller.resources.requests.cpu=1 \\
  --set controller.resources.requests.memory=1Gi \\
  --set controller.resources.limits.cpu=1 \\
  --set controller.resources.limits.memory=1Gi \\
  --wait
  
$ k get po -n kube-system | grep karpenter
karpenter-5cf5cc5d5b-k5f9q  1/1  Running   0   2m10s
&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;4. NodePool, AKSNodeClass 생성&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;nodeclass 생성 시 imageVersion을 명시하지 않으면 node를 감지하지 못해 aks 노드그룹에 추가되지 않는 오류 발생&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;yaml&quot;&gt;&lt;code&gt;$ cat &amp;lt;&amp;lt;EOF | kubectl apply -f -
---
apiVersion: karpenter.sh/v1beta1
kind: NodePool
metadata:
  name: general-purpose
  annotations:
    kubernetes.io/description: &quot;General purpose NodePool for generic workloads&quot;
spec:
  template:
    spec:
      requirements:
        - key: kubernetes.io/arch
          operator: In
          values: [&quot;amd64&quot;]
        - key: kubernetes.io/os
          operator: In
          values: [&quot;linux&quot;]
        - key: karpenter.sh/capacity-type
          operator: In
          values: [&quot;on-demand&quot;]
        - key: karpenter.azure.com/sku-family
          operator: In
          values: [D]
      nodeClassRef:
        name: default
  limits:
    cpu: 100
  disruption:
    consolidationPolicy: WhenUnderutilized
    expireAfter: Never
---
apiVersion: karpenter.azure.com/v1alpha2
kind: AKSNodeClass
metadata:
  name: default
  annotations:
    kubernetes.io/description: &quot;General purpose AKSNodeClass for running Ubuntu2204 nodes&quot;
spec:
  imageFamily: Ubuntu2204
  imageVersion: 202408.21.0 
EOF
nodepool.karpenter.sh/general-purpose created
aksnodeclass.karpenter.azure.com/default created

$ k get nodepools.karpenter.sh 
NAME              NODECLASS
general-purpose   default
$ k get aksnodeclasses.karpenter.azure.com 
NAME      AGE
default   14s
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;아래와 같은 로그 발생하며 vm이 생성됨&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;json&quot;&gt;&lt;code&gt;{&quot;level&quot;:&quot;DEBUG&quot;,&quot;time&quot;:&quot;2024-09-17T16:16:40.560Z&quot;,&quot;logger&quot;:&quot;controller.nodeclaim.lifecycle&quot;,&quot;message&quot;:&quot;Created virtual machine /subscriptions/356ce9af-1ab0-44d1-bfb6-2295e4f0175c/resourceGroups/MC_karpenter_karpenter_koreacentral/providers/Microsoft.Compute/virtualMachines/aks-general-purpose-j7m94&quot;,&quot;commit&quot;:&quot;46b4276&quot;,&quot;nodeclaim&quot;:&quot;general-purpose-j7m94&quot;}
{&quot;level&quot;:&quot;DEBUG&quot;,&quot;time&quot;:&quot;2024-09-17T16:16:40.560Z&quot;,&quot;logger&quot;:&quot;controller.nodeclaim.lifecycle&quot;,&quot;message&quot;:&quot;Creating virtual machine AKS identifying extension for aks-general-purpose-j7m94&quot;,&quot;commit&quot;:&quot;46b4276&quot;,&quot;nodeclaim&quot;:&quot;general-purpose-j7m94&quot;}
&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;karpenter로 인해 추가된 가상머신&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;image.png&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;405&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dqNuaL/btsJFF5NaB3/teKw6f3z9Wmb7eYOVHzk90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dqNuaL/btsJFF5NaB3/teKw6f3z9Wmb7eYOVHzk90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dqNuaL/btsJFF5NaB3/teKw6f3z9Wmb7eYOVHzk90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdqNuaL%2FbtsJFF5NaB3%2FteKw6f3z9Wmb7eYOVHzk90%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1277&quot; height=&quot;405&quot; data-filename=&quot;image.png&quot; data-origin-width=&quot;1277&quot; data-origin-height=&quot;405&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;5. 스케일링 테스트&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic'; color: #333333; text-align: start;&quot;&gt;cpu requests 가 1인 pod를 생성해서 스케일링 테스트&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;yaml&quot;&gt;&lt;code&gt;$ cat &amp;lt;&amp;lt;EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: inflate
spec:
  replicas: 0
  selector:
    matchLabels:
      app: inflate
  template:
    metadata:
      labels:
        app: inflate
    spec:
      terminationGracePeriodSeconds: 0
      containers:
        - name: inflate
          image: mcr.microsoft.com/oss/kubernetes/pause:3.6
          resources:
            requests:
              cpu: 1
EOF

$ kubectl scale deployment inflate --replicas 2

# 로그 확인 명령
$ kubectl logs -f -n &quot;${KARPENTER_NAMESPACE}&quot; -l app.kubernetes.io/name=karpenter -c controller
&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;2.png&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kymHS/btsJG3En4qA/o9dZpvXL7hXnoHKKMaKWq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kymHS/btsJG3En4qA/o9dZpvXL7hXnoHKKMaKWq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kymHS/btsJG3En4qA/o9dZpvXL7hXnoHKKMaKWq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkymHS%2FbtsJG3En4qA%2Fo9dZpvXL7hXnoHKKMaKWq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;689&quot; height=&quot;144&quot; data-filename=&quot;2.png&quot; data-origin-width=&quot;689&quot; data-origin-height=&quot;144&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;&lt;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;aks 상에 추가된 노드 확인&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPvqum/btsJFaSDm6L/qic2H9RU8kvuWV6Fkr0M30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPvqum/btsJFaSDm6L/qic2H9RU8kvuWV6Fkr0M30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPvqum/btsJFaSDm6L/qic2H9RU8kvuWV6Fkr0M30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPvqum%2FbtsJFaSDm6L%2Fqic2H9RU8kvuWV6Fkr0M30%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;325&quot; data-filename=&quot;3.png&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;325&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;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; 오류해결&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; subscription ID not set 오류로 karpenter pod crash 발생&lt;/span&gt;&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;4.png&quot; data-origin-width=&quot;1860&quot; data-origin-height=&quot;328&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dwTNrQ/btsJGwtCJ8O/S6Moofjo7cMEAiDcWlIG1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dwTNrQ/btsJGwtCJ8O/S6Moofjo7cMEAiDcWlIG1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dwTNrQ/btsJGwtCJ8O/S6Moofjo7cMEAiDcWlIG1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwTNrQ%2FbtsJGwtCJ8O%2FS6Moofjo7cMEAiDcWlIG1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1860&quot; height=&quot;328&quot; data-filename=&quot;4.png&quot; data-origin-width=&quot;1860&quot; data-origin-height=&quot;328&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;5.png&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;418&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYJ8rv/btsJFEZ6RyH/kkQ3xk92MooLZa4IKux3Ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYJ8rv/btsJFEZ6RyH/kkQ3xk92MooLZa4IKux3Ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYJ8rv/btsJFEZ6RyH/kkQ3xk92MooLZa4IKux3Ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYJ8rv%2FbtsJFEZ6RyH%2FkkQ3xk92MooLZa4IKux3Ak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;731&quot; height=&quot;418&quot; data-filename=&quot;5.png&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;418&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;values 파일의 34번째 줄에 구독 id 추가&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; AKSNodeClass에 이미지 버전 명시하지 않으면 아래의 로그가 계속해서 발생하고, vm만 생성되며 이를 감지하지 못해 클러스터에 포함되지 않는 문제 발생 &lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1726765689799&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apiVersion: karpenter.azure.com/v1alpha2
kind: AKSNodeClass
metadata:
  name: default
  annotations:
    kubernetes.io/description: &quot;General purpose AKSNodeClass for running Ubuntu2204 nodes&quot;
spec:
  imageFamily: Ubuntu2204
  imageVersion: 202408.21.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1726765724024&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{&quot;level&quot;:&quot;DEBUG&quot;,&quot;time&quot;:&quot;2024-09-17T16:33:38.359Z&quot;,&quot;logger&quot;:&quot;controller.disruption&quot;,&quot;message&quot;:&quot;waiting on cluster sync&quot;,&quot;commit&quot;:&quot;46b4276&quot;} {&quot;level&quot;:&quot;DEBUG&quot;,&quot;time&quot;:&quot;2024-09-17T16:33:39.360Z&quot;,&quot;logger&quot;:&quot;controller.disruption&quot;,&quot;message&quot;:&quot;waiting on cluster sync&quot;,&quot;commit&quot;:&quot;46b4276&quot;}&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;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;참고문서&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;github&amp;nbsp; &lt;a href=&quot;https://github.com/Azure/karpenter-provider-azure&quot;&gt;https://github.com/Azure/karpenter-provider-azure&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;Azure docs &lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/aks/node-autoprovision?tabs=azure-cli&quot;&gt;노드 자동 프로비전(미리 보기) - Azure Kubernetes Service&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;karpenter docs &lt;a href=&quot;https://karpenter.sh/docs/getting-started/getting-started-with-karpenter/&quot;&gt;Getting Started with Karpenter&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Azure</category>
      <category>aks</category>
      <category>azure</category>
      <category>Cloud</category>
      <category>Karpenter</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/8</guid>
      <comments>https://sunchan.tistory.com/8#entry8comment</comments>
      <pubDate>Fri, 20 Sep 2024 02:19:22 +0900</pubDate>
    </item>
    <item>
      <title>Naver cloud 대학생 모임 후기 (3) 번외) 리소스 정리 및 주의 사항</title>
      <link>https://sunchan.tistory.com/7</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;네이버 클라우드 콘솔 환경에서 초심자가 실수하기 쉬운 부분과, 주의 사항 등을 정리해보고자 합니다.&lt;/span&gt;&lt;/h2&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&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;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;콘솔에서 리소스를 만드는 것은 너무나도 간단합니다. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;리소스 삭제 시에는 구성 시의 순서(종속성)등을 고려하여 차근차근 삭제해야 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;단순히 서비스를 띄워보기만 하는 것은 의미가 없습니다. 직접 사용해봐야 원리가 오래 기억됩니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;CSP사마다 비슷하지만 조금 씩 다른 서비스 접속 방법 등이 있습니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. 리소스 정리&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1409&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yX8LL/btsJooWmwQV/i3MawlmAUkVtqmSxkO4kuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yX8LL/btsJooWmwQV/i3MawlmAUkVtqmSxkO4kuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yX8LL/btsJooWmwQV/i3MawlmAUkVtqmSxkO4kuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyX8LL%2FbtsJooWmwQV%2Fi3MawlmAUkVtqmSxkO4kuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1409&quot; height=&quot;704&quot; data-origin-width=&quot;1409&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;생성한 리소스를 정리하려고하면 매번 이런 오류메시지들을 만나게 됩니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; Naver cloud 대학생 모임 후기 (ncloud에서 표준 아키텍쳐를 구상 및 구축해보자!)&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Naver cloud 대학생 모임 후기 (2) - ncloud NKS 구축 해보기&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위 링크를 따라 리소스를 생성하셨다면 리소스들을 모두 지워주셔야 추가 비용이 발생하지 않습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;저 또한 매번 헷갈리는 부분인 리소스 삭제 순서에 대해 정리해보겠습니다.&lt;/span&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;1. NAT Gateway / Route Table 설정 삭제&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oewL6/btsJmwn2MZU/KwYpluo0KkKlUacQ5oE0Nk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oewL6/btsJmwn2MZU/KwYpluo0KkKlUacQ5oE0Nk/img.png&quot; width=&quot;648px;&quot; height=&quot;520px;&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;520&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;27.97&quot; style=&quot;width: 27.6492%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oewL6/btsJmwn2MZU/KwYpluo0KkKlUacQ5oE0Nk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoewL6%2FbtsJmwn2MZU%2FKwYpluo0KkKlUacQ5oE0Nk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brNw38/btsJmu4PwLm/gMq5j8YyBiK83YgnZLEZN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brNw38/btsJmu4PwLm/gMq5j8YyBiK83YgnZLEZN0/img.png&quot; width=&quot;1061px;&quot; height=&quot;332px;&quot; data-origin-width=&quot;1062&quot; data-origin-height=&quot;331&quot; data-is-animation=&quot;false&quot; style=&quot;width: 71.188%;&quot; data-widthpercent=&quot;72.03&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brNw38/btsJmu4PwLm/gMq5j8YyBiK83YgnZLEZN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrNw38%2FbtsJmu4PwLm%2FgMq5j8YyBiK83YgnZLEZN0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1062&quot; height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;/div&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;NAT Gateway를 삭제할 때는 Route Table 설정을 먼저 삭제해야하며, 공인 ip도 반드시 반납해주셔야합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. LB (LoadBalancer) / Tg (Target Group)삭제&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1RQth/btsJmNpxz9d/g0wtVCmXxcn4iHZ1y1XMu0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1RQth/btsJmNpxz9d/g0wtVCmXxcn4iHZ1y1XMu0/img.png&quot; width=&quot;648px;&quot; height=&quot;623px;&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;622&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;38.13&quot; style=&quot;width: 37.6894%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1RQth/btsJmNpxz9d/g0wtVCmXxcn4iHZ1y1XMu0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1RQth%2FbtsJmNpxz9d%2Fg0wtVCmXxcn4iHZ1y1XMu0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;622&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKTzmh/btsJm6I677g/ca5yuvF8N6SrRaMpfKiOkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKTzmh/btsJm6I677g/ca5yuvF8N6SrRaMpfKiOkK/img.png&quot; width=&quot;813px;&quot; height=&quot;481px;&quot; data-origin-width=&quot;813&quot; data-origin-height=&quot;481&quot; data-is-animation=&quot;false&quot; style=&quot;width: 61.1478%;&quot; data-widthpercent=&quot;61.87&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKTzmh/btsJm6I677g/ca5yuvF8N6SrRaMpfKiOkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKTzmh%2FbtsJm6I677g%2Fca5yuvF8N6SrRaMpfKiOkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;813&quot; height=&quot;481&quot;/&gt;&lt;/span&gt;&lt;/div&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;LoadBalancer를 삭제하기 위해서는 기존에 연결해둔 Target Group을 삭제해야합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;3. Subnet / VPC 삭제&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQdMd1/btsJnXEGPJd/MWxH4wBQ1MEmvsS8Ya1ukk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQdMd1/btsJnXEGPJd/MWxH4wBQ1MEmvsS8Ya1ukk/img.png&quot; width=&quot;845px;&quot; height=&quot;356px;&quot; data-origin-width=&quot;845&quot; data-origin-height=&quot;356&quot; data-is-animation=&quot;false&quot; style=&quot;width: 67.0179%; margin-right: 10px;&quot; data-widthpercent=&quot;67.81&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQdMd1/btsJnXEGPJd/MWxH4wBQ1MEmvsS8Ya1ukk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQdMd1%2FbtsJnXEGPJd%2FMWxH4wBQ1MEmvsS8Ya1ukk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;845&quot; height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vLXOq/btsJnJ7Ewo4/I2O4EKRzMmYeYvf8jGrSzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vLXOq/btsJnJ7Ewo4/I2O4EKRzMmYeYvf8jGrSzk/img.png&quot; width=&quot;648px;&quot; height=&quot;575px;&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;575&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;32.19&quot; style=&quot;width: 31.8193%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vLXOq/btsJnJ7Ewo4/I2O4EKRzMmYeYvf8jGrSzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvLXOq%2FbtsJnJ7Ewo4%2FI2O4EKRzMmYeYvf8jGrSzk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;575&quot;/&gt;&lt;/span&gt;&lt;/div&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위 리소스들을 모두 제거한 후 Subnet과 VPC를 삭제해줍니다.&lt;/span&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;4. 잔여 리소스&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hm46K/btsJnrM1xvo/ZlWBnxBDc4mkRiGOSiPAK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hm46K/btsJnrM1xvo/ZlWBnxBDc4mkRiGOSiPAK1/img.png&quot; width=&quot;648px;&quot; height=&quot;544px;&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;544&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;22.39&quot; style=&quot;width: 22.1253%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hm46K/btsJnrM1xvo/ZlWBnxBDc4mkRiGOSiPAK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHm46K%2FbtsJnrM1xvo%2FZlWBnxBDc4mkRiGOSiPAK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KrRlm/btsJnqtObPj/JArnJ9zaWtwRNyexKXFGn1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KrRlm/btsJnqtObPj/JArnJ9zaWtwRNyexKXFGn1/img.png&quot; width=&quot;997px;&quot; height=&quot;241px;&quot; data-origin-width=&quot;1239&quot; data-origin-height=&quot;300&quot; data-is-animation=&quot;false&quot; style=&quot;width: 76.7119%;&quot; data-widthpercent=&quot;77.61&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KrRlm/btsJnqtObPj/JArnJ9zaWtwRNyexKXFGn1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKrRlm%2FbtsJnqtObPj%2FJArnJ9zaWtwRNyexKXFGn1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1239&quot; height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/div&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;생성했던 서버는 반드시 반납 버튼을 눌러 제거해주시고, 사용한 공인 ip를 반납했는지 다시 한 번 확인하시길 바랍니다.&lt;/span&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-origin-width=&quot;1028&quot; data-origin-height=&quot;557&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW770S/btsJnJNp9Zq/WfMTSPozHy5wAZkm77fvS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW770S/btsJnJNp9Zq/WfMTSPozHy5wAZkm77fvS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW770S/btsJnJNp9Zq/WfMTSPozHy5wAZkm77fvS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW770S%2FbtsJnJNp9Zq%2FWfMTSPozHy5wAZkm77fvS1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1028&quot; height=&quot;557&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;557&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;모든 리소스를 정리하고도 불안하실 때에는 회원 탈퇴창을 확인해보시면 아직 남아있는 리소스가 있는지 확인할 수 있습니다.(&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;실제로 탈퇴하시면 안됩니다.&lt;/span&gt;&lt;/b&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;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;2. 서비스 사용&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;네이버 클라우드에서 생성한 서버에 접속하는 방법입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;다른 클라우드 서비스와 다르게 키 파일 만으로는 서버에 접속할 수 없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vBkOz/btsJn7NYTSz/E4bDPZImPwW7yuOXT8skYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vBkOz/btsJn7NYTSz/E4bDPZImPwW7yuOXT8skYk/img.png&quot; width=&quot;648px;&quot; height=&quot;431px;&quot; data-origin-width=&quot;648&quot; data-origin-height=&quot;431&quot; data-is-animation=&quot;false&quot; style=&quot;width: 54.6208%; margin-right: 10px;&quot; data-widthpercent=&quot;55.26&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vBkOz/btsJn7NYTSz/E4bDPZImPwW7yuOXT8skYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvBkOz%2FbtsJn7NYTSz%2FE4bDPZImPwW7yuOXT8skYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;648&quot; height=&quot;431&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y3VdE/btsJmci2D6K/gvvkCd3pIcrpjvPqSjd6xK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y3VdE/btsJmci2D6K/gvvkCd3pIcrpjvPqSjd6xK/img.png&quot; width=&quot;527px;&quot; height=&quot;433px;&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;433&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;44.74&quot; style=&quot;width: 44.2164%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y3VdE/btsJmci2D6K/gvvkCd3pIcrpjvPqSjd6xK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY3VdE%2FbtsJmci2D6K%2FgvvkCd3pIcrpjvPqSjd6xK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;527&quot; height=&quot;433&quot;/&gt;&lt;/span&gt;&lt;/div&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; 서버 관리 및 설정 변경 &amp;gt; 관리자 비밀번호 확인 &amp;gt; 서버 생성시 등록한 키파일 업로드&amp;nbsp;&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;위 순서대로 접근하시면 아래 관리자 비밀번호를 알아낼 수 있습니다.&lt;/span&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-origin-width=&quot;527&quot; data-origin-height=&quot;475&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9wiqg/btsJmcpOjRq/Ykd9UsYhtH8hXUXpnYi74K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9wiqg/btsJmcpOjRq/Ykd9UsYhtH8hXUXpnYi74K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9wiqg/btsJmcpOjRq/Ykd9UsYhtH8hXUXpnYi74K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9wiqg%2FbtsJmcpOjRq%2FYkd9UsYhtH8hXUXpnYi74K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;527&quot; height=&quot;475&quot; data-origin-width=&quot;527&quot; data-origin-height=&quot;475&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;관리자 패스워드와 키 파일을 동시에 인증하여 서버에 접속된 화면과, Mysql DB에 접속한 화면입니다.&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;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;서버 접속 방법&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1725119498692&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ssh -i &amp;lt;키파일 경로&amp;gt; root@&amp;lt;관리자 비밀번호&amp;gt;&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;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;DB 접속 방법&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1725119560237&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mysql -p -u &amp;lt;생성한 관리자명&amp;gt; -h &amp;lt;DB 주소&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zDdpO/btsJmzrr6sk/ScEeNTy7DzjCKCMYFGoFnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zDdpO/btsJmzrr6sk/ScEeNTy7DzjCKCMYFGoFnK/img.png&quot; width=&quot;883px;&quot; height=&quot;457px;&quot; data-origin-width=&quot;883&quot; data-origin-height=&quot;457&quot; data-is-animation=&quot;false&quot; style=&quot;width: 57.5976%; margin-right: 10px;&quot; data-widthpercent=&quot;58.28&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zDdpO/btsJmzrr6sk/ScEeNTy7DzjCKCMYFGoFnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzDdpO%2FbtsJmzrr6sk%2FScEeNTy7DzjCKCMYFGoFnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;883&quot; height=&quot;457&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/clPSAo/btsJm2GQTgx/7CEdk7knXkr7fgnkePEatk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/clPSAo/btsJm2GQTgx/7CEdk7knXkr7fgnkePEatk/img.png&quot; width=&quot;801px;&quot; height=&quot;579px;&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;579&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;41.72&quot; style=&quot;width: 41.2396%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/clPSAo/btsJm2GQTgx/7CEdk7knXkr7fgnkePEatk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FclPSAo%2FbtsJm2GQTgx%2F7CEdk7knXkr7fgnkePEatk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;801&quot; height=&quot;579&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ncloud</category>
      <category>ncloud</category>
      <category>리소스 정리</category>
      <category>서버 접속</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/7</guid>
      <comments>https://sunchan.tistory.com/7#entry7comment</comments>
      <pubDate>Sun, 1 Sep 2024 00:53:54 +0900</pubDate>
    </item>
    <item>
      <title>[NCUC] 제 3회 NCUC  연사자 참여 후기 (Naver Cloud User Community)</title>
      <link>https://sunchan.tistory.com/6</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blYkJG/btsJmKzAvUU/xA3MsHWnbniuNlMOeplIr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blYkJG/btsJmKzAvUU/xA3MsHWnbniuNlMOeplIr1/img.png&quot; data-origin-width=&quot;959&quot; data-origin-height=&quot;540&quot; data-is-animation=&quot;false&quot; width=&quot;377&quot; style=&quot;width: 49.396%; margin-right: 10px;&quot; data-widthpercent=&quot;49.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blYkJG/btsJmKzAvUU/xA3MsHWnbniuNlMOeplIr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblYkJG%2FbtsJmKzAvUU%2FxA3MsHWnbniuNlMOeplIr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;959&quot; height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4FGFY/btsJmv3Mz9w/n5XulKZnDaKj7jfxa1qpHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4FGFY/btsJmv3Mz9w/n5XulKZnDaKj7jfxa1qpHK/img.png&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1742&quot; data-origin-height=&quot;980&quot; data-filename=&quot;2024-08-28 00 00 20.png&quot; width=&quot;275&quot; style=&quot;width: 49.4412%;&quot; data-widthpercent=&quot;50.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4FGFY/btsJmv3Mz9w/n5XulKZnDaKj7jfxa1qpHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4FGFY%2FbtsJmv3Mz9w%2Fn5XulKZnDaKj7jfxa1qpHK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1742&quot; height=&quot;980&quot;/&gt;&lt;/span&gt;&lt;/div&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: left;&quot;&gt;역삼역 &lt;span style=&quot;background-color: #ffffff; color: #222225; text-align: start;&quot;&gt;Ncloud Space에서 진행된 제 3회 &lt;/span&gt;&lt;/span&gt;네이버 클라우드 유저 커뮤니티 밋업에 감사하게도 연사자로 참여하게 되었습니다.&lt;/span&gt;&lt;/b&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;KakaoTalk_20240901_000530079.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dTF4mo/btsJnr0zZuf/G25H3ZK7jhwJYiyi39Fwfk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dTF4mo/btsJnr0zZuf/G25H3ZK7jhwJYiyi39Fwfk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dTF4mo/btsJnr0zZuf/G25H3ZK7jhwJYiyi39Fwfk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdTF4mo%2FbtsJnr0zZuf%2FG25H3ZK7jhwJYiyi39Fwfk%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;960&quot; height=&quot;720&quot; data-filename=&quot;KakaoTalk_20240901_000530079.jpg&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&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;size18&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;b&gt;발표 내용은 네이버 클라우드 마스터로 활동중이신 서태호님의 스터디 내용을 기반으로 자료를 구성했습니다.&lt;/b&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;이번에 발표한 자료는 &lt;b&gt;Naver Cloud 대학생 모임 후기&lt;/b&gt; 시리즈의 일부로, 다음과 같은 주제를 다뤘습니다:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Naver cloud 대학생 모임 후기 (1) ncloud에서 표준 아키텍쳐를 구상 및 구축해보자&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Naver cloud 대학생 모임 후기 (2) - ncloud NKS 구축 해보기&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;&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;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/on59D/btsJmdCihKL/uKPiI7YzwwQClHPMaKUfk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/on59D/btsJmdCihKL/uKPiI7YzwwQClHPMaKUfk1/img.png&quot; data-origin-width=&quot;942&quot; data-origin-height=&quot;530&quot; data-is-animation=&quot;false&quot; width=&quot;364&quot; style=&quot;width: 32.5402%; margin-right: 10px;&quot; data-widthpercent=&quot;33.31&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/on59D/btsJmdCihKL/uKPiI7YzwwQClHPMaKUfk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fon59D%2FbtsJmdCihKL%2FuKPiI7YzwwQClHPMaKUfk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;942&quot; height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b8gcmp/btsJmOPtbKN/5ArjxBaKa01TkG3AYWhMhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b8gcmp/btsJmOPtbKN/5ArjxBaKa01TkG3AYWhMhK/img.png&quot; data-origin-width=&quot;939&quot; data-origin-height=&quot;528&quot; data-is-animation=&quot;false&quot; width=&quot;435&quot; style=&quot;width: 32.5594%; margin-right: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b8gcmp/btsJmOPtbKN/5ArjxBaKa01TkG3AYWhMhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8gcmp%2FbtsJmOPtbKN%2F5ArjxBaKa01TkG3AYWhMhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;939&quot; height=&quot;528&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blR943/btsJmNpxpbX/wWdrVKfnmFxvFWbPE5BU8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blR943/btsJmNpxpbX/wWdrVKfnmFxvFWbPE5BU8k/img.png&quot; data-origin-width=&quot;943&quot; data-origin-height=&quot;530&quot; data-is-animation=&quot;false&quot; width=&quot;297&quot; height=&quot;167&quot; style=&quot;width: 32.5748%;&quot; data-widthpercent=&quot;33.36&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blR943/btsJmNpxpbX/wWdrVKfnmFxvFWbPE5BU8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblR943%2FbtsJmNpxpbX%2FwWdrVKfnmFxvFWbPE5BU8k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;943&quot; height=&quot;530&quot;/&gt;&lt;/span&gt;&lt;/div&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;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; 다른 CSP사의 클라우드 서비스를 처음 접했을 때의 경험을 되새기며, 네이버 클라우드를 처음 사용해보는 분들에게 도움이 될 만한 자료를 만들어보자는 생각으로 접근했습니다. &lt;/span&gt;&lt;/b&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;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9grV8/btsJn8sDmGy/gkaF3lwNUHqdDgQvltbBE1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9grV8/btsJn8sDmGy/gkaF3lwNUHqdDgQvltbBE1/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;720&quot; data-filename=&quot;KakaoTalk_20240901_001621674.jpg&quot; style=&quot;width: 42.3588%; margin-right: 10px;&quot; data-widthpercent=&quot;42.86&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9grV8/btsJn8sDmGy/gkaF3lwNUHqdDgQvltbBE1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9grV8%2FbtsJn8sDmGy%2FgkaF3lwNUHqdDgQvltbBE1%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;960&quot; height=&quot;720&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdAkK4/btsJnNbcPJU/j6vkzs5Cvr6PBP7Udjqgx0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdAkK4/btsJnNbcPJU/j6vkzs5Cvr6PBP7Udjqgx0/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;810&quot; data-filename=&quot;KakaoTalk_20240827_214500257_06.jpg&quot; style=&quot;width: 56.4784%;&quot; data-widthpercent=&quot;57.14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdAkK4/btsJnNbcPJU/j6vkzs5Cvr6PBP7Udjqgx0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdAkK4%2FbtsJnNbcPJU%2Fj6vkzs5Cvr6PBP7Udjqgx0%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;1440&quot; height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba8wOy/btsJm8GVzOC/KtfKKEDT1IZJwqRmKaPiWK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba8wOy/btsJm8GVzOC/KtfKKEDT1IZJwqRmKaPiWK/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;810&quot; data-filename=&quot;KakaoTalk_20240827_214500257_03.jpg&quot; style=&quot;width: 32.5581%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba8wOy/btsJm8GVzOC/KtfKKEDT1IZJwqRmKaPiWK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba8wOy%2FbtsJm8GVzOC%2FKtfKKEDT1IZJwqRmKaPiWK%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;1440&quot; height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AioGp/btsJnphltgp/qWvdTmqOcYAkI2l9S9rV20/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AioGp/btsJnphltgp/qWvdTmqOcYAkI2l9S9rV20/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;810&quot; data-filename=&quot;KakaoTalk_20240827_214500257_08.jpg&quot; style=&quot;width: 32.5581%; margin-right: 10px; margin-top: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AioGp/btsJnphltgp/qWvdTmqOcYAkI2l9S9rV20/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAioGp%2FbtsJnphltgp%2FqWvdTmqOcYAkI2l9S9rV20%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;1440&quot; height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5hOzn/btsJmvCEY0D/1DqyAb9esz6FZeIuVoIyp0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5hOzn/btsJmvCEY0D/1DqyAb9esz6FZeIuVoIyp0/img.jpg&quot; data-is-animation=&quot;false&quot; data-origin-width=&quot;1440&quot; data-origin-height=&quot;810&quot; data-filename=&quot;KakaoTalk_20240827_214500257_11.jpg&quot; style=&quot;width: 32.5581%; margin-top: 10px;&quot; data-widthpercent=&quot;33.34&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5hOzn/btsJmvCEY0D/1DqyAb9esz6FZeIuVoIyp0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5hOzn%2FbtsJmvCEY0D%2F1DqyAb9esz6FZeIuVoIyp0%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;1440&quot; height=&quot;810&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&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;b&gt; 밋업에 많은 현직자 분들이 참석해 네트워킹할 수 있는 자리가 마련되었고, 네이버 클라우드에서 다양한 굿즈까지 준비해 주셔서 참석자분들이 더욱 만족하셨을 것 같습니다. &lt;/b&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOC3eg/btsJnv2QkeX/8yb4FOyoJAg5bl0MAuKV20/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOC3eg/btsJnv2QkeX/8yb4FOyoJAg5bl0MAuKV20/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOC3eg/btsJnv2QkeX/8yb4FOyoJAg5bl0MAuKV20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOC3eg%2FbtsJnv2QkeX%2F8yb4FOyoJAg5bl0MAuKV20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1042&quot; height=&quot;252&quot; data-origin-width=&quot;1042&quot; data-origin-height=&quot;252&quot;/&gt;&lt;/span&gt;&lt;/figure&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt;참고로, 기존의 NCUC 판교 소모임은 4회차부터 '수도권 남부 소모임'이라는 이름으로 더 많은 지역의 참여자분들과 소통할 수 있도록 진행된다고 합니다.&lt;/span&gt;&lt;/b&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; 이미 훌륭한 분들이 많이 참여하고 계시고, 기회와 즐거움이 넘치는 모임이지만, 더 많은 분들이 함께 네트워킹할 수 있는 자리가 되었으면 좋겠습니다. &lt;/span&gt;&lt;/b&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;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Light';&quot;&gt; 이번 행사에서 많은 것을 배울 수 있었고, 현직자의 시각에서 더욱 많은 인사이트를 얻고 싶다는 생각이 들었습니다. 앞으로도 꼭 다시 참여하고 싶은 소중한 경험이었습니다. 행사 준비와 진행을 도와주신 운영진 분들께 감사드립니다. &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ncloud</category>
      <category>ncloud</category>
      <category>ncuc</category>
      <category>네이버클라우드</category>
      <category>퇴근길 밋업</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/6</guid>
      <comments>https://sunchan.tistory.com/6#entry6comment</comments>
      <pubDate>Sun, 1 Sep 2024 00:29:23 +0900</pubDate>
    </item>
    <item>
      <title>Naver cloud 대학생 모임 후기 (2) - ncloud NKS 구축 해보기 2024.08.18</title>
      <link>https://sunchan.tistory.com/5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://sunchan.tistory.com/4&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724766135997&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Naver cloud 대학생 모임 후기  (ncloud에서 표준 아키텍쳐를 구상 및 구축해보자!)  2024.08.10&quot; data-og-description=&quot;클라우드 엔지니어 취업 준비를 함에 있어 평소 많은 정보를 얻고 있었던 cloud 전문가 카페에서 감사하게도 클라우드를 공부하는 대학생을 위한 모임을 개설해주셔서 참석하게 되었습니다.&amp;nbsp;장&quot; data-og-host=&quot;sunchan.tistory.com&quot; data-og-source-url=&quot;https://sunchan.tistory.com/4&quot; data-og-url=&quot;https://sunchan.tistory.com/4&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/oh4HG/hyWSenzeuH/k0kTv3dYR4kd6zlvTEnefK/img.gif?width=798&amp;amp;height=808&amp;amp;face=0_0_798_808,https://scrap.kakaocdn.net/dn/lDQkD/hyWVThMBEF/GS9LHkGXkiOLxHllteGqbk/img.gif?width=798&amp;amp;height=808&amp;amp;face=0_0_798_808,https://scrap.kakaocdn.net/dn/bKd9Ss/hyWV5WONrs/FbB5kCZq2XDSY3aNjt0vfK/img.png?width=1718&amp;amp;height=866&amp;amp;face=0_0_1718_866&quot;&gt;&lt;a href=&quot;https://sunchan.tistory.com/4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://sunchan.tistory.com/4&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/oh4HG/hyWSenzeuH/k0kTv3dYR4kd6zlvTEnefK/img.gif?width=798&amp;amp;height=808&amp;amp;face=0_0_798_808,https://scrap.kakaocdn.net/dn/lDQkD/hyWVThMBEF/GS9LHkGXkiOLxHllteGqbk/img.gif?width=798&amp;amp;height=808&amp;amp;face=0_0_798_808,https://scrap.kakaocdn.net/dn/bKd9Ss/hyWV5WONrs/FbB5kCZq2XDSY3aNjt0vfK/img.png?width=1718&amp;amp;height=866&amp;amp;face=0_0_1718_866');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Naver cloud 대학생 모임 후기 (ncloud에서 표준 아키텍쳐를 구상 및 구축해보자!) 2024.08.10&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 엔지니어 취업 준비를 함에 있어 평소 많은 정보를 얻고 있었던 cloud 전문가 카페에서 감사하게도 클라우드를 공부하는 대학생을 위한 모임을 개설해주셔서 참석하게 되었습니다.&amp;nbsp;장&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;sunchan.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전 글에 이어서 이번에는 멀티zone의 ncloud 아키텍처를 구성해봤습니다.&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;NKS, DB 등을 제외한 리소스 들은 이전 글에 포스팅한 방식으로 생성했습니다.(이름은 상이하지만 생성 방식은 같습니다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 NKS, 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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Sequence 01.gif&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Yk8pT/btsJiJ7qEgF/WmXGdEGTMqNxKqxk01LZxk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Yk8pT/btsJiJ7qEgF/WmXGdEGTMqNxKqxk01LZxk/img.gif&quot; data-alt=&quot;최종적으로 완성된 아키텍처&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Yk8pT/btsJiJ7qEgF/WmXGdEGTMqNxKqxk01LZxk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/Yk8pT/btsJiJ7qEgF/WmXGdEGTMqNxKqxk01LZxk/img.gif&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;1024&quot; height=&quot;1064&quot; data-filename=&quot;Sequence 01.gif&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1064&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;style5&quot; /&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;h2 data-ke-size=&quot;size26&quot;&gt;1. NAT gateway 생성&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스의 아웃바운트 트래픽을 위한 nat를 생성해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;685&quot; data-origin-height=&quot;430&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0rw9B/btsJif6H7zf/XjKeQw1Q8u0AOhRzelGdIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0rw9B/btsJif6H7zf/XjKeQw1Q8u0AOhRzelGdIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0rw9B/btsJif6H7zf/XjKeQw1Q8u0AOhRzelGdIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0rw9B%2FbtsJif6H7zf%2FXjKeQw1Q8u0AOhRzelGdIk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;685&quot; height=&quot;430&quot; data-origin-width=&quot;685&quot; data-origin-height=&quot;430&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존에 생성한 VPC와 NAT 전용 서브넷을 연결하여 NAT Gateway를 생성해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;2. Route Table 수정&amp;nbsp;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;687&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beogEX/btsJgvKiQi9/7ilWXQRy4OkVx44VnzuwwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beogEX/btsJgvKiQi9/7ilWXQRy4OkVx44VnzuwwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beogEX/btsJgvKiQi9/7ilWXQRy4OkVx44VnzuwwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeogEX%2FbtsJgvKiQi9%2F7ilWXQRy4OkVx44VnzuwwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;687&quot; height=&quot;422&quot; data-origin-width=&quot;687&quot; data-origin-height=&quot;422&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;쿠버네티스에서 NAT Gateway로 아웃바운드 트래픽을 전송하도록 Route Table의 목적지를 설정해줍니다.&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;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;3. NKS(ncloud kubernetes service) 생성&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3Kj2V/btsJhYdbpvH/rIhweAM1E7Faow88xJGXGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3Kj2V/btsJhYdbpvH/rIhweAM1E7Faow88xJGXGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3Kj2V/btsJhYdbpvH/rIhweAM1E7Faow88xJGXGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3Kj2V%2FbtsJhYdbpvH%2FrIhweAM1E7Faow88xJGXGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;686&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;686&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ncloud의 kubernetes 생성을 위해서는 VPC, NAT Gateway와 kubernetes를 배치할 서브넷, LB public/private까지 3개의 서브넷이 있어야 다음으로 넘어갈 수 있습니다.&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;&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-origin-width=&quot;936&quot; data-origin-height=&quot;447&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NVele/btsJgSE0Zcg/ArtYpRg8Cpjl9JajKRycu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NVele/btsJgSE0Zcg/ArtYpRg8Cpjl9JajKRycu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NVele/btsJgSE0Zcg/ArtYpRg8Cpjl9JajKRycu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNVele%2FbtsJgSE0Zcg%2FArtYpRg8Cpjl9JajKRycu1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;936&quot; height=&quot;447&quot; data-origin-width=&quot;936&quot; data-origin-height=&quot;447&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kubernetes cluster의 노드풀을 생성해줍니다. 서버 타입과 노드 수 등을 선택한 후 등록해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;4. 데이터 베이스 생성&lt;/h2&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;Cloud DB for MySQL을 이용하여 데이터베이스 계층을 구성해주었습니다.&lt;/p&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;427&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I6OUM/btsJh9yS4bU/PBqq3q0n9gZiYiq47ramB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I6OUM/btsJh9yS4bU/PBqq3q0n9gZiYiq47ramB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I6OUM/btsJh9yS4bU/PBqq3q0n9gZiYiq47ramB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI6OUM%2FbtsJh9yS4bU%2FPBqq3q0n9gZiYiq47ramB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;769&quot; height=&quot;427&quot; data-origin-width=&quot;769&quot; data-origin-height=&quot;427&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DB의 버전 등을 선택해주고 클릭 한 번으로 간단히 멀티 zone의 stanby DB server 까지 구축할 수 있었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브넷은 DB를 위해 미리 생성한 Private 서브넷을 선택해주었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OQZ3g/btsJhSjQgLi/BrEQzGsTa3jZR0CnKtzyq1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OQZ3g/btsJhSjQgLi/BrEQzGsTa3jZR0CnKtzyq1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OQZ3g/btsJhSjQgLi/BrEQzGsTa3jZR0CnKtzyq1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOQZ3g%2FbtsJhSjQgLi%2FBrEQzGsTa3jZR0CnKtzyq1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;887&quot; height=&quot;314&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;314&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;DB 접속에 필요한 USER_ID, 암호 등의 정보를 입력해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 테스트만을 위해 HOST는 모든 IP를 열어주었습니다.&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;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;최종적으로 완성된 아키텍처입니다. 기본적이지만 탄탄한 3tier 아키텍처를 구축해 고가용성을 유지,&lt;/h4&gt;
&lt;h4 style=&quot;text-align: center;&quot; data-ke-size=&quot;size20&quot;&gt;DB는 active / stanby를 구성해 데이터 손실을 방지했습니다.&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Sequence 01.gif&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SDR0p/btsJhRZzCcp/v1cpGQfkcmaPsviKXAocHK/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SDR0p/btsJhRZzCcp/v1cpGQfkcmaPsviKXAocHK/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SDR0p/btsJhRZzCcp/v1cpGQfkcmaPsviKXAocHK/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/SDR0p/btsJhRZzCcp/v1cpGQfkcmaPsviKXAocHK/img.gif&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;1024&quot; height=&quot;1064&quot; data-filename=&quot;Sequence 01.gif&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1064&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;h3 data-ke-size=&quot;size23&quot;&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;a href=&quot;https://cli.ncloud-docs.com/docs/guide-clichange&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://cli.ncloud-docs.com/docs/guide-clichange&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1724769334615&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;CLI 다운로드&quot; data-og-description=&quot; &quot; data-og-host=&quot;cli.ncloud-docs.com&quot; data-og-source-url=&quot;https://cli.ncloud-docs.com/docs/guide-clichange&quot; data-og-url=&quot;https://cli.ncloud-docs.com/docs/guide-clichange&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://cli.ncloud-docs.com/docs/guide-clichange&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://cli.ncloud-docs.com/docs/guide-clichange&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;CLI 다운로드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;cli.ncloud-docs.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성한 server를 명령용으로 사용했습니다.&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;네이버 클라우드 cli
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버 클라우드의 cli를 설치하여 계정 인증 등의 작업을 명령서버에서 진행할 수 있습니다.&lt;/li&gt;
&lt;li&gt;위 링크에서 다운받은 파일을 직접 실행하거나 아래의 코드처럼 리눅스 명령줄로 다운 받을 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1724769434833&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# cli 파일 다운로드
wget https://www.ncloud.com/api/support/download/files/cli/CLI_1.1.20_20240620.zip

# 압축 해제
unzip CLI_1.1.20_20240620.zip

# 디렉토리 접근
cd CLI_1.1.20_20240620/
cd cli_linux/

# bin 디렉토리의 파일은 명령어로 사용가능합니다(파일명을 입력 시 내부의 명령을 실행)
cp ncloud /usr/bin/

# 정상 설치 확인
ncloud help&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ncp-iam-authenticator
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IAM 기능을 활용하기 위해 설치해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1724769851541&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ncp-iam-authenticator 설치
curl -o ncp-iam-authenticator -L https://github.com/NaverCloudPlatform/ncp-iam-authenticator/releases/latest/download/ncp-iam-authenticator_linux_amd64

# 실행 권한 추가
chmod +x ./ncp-iam-authenticator

# cli 처럼 bin 디렉토리로 파일을 배치하고 환경 변수까지 지정
mkdir -p $HOME/bin &amp;amp;&amp;amp; cp ./ncp-iam-authenticator $HOME/bin/ncp-iam-authenticator &amp;amp;&amp;amp; export PATH=$PATH:$HOME/bin

# 추후 재로그인 시에도 환경변수 유지
echo 'export PATH=$PATH:$HOME/bin' &amp;gt;&amp;gt; ~/.bash_profile

# 정상 설치 확인
ncp-iam-authenticator help

# kr 리전의 클러스터 uuid를 복사해서 입력해주어 인증 정보를 생성합니다.
ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid  &amp;lt;clusterUuid&amp;gt; --output kubeconfig.yaml&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;인증 정보를 등록하기 위해 ncloud configure 명령으로 Access Key / Secret Access Key를 등록해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;870&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/24sqY/btsJhKM0H7s/XnUSsjlSho2VukecSacHIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/24sqY/btsJhKM0H7s/XnUSsjlSho2VukecSacHIK/img.png&quot; data-alt=&quot;인증 키는 계정관리에서 발급받으실 수 있습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/24sqY/btsJhKM0H7s/XnUSsjlSho2VukecSacHIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F24sqY%2FbtsJhKM0H7s%2FXnUSsjlSho2VukecSacHIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1334&quot; height=&quot;870&quot; data-origin-width=&quot;1334&quot; data-origin-height=&quot;870&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인증 키는 계정관리에서 발급받으실 수 있습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5trRL/btsJhL6fNnj/DNgs1Ef91DfTityFT5XTkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5trRL/btsJhL6fNnj/DNgs1Ef91DfTityFT5XTkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5trRL/btsJhL6fNnj/DNgs1Ef91DfTityFT5XTkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5trRL%2FbtsJhL6fNnj%2FDNgs1Ef91DfTityFT5XTkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;120&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;kubectl 설치
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;명령서버에서 kubectl 명령을 사용하기 위해 설치해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1724769944567&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl -LO &quot;https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl&quot;

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl&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;이제 명령서버의 준비가 모두 끝났습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2048 게임의 이미지를 사용하여 테스트 해봤습니다.&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;2048 deployment / service 생성 yaml 파일&lt;/p&gt;
&lt;pre id=&quot;code_1724770044455&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-2048
spec:
  replicas: 2
  selector:
    matchLabels:
      app.kubernetes.io/name: app-2048
  template:
    metadata:
      labels:
        app.kubernetes.io/name: app-2048
    spec:
      containers:
      - name: app-2048
        image: alexwhen/docker-2048
        ports:
        - containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: deployment-2048
spec:
  selector:
    app.kubernetes.io/name: app-2048
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: LoadBalancer&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LoadBalancer를 type으로 지정해 외부에서 접근 가능하도록 했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;99&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9ATxQ/btsJgKAnBCQ/P0Nz8K6vKWwjTiLKFdLOkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9ATxQ/btsJgKAnBCQ/P0Nz8K6vKWwjTiLKFdLOkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9ATxQ/btsJgKAnBCQ/P0Nz8K6vKWwjTiLKFdLOkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9ATxQ%2FbtsJgKAnBCQ%2FP0Nz8K6vKWwjTiLKFdLOkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1162&quot; height=&quot;99&quot; data-origin-width=&quot;1162&quot; data-origin-height=&quot;99&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;701&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cUBggP/btsJigYSoUf/4Qq3MOmmHogCCsILP9QZPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cUBggP/btsJigYSoUf/4Qq3MOmmHogCCsILP9QZPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cUBggP/btsJigYSoUf/4Qq3MOmmHogCCsILP9QZPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcUBggP%2FbtsJigYSoUf%2F4Qq3MOmmHogCCsILP9QZPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;673&quot; height=&quot;701&quot; data-origin-width=&quot;673&quot; data-origin-height=&quot;701&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ncloud</category>
      <category>Kubernetes</category>
      <category>ncloud</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/5</guid>
      <comments>https://sunchan.tistory.com/5#entry5comment</comments>
      <pubDate>Tue, 27 Aug 2024 23:57:29 +0900</pubDate>
    </item>
    <item>
      <title>Naver cloud 대학생 모임 후기  (ncloud에서 표준 아키텍쳐를 구상 및 구축해보자!)  2024.08.10</title>
      <link>https://sunchan.tistory.com/4</link>
      <description>&lt;p data-ke-size=&quot;size18&quot;&gt;클라우드 엔지니어 취업 준비를 함에 있어 평소 많은 정보를 얻고 있었던 &lt;a href=&quot;https://cafe.naver.com/dnspro&quot;&gt;cloud 전문가 카페에서&lt;/a&gt; 감사하게도 클라우드를 공부하는 대학생을 위한 모임을 개설해주셔서 참석하게 되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&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;장소 : 역삼역 한국타이어 ncp 교육장&lt;/li&gt;
&lt;li&gt;참여 목적 : 클라우드 엔지니어 취업을 위한 공부 / 같은 목적을 가지고 취업준비 하시는 분들과의 정보 공유, 네트워킹&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;스터디 진행 사항&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://brunch.co.kr/@topasvga/3806&quot;&gt;https://brunch.co.kr/@topasvga/3806&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1723700359448&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;1. 네이버 클라우드 네트워크 -시작-2024-07&quot; data-og-description=&quot;왜 오셨을까요? 설명중 해당 부분에 대해 더 설명 드리려 문의 드립니다. 이 자리에서 이해하고 가시기 바랍니다 저 역시 집에가면 다시 안보게 됩니다~ 목표 서비스 &amp;gt; 네트워크 &amp;gt; 서버 &amp;gt; 애플리&quot; data-og-host=&quot;brunch.co.kr&quot; data-og-source-url=&quot;https://brunch.co.kr/@topasvga/3806&quot; data-og-url=&quot;https://brunch.co.kr/@topasvga/3806&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cRd667/hyWOiQdsTt/fHWPY0PgB3A3aktHdbuPv1/img.png?width=282&amp;amp;height=305&amp;amp;face=0_0_282_305,https://scrap.kakaocdn.net/dn/eRWrI/hyWOl0tU3I/6cq3c259aNeyhw6EM9ti4K/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/G2BeP/hyWOopmrOh/YlgasRuLlLPK24qhzgIHz1/img.png?width=425&amp;amp;height=211&amp;amp;face=0_0_425_211&quot;&gt;&lt;a href=&quot;https://brunch.co.kr/@topasvga/3806&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://brunch.co.kr/@topasvga/3806&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cRd667/hyWOiQdsTt/fHWPY0PgB3A3aktHdbuPv1/img.png?width=282&amp;amp;height=305&amp;amp;face=0_0_282_305,https://scrap.kakaocdn.net/dn/eRWrI/hyWOl0tU3I/6cq3c259aNeyhw6EM9ti4K/img.png?width=500&amp;amp;height=500&amp;amp;face=0_0_500_500,https://scrap.kakaocdn.net/dn/G2BeP/hyWOopmrOh/YlgasRuLlLPK24qhzgIHz1/img.png?width=425&amp;amp;height=211&amp;amp;face=0_0_425_211');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;1. 네이버 클라우드 네트워크 -시작-2024-07&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;왜 오셨을까요? 설명중 해당 부분에 대해 더 설명 드리려 문의 드립니다. 이 자리에서 이해하고 가시기 바랍니다 저 역시 집에가면 다시 안보게 됩니다~ 목표 서비스 &amp;gt; 네트워크 &amp;gt; 서버 &amp;gt; 애플리&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;brunch.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 취업을 위한 운영자분의 경험과 지인분들의 의견, 기업 JD 등을 자세하게 설명해주셔서 취업에 관한 생각을 한 번 정리할 수 있었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 클라우드 엔지니어는 3년차 이상의 경력 혹은 그에 준하는 인력을 원한다.&lt;/li&gt;
&lt;li&gt;채용자의 입장에서 회사보다 큰 트래픽, 규모 등의 경험자를 원하기 때문에 그에 맞는 회사에서 경력을 쌓는 것이 중요하다.&lt;/li&gt;
&lt;li&gt;벤더사의 파트너사의 경우 자격증은 필수적으로 취득하는것이 좋다.&lt;/li&gt;
&lt;/ul&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;h2 data-ke-size=&quot;size26&quot;&gt;학습 진행 사항&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이론을 먼저 학습한 후 콘솔에서 실습하는 방식으로 진행되었고, 6시간동안 진행되었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;네이버 클라우드로 가상의 표준 아키텍쳐를 구성해보자&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&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;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;k8s 환경에서 500개의 pod를 올리기 위한 환경을 구축 한다면 네트워크를 어떻게 설정할 것인가.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;10.0.0.0/20의 vpc를 생성한다.&lt;/li&gt;
&lt;li&gt;CIDR를 23으로 할당하여 두개의 서브넷을 사용, 약 천개이상의 ip를 할당한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;필요한 pod 수의 두배를 할당하는 이유는 k8s 서버에서 무중단 배포를 위한 Blue-Green Deployment를 적용한다면 pod는 구버전 + 신버전이 동시에 실행되어 배포할 pod의 ip가 2배 필요하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;네트워크 계획&lt;/h2&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;vpc : 10.0.0.0/20&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 82.9072%; height: 511px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 26.3109%; height: 17px; text-align: center;&quot;&gt;zone&lt;/td&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;subnet&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 26.3109%; height: 119px; text-align: center;&quot; rowspan=&quot;7&quot;&gt;&lt;b&gt; KR-1 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.0.0/23&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pri-was1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.2.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-web1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.3.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pri-db1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.4.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-nat1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.5.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-lb1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.6.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-lb1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.7.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;예비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 26.3109%; height: 10px; text-align: center;&quot; rowspan=&quot;7&quot;&gt;&lt;b&gt;KR-2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.456%; height: 10px; text-align: center;&quot;&gt;10.0.8.0/23&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 10px; text-align: center;&quot;&gt;pri-was2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.10.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-web2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.11.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pri-db2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.12.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-nat2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.13.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-lb2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.14.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;pub-lb2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.456%; height: 17px; text-align: center;&quot;&gt;10.0.15.0/24&lt;/td&gt;
&lt;td style=&quot;width: 57.3102%; height: 17px; text-align: center;&quot;&gt;예비&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;multi zone 3tier-drawio (2)_5.gif&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;808&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; data-alt=&quot;1회차 수업 내용까지 아키텍쳐를 직접 그려보았습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&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;808&quot; data-filename=&quot;multi zone 3tier-drawio (2)_5.gif&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;808&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;1회차 수업 내용까지 아키텍쳐를 직접 그려보았습니다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;b&gt;콘솔 작업&lt;/b&gt;&lt;/h1&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. vpc 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 클라우드 환경에서 가상으로 사용할 vpc를 생성해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;ip 주소범위는 10.0.0.0/20 으로 설정하였습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;681&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bI4M9r/btsI3OwrOtG/KydKIiUJyJPG3DLqIVJhoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bI4M9r/btsI3OwrOtG/KydKIiUJyJPG3DLqIVJhoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bI4M9r/btsI3OwrOtG/KydKIiUJyJPG3DLqIVJhoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI4M9r%2FbtsI3OwrOtG%2FKydKIiUJyJPG3DLqIVJhoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1582&quot; height=&quot;681&quot; data-origin-width=&quot;1582&quot; data-origin-height=&quot;681&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;561&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d26wa8/btsI5syD5L6/X5MvWwkynPKTkJWttqWwv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d26wa8/btsI5syD5L6/X5MvWwkynPKTkJWttqWwv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d26wa8/btsI5syD5L6/X5MvWwkynPKTkJWttqWwv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd26wa8%2FbtsI5syD5L6%2FX5MvWwkynPKTkJWttqWwv1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;835&quot; height=&quot;561&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;561&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;h2 data-ke-size=&quot;size26&quot;&gt;2. subnet 생성&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존에 생성한 vpc를 기반으로 각 서브넷을 용도와 조건에 맞게 생성해줍니다.&lt;/li&gt;
&lt;li&gt;위의 상황 예시에 따라 cidr를 23으로 주었지만 이번 학습에서는 아직 k8s를 구축하지 않았습니다.&lt;/li&gt;
&lt;li&gt;ncloud 는 lb를 위한 서브넷을 별도로 만들어주어야합니다.&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;1380&quot; data-origin-height=&quot;883&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cdhwEp/btsI4w9DRNp/8kna9A8J5LUzEiEvNW5sw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cdhwEp/btsI4w9DRNp/8kna9A8J5LUzEiEvNW5sw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cdhwEp/btsI4w9DRNp/8kna9A8J5LUzEiEvNW5sw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdhwEp%2FbtsI4w9DRNp%2F8kna9A8J5LUzEiEvNW5sw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1380&quot; height=&quot;883&quot; data-origin-width=&quot;1380&quot; data-origin-height=&quot;883&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;h2 data-ke-size=&quot;size26&quot;&gt;3. private subnet 에 위치한 서버가 외부와 통신하기 위한 nat gateway 생성.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1595&quot; data-origin-height=&quot;883&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qL6yH/btsI4Q1oA4L/TLkDx0fNxV8cnJl8rSq0UK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qL6yH/btsI4Q1oA4L/TLkDx0fNxV8cnJl8rSq0UK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qL6yH/btsI4Q1oA4L/TLkDx0fNxV8cnJl8rSq0UK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqL6yH%2FbtsI4Q1oA4L%2FTLkDx0fNxV8cnJl8rSq0UK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1595&quot; height=&quot;883&quot; data-origin-width=&quot;1595&quot; data-origin-height=&quot;883&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;h2 data-ke-size=&quot;size26&quot;&gt;4. route table 생성 및 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;연관된 subnet 간의 연결을 위해 route table을 생성해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 때 DB는 외부와의 통신을 막기위해 연관 subnet을 확인하고, local로 연결된 route table을 연결해줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq9SVJ/btsI5l0UPqD/KBa7yAFsKPytdlFSZRvJT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq9SVJ/btsI5l0UPqD/KBa7yAFsKPytdlFSZRvJT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq9SVJ/btsI5l0UPqD/KBa7yAFsKPytdlFSZRvJT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq9SVJ%2FbtsI5l0UPqD%2FKBa7yAFsKPytdlFSZRvJT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1634&quot; height=&quot;759&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;759&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;h2 data-ke-size=&quot;size26&quot;&gt;5. 서버 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&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;서버 이미지 설정 사항&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미지 타입 : Rocky linux&lt;/li&gt;
&lt;li&gt;서버 이미지 이름 : Rocky Linux 8.6&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;1862&quot; data-origin-height=&quot;703&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rlKdQ/btsI6gR2W5X/4JBHEcb9jrmzkra3pOsAek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rlKdQ/btsI6gR2W5X/4JBHEcb9jrmzkra3pOsAek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rlKdQ/btsI6gR2W5X/4JBHEcb9jrmzkra3pOsAek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrlKdQ%2FbtsI6gR2W5X%2F4JBHEcb9jrmzkra3pOsAek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1862&quot; height=&quot;703&quot; data-origin-width=&quot;1862&quot; data-origin-height=&quot;703&quot;/&gt;&lt;/span&gt;&lt;/figure&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;subnet은 서버를 설치하기 위한 private subnet으로 지정&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;서버 설정은 비용을 최소화하기 위해 서버타입을 가장 작은 것으로 설정합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;ncloud는 network interface에서 추가버튼을 반드시 눌러줘야 적용됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;866&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nNC5A/btsI4W76XSn/D6s0Cw4wj8Fckgoy8VC7Xk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nNC5A/btsI4W76XSn/D6s0Cw4wj8Fckgoy8VC7Xk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nNC5A/btsI4W76XSn/D6s0Cw4wj8Fckgoy8VC7Xk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnNC5A%2FbtsI4W76XSn%2FD6s0Cw4wj8Fckgoy8VC7Xk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1718&quot; height=&quot;866&quot; data-origin-width=&quot;1718&quot; data-origin-height=&quot;866&quot;/&gt;&lt;/span&gt;&lt;/figure&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;웹 서버를 띄울 init script를 미리 생성해둘 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1509&quot; data-origin-height=&quot;646&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDUND7/btsI4UbD73V/8t6StLSSD1ItSlx0DHqx1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDUND7/btsI4UbD73V/8t6StLSSD1ItSlx0DHqx1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDUND7/btsI4UbD73V/8t6StLSSD1ItSlx0DHqx1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDUND7%2FbtsI4UbD73V%2F8t6StLSSD1ItSlx0DHqx1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1509&quot; height=&quot;646&quot; data-origin-width=&quot;1509&quot; data-origin-height=&quot;646&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;403&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6HLDE/btsI4XsnOjZ/qNCFE5IePwCEwQk7XR2Fsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6HLDE/btsI4XsnOjZ/qNCFE5IePwCEwQk7XR2Fsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6HLDE/btsI4XsnOjZ/qNCFE5IePwCEwQk7XR2Fsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6HLDE%2FbtsI4XsnOjZ%2FqNCFE5IePwCEwQk7XR2Fsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;788&quot; height=&quot;403&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;403&quot;/&gt;&lt;/span&gt;&lt;/figure&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;오늘 학습에서는 다중 존을 사용하기 위해서 같은 사양의 서버를 kr1, 2 두개의 zone에 생성해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;기존에 생성한 server image 기능을 사용하면 서버를 원하는대로 여러대 생성할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eNeyDN/btsI5dhGGPx/ioqvekKyyh8M8k3rAyzRq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eNeyDN/btsI5dhGGPx/ioqvekKyyh8M8k3rAyzRq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eNeyDN/btsI5dhGGPx/ioqvekKyyh8M8k3rAyzRq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeNeyDN%2FbtsI5dhGGPx%2FioqvekKyyh8M8k3rAyzRq0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1652&quot; height=&quot;660&quot; data-origin-width=&quot;1652&quot; data-origin-height=&quot;660&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;95&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pLh58/btsI255Z4jq/yHEVOM1czSpNlFvnL6q86k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pLh58/btsI255Z4jq/yHEVOM1czSpNlFvnL6q86k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pLh58/btsI255Z4jq/yHEVOM1czSpNlFvnL6q86k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpLh58%2FbtsI255Z4jq%2FyHEVOM1czSpNlFvnL6q86k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1449&quot; height=&quot;95&quot; data-origin-width=&quot;1449&quot; data-origin-height=&quot;95&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;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;6. Loadbalancer 생성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;접속을 분산시키기 위한 loadbalancer를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;먼저 로드 밸런서가 네트워크 트래픽을 분산할 대상 서버 그룹인 target group을 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;세부 설정은 기존에 생성한 vpc에 80/tcp로 지정해주었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1295&quot; data-origin-height=&quot;718&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq3Atq/btsI4xHul7O/0w8agC7tdHqaCUITP641Ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq3Atq/btsI4xHul7O/0w8agC7tdHqaCUITP641Ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq3Atq/btsI4xHul7O/0w8agC7tdHqaCUITP641Ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq3Atq%2FbtsI4xHul7O%2F0w8agC7tdHqaCUITP641Ak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1295&quot; height=&quot;718&quot; data-origin-width=&quot;1295&quot; data-origin-height=&quot;718&quot;/&gt;&lt;/span&gt;&lt;/figure&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;target group에 포함시킬 대상을 target으로 추가해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;726&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QyjsY/btsI4qIAVnQ/lhy3a6Wkpa4C0qOldxr2Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QyjsY/btsI4qIAVnQ/lhy3a6Wkpa4C0qOldxr2Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QyjsY/btsI4qIAVnQ/lhy3a6Wkpa4C0qOldxr2Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQyjsY%2FbtsI4qIAVnQ%2Flhy3a6Wkpa4C0qOldxr2Uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1464&quot; height=&quot;726&quot; data-origin-width=&quot;1464&quot; data-origin-height=&quot;726&quot;/&gt;&lt;/span&gt;&lt;/figure&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;vpc와 subnet을 선택하여 로드밸런서를 생성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;생성 시 zone을 모두 선택하여 생성이 가능합니다.&lt;/b&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-origin-width=&quot;1254&quot; data-origin-height=&quot;761&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SJaOy/btsI4en7aJk/BpmWYnsaWmPwKhIr4S10ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SJaOy/btsI4en7aJk/BpmWYnsaWmPwKhIr4S10ik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SJaOy/btsI4en7aJk/BpmWYnsaWmPwKhIr4S10ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSJaOy%2FbtsI4en7aJk%2FBpmWYnsaWmPwKhIr4S10ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1254&quot; height=&quot;761&quot; data-origin-width=&quot;1254&quot; data-origin-height=&quot;761&quot;/&gt;&lt;/span&gt;&lt;/figure&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;생성된 loadbalancer의 dns로 접속 시 initscript로 만들어진 웹서버를 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;193&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bxaXce/btsI4wofA3I/lGlD3vSyWDi7nL3iJEyHmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bxaXce/btsI4wofA3I/lGlD3vSyWDi7nL3iJEyHmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bxaXce/btsI4wofA3I/lGlD3vSyWDi7nL3iJEyHmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbxaXce%2FbtsI4wofA3I%2FlGlD3vSyWDi7nL3iJEyHmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;852&quot; height=&quot;193&quot; data-origin-width=&quot;852&quot; data-origin-height=&quot;193&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;multi zone 3tier-drawio (2)_5.gif&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;808&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; data-alt=&quot;1회차 수업 내용까지 아키텍쳐를 직접 그려보았습니다.&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/swabX/btsI5lNi4Cx/pAox1kKbqqpUKu2no27Y9k/img.gif&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;808&quot; data-filename=&quot;multi zone 3tier-drawio (2)_5.gif&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;808&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;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;&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;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;실습 관련 내용 뿐만 아니라 현직자의 입장에서 들려주시는 직무관련 이야기를 들을 수 있는 아주 좋은 기회였으며, 6시간동안 진행되었지만 시간이 부족했고, 앞으로의 일정 전에 예습을 충분히 해야겠다는 생각이 들었습니다.&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;</description>
      <category>ncloud</category>
      <author>sunchan</author>
      <guid isPermaLink="true">https://sunchan.tistory.com/4</guid>
      <comments>https://sunchan.tistory.com/4#entry4comment</comments>
      <pubDate>Thu, 15 Aug 2024 14:46:39 +0900</pubDate>
    </item>
  </channel>
</rss>