<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개미핥기의 실험실</title>
    <link>https://mamdragors.tistory.com/</link>
    <description>IT 관련</description>
    <language>ko</language>
    <pubDate>Thu, 4 Jun 2026 15:37:31 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>mamdragors</managingEditor>
    <item>
      <title>[VMware] CentOS 8 - 리눅스 기본적인 내용</title>
      <link>https://mamdragors.tistory.com/67</link>
      <description>&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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;360&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mskQx/dJMcabjbTFF/z5psJcULp7e3am6ZTueHK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mskQx/dJMcabjbTFF/z5psJcULp7e3am6ZTueHK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mskQx/dJMcabjbTFF/z5psJcULp7e3am6ZTueHK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmskQx%2FdJMcabjbTFF%2Fz5psJcULp7e3am6ZTueHK1%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;609&quot; height=&quot;360&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;360&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;폴더/파일 생성시 기본 권한 : 파일(644 -rw-r--r--), 폴더(755 drwxr-xr-x)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;원래는 파일 666, 폴더 777 이 디폴트 이나 마스크가 적용됨.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 67.0876%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.3704%;&quot;&gt;d&lt;/td&gt;
&lt;td style=&quot;width: 15.706%;&quot;&gt;rwx&lt;/td&gt;
&lt;td style=&quot;width: 17.8639%;&quot;&gt;r-x&lt;/td&gt;
&lt;td style=&quot;width: 21.8994%;&quot;&gt;r-x&lt;/td&gt;
&lt;td style=&quot;width: 13.1731%;&quot;&gt;root&lt;/td&gt;
&lt;td style=&quot;width: 15.3288%;&quot;&gt;root&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.3704%;&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;width: 15.706%;&quot;&gt;rw-&lt;/td&gt;
&lt;td style=&quot;width: 17.8639%;&quot;&gt;r--&lt;/td&gt;
&lt;td style=&quot;width: 21.8994%;&quot;&gt;r--&lt;/td&gt;
&lt;td style=&quot;width: 13.1731%;&quot;&gt;root&lt;/td&gt;
&lt;td style=&quot;width: 15.3288%;&quot;&gt;root&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.3704%;&quot;&gt;파일종류&lt;/td&gt;
&lt;td style=&quot;width: 15.706%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;소유자권한&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 17.8639%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;소유그룹권한&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 21.8994%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;기타사용자권한&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 13.1731%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;소유자&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 15.3288%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;소유그룹&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;color: #000000;&quot;&gt;기타사용자 : 소유자, 소유그룹이 아닌 그 밖의 사용자&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;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 style=&quot;width: 6.78298%;&quot;&gt;&lt;b&gt;숫자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 7.13177%;&quot;&gt;&lt;b&gt;기호&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.6124%;&quot;&gt;&lt;b&gt; &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;파일 권한&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 51.4728%;&quot;&gt;&lt;b&gt; &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;디렉토리의 권한&lt;/span&gt; &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.78298%;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 7.13177%;&quot;&gt;r&lt;/td&gt;
&lt;td style=&quot;width: 34.6124%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;내용 읽기 가능&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 51.4728%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;디렉토리 내부 파일 목록 읽기 가능&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.78298%;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 7.13177%;&quot;&gt;w&lt;/td&gt;
&lt;td style=&quot;width: 34.6124%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;내용 쓰기 가능&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 51.4728%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;디렉토리 내부 파일 생성, 삭제, 이름변경 가능&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 6.78298%;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 7.13177%;&quot;&gt;x&lt;/td&gt;
&lt;td style=&quot;width: 34.6124%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;파일 실행 가능&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 51.4728%;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;디렉토리 내부 진입가능&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;MASK 설명&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1773731770610&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$ umask 0022 or 022	-- un mask. 파일이나 디렉토리가 생성이 될때 권한을 설정해주는 녀석.
	7 7 7 	폴더 생성시 기본 권한
	0 2 2	마스크 설정값
	7 5 5	마스크 적용 후 권한 값

특수권한		권한값	특수권한 부여 명령(775권한을 포함하여)
Setuid		4000	-&amp;gt; chmod 4755
Setgid		2000	-&amp;gt; chmod 2755
Stickybit	1000	-&amp;gt; chmod 1755		-&amp;gt; 공유디렉토리나 임시디렉토리에 적용됨
					복합적용되면 5755, 7755 도 가능&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;권한관리&lt;/h3&gt;
&lt;pre id=&quot;code_1773731990422&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;$ chmod 664 test
$ chmod u-x,g-x,o-x test 	--사용자, 그룹, 기타사용자에서 실행권한을 뺀다. 
	u: user
	g: group
	o: other
$ chmod o+x test	-- 기타 사용자 에게 실행 권한을 준다
$ chmod a+x test	-- u,g,o 모두에게 실행 권한을 준다
$ chmod o=x test 	-- 기타 사용자의 권한을 다 없애고 실행 권한만 준다.

$ chown	[권한] [파일또는폴더명]	-- 소유자,소유그룹 변경
$ chgrp [그룹명] [파일또는폴더명]	-- 소유그룹 변경&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; 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;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# cat &lt;b&gt;/etc/passwd&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 계정에 대한 정보가 들어있는 파일&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 루트계정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; root:x:&lt;span style=&quot;color: #ee2323;&quot;&gt;0:0&lt;/span&gt;:root:/root:/bin/bash&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :x: 는 패스워드가 여기 저장되지 않는다는 의미&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; root:x:{userid}:{groupid}:{코멘트}:{홈폴더}:{쉘}&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;color: #000000;&quot;&gt;- 시스템계정들&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; bin:x:1:1:bin:/bin:/sbin/nologin&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; daemon:x:2:2:daemon:/sbin:/sbin/nologin&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; adm:x:3:4:adm:/var/adm:/sbin/nologin&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;-- 그룹아이디가 0 인 계정은 root 만큼의 권한을 가지고 있다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; sync:x:5:&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;:sync:/sbin:/bin/sync&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; shutdown:x:6:&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;:shutdown:/sbin:/sbin/shutdown&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; halt:x:7:&lt;span style=&quot;color: #ee2323;&quot;&gt;0&lt;/span&gt;:halt:/sbin:/sbin/halt&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;/etc/shadow&amp;nbsp; &lt;/b&gt;--&amp;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-size: 1.44em;&quot;&gt;네트워크 인터페이스 정보&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;411&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLG8cQ/dJMcaaxOwJv/Z7srNcj6rxF7Sx1HhUy5Mk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLG8cQ/dJMcaaxOwJv/Z7srNcj6rxF7Sx1HhUy5Mk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLG8cQ/dJMcaaxOwJv/Z7srNcj6rxF7Sx1HhUy5Mk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLG8cQ%2FdJMcaaxOwJv%2FZ7srNcj6rxF7Sx1HhUy5Mk%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;962&quot; height=&quot;411&quot; data-origin-width=&quot;962&quot; data-origin-height=&quot;411&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;DEVICE 에 나온 이름을 이용해 하드웨어 down, up 가능&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;90&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BLO7I/dJMcagdJmIx/yrsBoD9Ruz44tI3utoQDA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BLO7I/dJMcagdJmIx/yrsBoD9Ruz44tI3utoQDA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BLO7I/dJMcagdJmIx/yrsBoD9Ruz44tI3utoQDA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBLO7I%2FdJMcagdJmIx%2FyrsBoD9Ruz44tI3utoQDA1%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;90&quot; data-origin-width=&quot;1028&quot; data-origin-height=&quot;90&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>서버 OS/리눅스서버 - Rocky Linux 9 (CentOs)</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/67</guid>
      <comments>https://mamdragors.tistory.com/67#entry67comment</comments>
      <pubDate>Wed, 29 Apr 2026 11:09:26 +0900</pubDate>
    </item>
    <item>
      <title>AWS + kubernetes + GitHub + ArgoCD</title>
      <link>https://mamdragors.tistory.com/66</link>
      <description>&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;개요&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS EKS 기반의 쿠버네티스 환경에서 Web(React) - WAS(Node.js) - DB(MongoDB)로 이어지는 3-Tier 아키텍처를 설계하고 구축한다. GitHub Actions와 ArgoCD를 이용해 코드 변경부터 배포까지 자동화된 파이프라인을 구축하여 인프라의 선언적 관리(GitOps), 배포 속도 향상, 일관된 운영 환경 유지를 목표로 한다.&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;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GitOps 모델 도입 : ArgoCD를 활용하여 Git 저장소를 &quot;진실의 원천(Single Source of Truth)&quot;으로 정의하고, 클러스터와 Git 간의 자동 동기화 체계 구축.&lt;/li&gt;
&lt;li&gt;CI/CD 역할 분리 : GitHub Actions는 빌드 및 이미지 생성(CI)에 집중하고, ArgoCD는 배포 및 상태 유지(CD)에 집중하는 최신 클라우드 네이티브 아키텍처 적용.&lt;/li&gt;
&lt;li&gt;선언적 인프라 관리 : 모든 K8s 리소스를 코드(YAML)로 관리하여 환경 재현성 확보.&lt;/li&gt;
&lt;li&gt;배포 생산성 및 속도 향상 : 배포 주기를 단축하여 비즈니스 요구사항에 기민하게 대응 가능.&lt;/li&gt;
&lt;li&gt;운영 안정성 극대화 : 장애 시 Git의 이전 커밋으로 즉시 복구(Revert)할 수 있는 기능을 통해 평균 복구 시간(MTTR)을 획기적으로 개선.&lt;/li&gt;
&lt;li&gt;가시성 확보 : ArgoCD 대시보드를 통해 현재 애플리케이션의 배포 상태 및 리소스 관계를 한눈에 파악 가능.&lt;/li&gt;
&lt;li&gt;인프라 비용 효율화 : AWS EKS의 오토스케일링 기능을 활용하여 트래픽에 따른 유연한 리소스 관리 가능.&lt;/li&gt;
&lt;/ul&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 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;작업순서&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;0단계: Git Repository 구성&lt;br /&gt;1단계: AWS 인프라 및 권한 준비&lt;br /&gt;2단계: ArgoCD 설치 및 외부 노출&lt;br /&gt;3단계: CI 구성 (GitHub Actions)&lt;br /&gt;4단계: ArgoCD에서 애플리케이션 생성&lt;br /&gt;5단계: 최종 점검&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;br /&gt;참고소스)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/Aakibgithuber/Three-tier-Application-Deployment-&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #242424;&quot;&gt;https://github.com/Aakibgithuber/Three-tier-Application-Deployment-&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;0단계: Git Repository 구성&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고소스의 파일구성&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddmOX8/dJMcadoaiVb/rQC7z2TtoUk0hv8PyEkZGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddmOX8/dJMcadoaiVb/rQC7z2TtoUk0hv8PyEkZGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddmOX8/dJMcadoaiVb/rQC7z2TtoUk0hv8PyEkZGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddmOX8%2FdJMcadoaiVb%2FrQC7z2TtoUk0hv8PyEkZGK%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;588&quot; height=&quot;367&quot; data-origin-width=&quot;588&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;이중 k8s_manifests 폴더의 yaml 파일들만 추려서&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;b&gt;3tier-manifest 라는 레포지토리를 새로 만든다&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;605&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0trY0/dJMcacCQd6z/zcirUpdwQrRFKpuM8fN4Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0trY0/dJMcacCQd6z/zcirUpdwQrRFKpuM8fN4Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0trY0/dJMcacCQd6z/zcirUpdwQrRFKpuM8fN4Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0trY0%2FdJMcacCQd6z%2FzcirUpdwQrRFKpuM8fN4Uk%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;605&quot; data-origin-width=&quot;490&quot; data-origin-height=&quot;605&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;나머지 폴더들은 3tier-app 이라는 레파지토리로 만든다&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMWmzv/dJMcafM7fA9/Xf9hIEiMBIOcIUGLonNN0k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMWmzv/dJMcafM7fA9/Xf9hIEiMBIOcIUGLonNN0k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMWmzv/dJMcafM7fA9/Xf9hIEiMBIOcIUGLonNN0k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMWmzv%2FdJMcafM7fA9%2FXf9hIEiMBIOcIUGLonNN0k%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;734&quot; height=&quot;356&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;.github/workflows 폴더는 아래 Github Action 설정 항목에서 작성한다.&lt;/p&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1단계: AWS 인프라 및 권한 준비 &lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;1. ECR(이미지 저장소) 생성 ( GitHub Actions가 빌드한 이미지를 저장할 공간)&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;aws configure
[3tier-user 액세스키]
[3tier-user 비밀액세스키]


# 프론트엔드, 백엔드, DB 각각 생성 (아시아태평양서울 리전)
aws ecr create-repository --repository-name 3tier-frontend --region ap-northeast-2
aws ecr create-repository --repository-name 3tier-backend --region ap-northeast-2
aws ecr create-repository --repository-name 3tier-db --region ap-northeast-2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A0F0I/dJMcabYdIMA/f482YT3uyIDFMk0wBsXet0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A0F0I/dJMcabYdIMA/f482YT3uyIDFMk0wBsXet0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A0F0I/dJMcabYdIMA/f482YT3uyIDFMk0wBsXet0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA0F0I%2FdJMcabYdIMA%2Ff482YT3uyIDFMk0wBsXet0%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;787&quot; height=&quot;112&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MCHd4/dJMcafGj4zW/QKhpqAqzY556LxVw8AAKoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MCHd4/dJMcafGj4zW/QKhpqAqzY556LxVw8AAKoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MCHd4/dJMcafGj4zW/QKhpqAqzY556LxVw8AAKoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMCHd4%2FdJMcafGj4zW%2FQKhpqAqzY556LxVw8AAKoK%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;1030&quot; height=&quot;473&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;473&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;Git 소스 내려받고 빌드 후 리포지토리에 올린다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbnVup/dJMcacbKKtD/B4cXQKGuDw7fkJ8g43zP71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbnVup/dJMcacbKKtD/B4cXQKGuDw7fkJ8g43zP71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbnVup/dJMcacbKKtD/B4cXQKGuDw7fkJ8g43zP71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbnVup%2FdJMcacbKKtD%2FB4cXQKGuDw7fkJ8g43zP71%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;675&quot; height=&quot;137&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# clone
git clone git@github.com:2026test-lab/3tier-app.git&lt;/code&gt;&lt;/pre&gt;
&lt;h4 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size20&quot;&gt;참고 ) 아래 페이지의 4. Docker 이미지 빌드 항목 참고&lt;/h4&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://mamdragors.tistory.com/64#:~:text=bin%0Aeksctl%20version-,4.%20Docker%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%B9%8C%EB%93%9C,-Elastic%20Container%20Registry&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;https://mamdragors.tistory.com/64#:~:text=bin%0Aeksctl%20version-,4.%20Docker%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%B9%8C%EB%93%9C,-Elastic%20Container%20Registry&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;AWS, k8s 3tier 설정&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;참고)https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0 Project 8 &amp;rarr; Three tier application deployment on Kuberneteswhat do you mean by three tier ?aakibkhan1.medium.com Overview3계층(3-Tier)프레젠&quot; data-og-host=&quot;mamdragors.tistory.com&quot; data-og-source-url=&quot;https://mamdragors.tistory.com/64#:~:text=bin%0Aeksctl%20version-,4.%20Docker%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%B9%8C%EB%93%9C,-Elastic%20Container%20Registry&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/bR9JTp/dJMb84X0Nw7/AAAAAAAAAAAAAAAAAAAAAHNsxceH9yg5VN1OcBy9-JLKo0sPKIcJZAZZ-S3zzKjJ/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=RHxRHcQ%2FykL9PVqSZRY0pUkxSfY%3D&quot; data-og-url=&quot;https://mamdragors.tistory.com/64&quot;&gt;&lt;a href=&quot;https://mamdragors.tistory.com/64&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://mamdragors.tistory.com/64#:~:text=bin%0Aeksctl%20version-,4.%20Docker%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EB%B9%8C%EB%93%9C,-Elastic%20Container%20Registry&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/bR9JTp/dJMb84X0Nw7/AAAAAAAAAAAAAAAAAAAAAHNsxceH9yg5VN1OcBy9-JLKo0sPKIcJZAZZ-S3zzKjJ/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=RHxRHcQ%2FykL9PVqSZRY0pUkxSfY%3D');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AWS, k8s 3tier 설정&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;참고)https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0 Project 8 &amp;rarr; Three tier application deployment on Kuberneteswhat do you mean by three tier ?aakibkhan1.medium.com Overview3계층(3-Tier)프레젠&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;mamdragors.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;2. IAM 사용자 설정 (GitHub용)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size14&quot;&gt;GitHub Actions가 AWS에 접근할 수 있도록 &lt;b&gt;Access Key&lt;/b&gt;와 &lt;b&gt;Secret Key&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;&lt;b&gt;권한&lt;/b&gt;: AmazonEC2ContainerRegistryFullAccess, AmazonEKSClusterPolicy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;694&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djQIJS/dJMcahjRIzQ/akUMVRuf24jKNowGVBGIvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djQIJS/dJMcahjRIzQ/akUMVRuf24jKNowGVBGIvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djQIJS/dJMcahjRIzQ/akUMVRuf24jKNowGVBGIvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjQIJS%2FdJMcahjRIzQ%2FakUMVRuf24jKNowGVBGIvk%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;694&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;694&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;발급받은 키는 &lt;b&gt;GitHub App Repo &amp;gt; Settings &amp;gt; Secrets &amp;gt; Actions&lt;/b&gt;에 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY로 등록하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Github Personal Access Token 생성&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E2B1Y/dJMcagZu6eW/IKoNCoansubh77u0ahq7Hk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E2B1Y/dJMcagZu6eW/IKoNCoansubh77u0ahq7Hk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E2B1Y/dJMcagZu6eW/IKoNCoansubh77u0ahq7Hk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE2B1Y%2FdJMcagZu6eW%2FIKoNCoansubh77u0ahq7Hk%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;1019&quot; height=&quot;609&quot; data-origin-width=&quot;1019&quot; data-origin-height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lC0Hi/dJMcaayfH0U/3Me785y0rG7Q7VHsaDfPck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lC0Hi/dJMcaayfH0U/3Me785y0rG7Q7VHsaDfPck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lC0Hi/dJMcaayfH0U/3Me785y0rG7Q7VHsaDfPck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlC0Hi%2FdJMcaayfH0U%2F3Me785y0rG7Q7VHsaDfPck%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;714&quot; height=&quot;648&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;436&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjWMJL/dJMcabqoTaR/oeAc23ekhKy06ejxcyQpmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjWMJL/dJMcabqoTaR/oeAc23ekhKy06ejxcyQpmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjWMJL/dJMcabqoTaR/oeAc23ekhKy06ejxcyQpmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjWMJL%2FdJMcabqoTaR%2FoeAc23ekhKy06ejxcyQpmK%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;1001&quot; height=&quot;436&quot; data-origin-width=&quot;1001&quot; data-origin-height=&quot;436&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;Secret 등록&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;#첫 번째 Secret 등록
Name: AWS_ACCESS_KEY_ID
Value: (AWS IAM에서 발급받은 액세스 키 입력)

#두 번째 Secret 등록
Name: AWS_SECRET_ACCESS_KEY
Value: (AWS IAM에서 발급받은 비밀 액세스 키 입력)

#추가 권장 Secret (매니페스트 업데이트용)
Name: GH_TOKEN
Value: (GitHub에서 발급받은 Personal Access Token - repo 권한 포함)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;Secret 등록 완료 화면&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;912&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bftVJ3/dJMcacbKzNz/24tydCRzGRUY0OWBs7kNKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bftVJ3/dJMcacbKzNz/24tydCRzGRUY0OWBs7kNKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bftVJ3/dJMcacbKzNz/24tydCRzGRUY0OWBs7kNKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbftVJ3%2FdJMcacbKzNz%2F24tydCRzGRUY0OWBs7kNKK%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;1030&quot; height=&quot;912&quot; data-origin-width=&quot;1030&quot; data-origin-height=&quot;912&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;2단계: ArgoCD 설치 및 외부 노출&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;EKS 클러스터 생성&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. EKS 클러스터 생성 (15분정도 소요됨)
eksctl create cluster \
&amp;nbsp;&amp;nbsp;--name 3tier-cluster \
&amp;nbsp;&amp;nbsp;--region ap-northeast-2 \
&amp;nbsp;&amp;nbsp;--nodegroup-name 3tier-nodes \
&amp;nbsp;&amp;nbsp;--node-type t3.small \
&amp;nbsp;&amp;nbsp;--nodes 2 \
&amp;nbsp;&amp;nbsp;--nodes-min 1 \
&amp;nbsp;&amp;nbsp;--nodes-max 3 \
&amp;nbsp;&amp;nbsp;--managed

# 2. 생성 과정 확인
ASW Console &amp;gt; CloudFormation &amp;gt; 스택 &amp;gt; 스택 상세 &amp;gt; 이벤트 탭에서 진행상태 확인가능

# 3. 연결 정보(kubeconfig) 강제 업데이트. &amp;lt;클러스터명&amp;gt;과 &amp;lt;리전&amp;gt;을 본인이 eksctl로 생성할 때 쓴 이름
aws eks update-kubeconfig --region ap-northeast-2 --name 3tier-cluster

# 클러스터 준비 상태 확인
aws sts get-caller-identity
aws eks describe-cluster --name 3tier-cluster --query &quot;cluster.status&quot;

# 노드 그룹 확인 (status 가 ACTIVE 로 나와야 함)
eksctl get nodegroup --cluster 3tier-cluster

 
# 현재 컨텍스트 확인 (3tier-cluster 로 나와야 함)
kubectl config current-context

# 3. 클러스터 연결 확인.노드 2대가 'Ready' 상태인지 확인
kubectl get nodes&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;394&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2Vvx3/dJMcagZvdqF/Kdkun5YYHOgaQ0cL3hvKsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2Vvx3/dJMcagZvdqF/Kdkun5YYHOgaQ0cL3hvKsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2Vvx3/dJMcagZvdqF/Kdkun5YYHOgaQ0cL3hvKsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2Vvx3%2FdJMcagZvdqF%2FKdkun5YYHOgaQ0cL3hvKsk%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;990&quot; height=&quot;394&quot; data-origin-width=&quot;990&quot; data-origin-height=&quot;394&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;EKS 클러스터에 ArgoCD를 설치하고 웹 UI에 접속할 수 있도록 설정합니다.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 네임스페이스 생성 및 설치
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

# 2. 서비스 노출 (Classic Load Balancer 자동 생성)
kubectl patch svc argocd-server -n argocd -p '{&quot;spec&quot;: {&quot;type&quot;: &quot;LoadBalancer&quot;}}'

# 3. 생성된 로드밸런서 주소 확인 (EXTERNAL-IP 확인까지 1~2분 소요)
kubectl get svc -n argocd argocd-server

# 4. 초기 비밀번호 확인 (ID: admin)
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=&quot;{.data.password}&quot; | base64 -d

# 5. 앱이 배포될 네임스페이스 생성
kubectl create namespace 3tier-app

# 6. yaml 내부에 선언된 namespace 가 있다면 생성
kubectl create namespace 3tier-test&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;987&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nS3EB/dJMcaciwGDk/LeRGzY8yObadfnirCcaxe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nS3EB/dJMcaciwGDk/LeRGzY8yObadfnirCcaxe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nS3EB/dJMcaciwGDk/LeRGzY8yObadfnirCcaxe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnS3EB%2FdJMcaciwGDk%2FLeRGzY8yObadfnirCcaxe1%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;987&quot; height=&quot;125&quot; data-origin-width=&quot;987&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;ArgoCD UI 접속 (ESTERNAL-IP 로 접속 확인)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1035&quot; data-origin-height=&quot;415&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgZPlv/dJMcaayfOKZ/AHip97wU5AwlKVMIkjgR00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgZPlv/dJMcaayfOKZ/AHip97wU5AwlKVMIkjgR00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgZPlv/dJMcaayfOKZ/AHip97wU5AwlKVMIkjgR00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgZPlv%2FdJMcaayfOKZ%2FAHip97wU5AwlKVMIkjgR00%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;1035&quot; height=&quot;415&quot; data-origin-width=&quot;1035&quot; data-origin-height=&quot;415&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;br /&gt;로그인 (ID / PW)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Username:&lt;/b&gt; admin&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Password:&lt;/b&gt; 아까 4번 명령어(base64 -d)로 확인했던 그 문자열을 입력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&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;1031&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mvsk1/dJMcageaigH/484uee4qfNMalt7peGV1bK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mvsk1/dJMcageaigH/484uee4qfNMalt7peGV1bK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mvsk1/dJMcageaigH/484uee4qfNMalt7peGV1bK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmvsk1%2FdJMcageaigH%2F484uee4qfNMalt7peGV1bK%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;1031&quot; height=&quot;352&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;3단계: CI 구성 (GitHub Actions)&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;애플리케이션 코드 리포지토리(3tier-app)에 .github/workflows/main.yml을 작성&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;name: Build and Push to ECR

on:
&amp;nbsp;&amp;nbsp;push:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;branches: [ &quot;main&quot; ]

jobs:
&amp;nbsp;&amp;nbsp;deploy:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runs-on: ubuntu-latest
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;steps:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: Checkout
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uses: actions/checkout@v4 # 최신 v4로 변경

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: Configure AWS credentials
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uses: aws-actions/configure-aws-credentials@v4 # 최신 v4로 변경
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;aws-region: ap-northeast-2

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: Login to Amazon ECR
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id: login-ecr
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uses: aws-actions/amazon-ecr-login@v2 # 최신 v2로 변경 (mask-password 자동 적용)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: Build and Push Image
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;env:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run: |
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# 1. Frontend 빌드 !!! 개인 AWS 저장소 이름으로 한다. !!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;docker build -t $ECR_REGISTRY/3tier-frontend:${{ github.sha }} ./frontend
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;docker push $ECR_REGISTRY/3tier-frontend:${{ github.sha }}
&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;# 2. Backend 빌드&amp;nbsp;&amp;nbsp;!!! 개인 AWS 저장소 이름으로 한다. !!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;docker build -t $ECR_REGISTRY/3tier-backend:${{ github.sha }} ./backend
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;docker push $ECR_REGISTRY/3tier-backend:${{ github.sha }}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: Update Manifest Repo
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;run: |
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;git config --global user.email &quot;actions@github.com&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;git config --global user.name &quot;GitHub Actions&quot;
&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;# Manifest 저장소 클론 !!! 개인 저장소 주소로 한다. !!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;git clone https://${{ secrets.GH_TOKEN }}@github.com/2026test-lab/3tier-manifest.git
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd 3tier-manifest
&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;&amp;nbsp;&amp;nbsp;ls -al
&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;# frontend-deployment.yaml 수정 !!! 본인이 작업한 파일명으로 한다. !!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if [ -f &quot;frontend-deployment.yaml&quot; ]; then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sed -i &quot;s|image: .*3tier-frontend:.*|image: ${{ steps.login-ecr.outputs.registry }}/3tier-frontend:${{ github.sha }}|g&quot; frontend-deployment.yaml
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# backend-deployment.yaml 수정 !!! 본인이 작업한 파일명으로 한다. !!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if [ -f &quot;backend-deployment.yaml&quot; ]; then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sed -i &quot;s|image: .*3tier-backend:.*|image: ${{ steps.login-ecr.outputs.registry }}/3tier-backend:${{ github.sha }}|g&quot; backend-deployment.yaml
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi
&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;git add .
&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;if ! git diff --cached --quiet; then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;git commit -m &quot;Update images for commit ${{ github.sha }}&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;git push
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo &quot;No changes to commit&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;4단계: ArgoCD에서 애플리케이션 생성&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;이제 ArgoCD 웹 UI(아까 확인한 로드밸런서 주소)에 접속하여 배포 설정을 합니다.&lt;br /&gt;&lt;b&gt;Repository 등록&lt;/b&gt;: Settings &amp;gt; Repositories에서 &lt;b&gt;Manifest Repo&lt;/b&gt; 주소와 Personal Access Token을 등록합니다&lt;br /&gt;- 토큰 생성 (github &amp;gt; Settings &amp;gt; Developer Settings &amp;gt; Personal access tocke )&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;701&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o5myb/dJMcadoaeA0/w6ChKaqbdCmkB9FiEOgEN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o5myb/dJMcadoaeA0/w6ChKaqbdCmkB9FiEOgEN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o5myb/dJMcadoaeA0/w6ChKaqbdCmkB9FiEOgEN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo5myb%2FdJMcadoaeA0%2Fw6ChKaqbdCmkB9FiEOgEN0%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;1007&quot; height=&quot;701&quot; data-origin-width=&quot;1007&quot; data-origin-height=&quot;701&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;생성된 토큰값 복사&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;299&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oGs6U/dJMcaadW0fk/o6Lwylw9ebQIaaBlzCEBS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oGs6U/dJMcaadW0fk/o6Lwylw9ebQIaaBlzCEBS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oGs6U/dJMcaadW0fk/o6Lwylw9ebQIaaBlzCEBS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoGs6U%2FdJMcaadW0fk%2Fo6Lwylw9ebQIaaBlzCEBS1%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;698&quot; height=&quot;299&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;299&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;ArgoCD UI에서 연결&lt;br /&gt;ArgoCD 왼쪽 메뉴 Settings (톱니바퀴) &amp;rarr; Repositories 클릭 + CONNECT REPO 버튼 클릭&lt;br /&gt;설정을 아래와 같이 입력&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Choose connection method&lt;/b&gt;: via HTTPS 선택&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: git&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Project&lt;/b&gt;: default&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Repository URL&lt;/b&gt;: 내 Private 레포지토리 주소 (예: &lt;a href=&quot;https://github.com/사용자명/레포이름.git&quot; target=&quot;_self&quot;&gt;&lt;span&gt;https://github.com/사용자명/레포이름.git&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Username&lt;/b&gt;: 본인의 GitHub 아이디&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Password&lt;/b&gt;: &lt;b&gt;위 1단계에서 복사한 PAT(토큰)를 여기에 붙여넣으세요.&lt;/b&gt; (비밀번호가 아닙니다!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;666&quot; data-origin-height=&quot;822&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9YRRS/dJMcacpid9B/VEkFHQ5hOVEPzXkvjDUum1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9YRRS/dJMcacpid9B/VEkFHQ5hOVEPzXkvjDUum1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9YRRS/dJMcacpid9B/VEkFHQ5hOVEPzXkvjDUum1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9YRRS%2FdJMcacpid9B%2FVEkFHQ5hOVEPzXkvjDUum1%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;666&quot; height=&quot;822&quot; data-origin-width=&quot;666&quot; data-origin-height=&quot;822&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;CONNECT 클릭 후 접속 성공 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VB2Jv/dJMcafzyX97/kLKIXdKr7JjcIzUOFoC3Gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VB2Jv/dJMcafzyX97/kLKIXdKr7JjcIzUOFoC3Gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VB2Jv/dJMcafzyX97/kLKIXdKr7JjcIzUOFoC3Gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVB2Jv%2FdJMcafzyX97%2FkLKIXdKr7JjcIzUOFoC3Gk%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;375&quot; data-origin-width=&quot;768&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Application 생성&lt;/b&gt;:&amp;nbsp; 점3개 클릭하고 [+ NEW APP] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;232&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bp5bWr/dJMcab4YDAz/ZyYLVE3IWLznIGc7dCkyPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bp5bWr/dJMcab4YDAz/ZyYLVE3IWLznIGc7dCkyPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bp5bWr/dJMcab4YDAz/ZyYLVE3IWLznIGc7dCkyPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp5bWr%2FdJMcab4YDAz%2FZyYLVE3IWLznIGc7dCkyPk%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;678&quot; height=&quot;232&quot; data-origin-width=&quot;678&quot; data-origin-height=&quot;232&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,0,0&quot;&gt;Application Name&lt;/b&gt;: 3tier-app&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,1,0&quot;&gt;Project&lt;/b&gt;: default&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,2,0&quot;&gt;Sync Policy&lt;/b&gt;: Automatic ( 수동으로 확인하려면 Manual 로 설)&lt;/li&gt;
&lt;li&gt;(Self-heal 체크 하면 aws 프리티어에서는 메모리 부족으로 죽을 수 있음.)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,3,0&quot;&gt;Source&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20,1,1,3,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,3,1,0,0&quot;&gt;Repository URL&lt;/b&gt;: 방금 연결한 Private 레포지토리 선택&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,3,1,1,0&quot;&gt;Revision&lt;/b&gt;: main (또는 작업 중인 브랜치명)&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,3,1,2,0&quot;&gt;Path&lt;/b&gt;: YAML 파일들이 모여 있는 폴더 경로 (예: k8s/manifests 또는 . (루트 폴더인 경우) )&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,4,0&quot;&gt;Destination&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20,1,1,4,1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,4,1,0,0&quot;&gt;Cluster URL&lt;/b&gt;: &lt;a href=&quot;https://kubernetes.default.svc&quot;&gt;https://kubernetes.default.svc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;5,4,1,1,0&quot;&gt;Namespace&lt;/b&gt;: 3tier-app (없으면 ArgoCD가 자동으로 생성하도록 Auto-Create Namespace 체크)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;[Create] 클릭하면 생성된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vmc5l/dJMcafM7cJF/yz89VI9YOO6i73Vlr4eY61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vmc5l/dJMcafM7cJF/yz89VI9YOO6i73Vlr4eY61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vmc5l/dJMcafM7cJF/yz89VI9YOO6i73Vlr4eY61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvmc5l%2FdJMcafM7cJF%2Fyz89VI9YOO6i73Vlr4eY61%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;787&quot; height=&quot;502&quot; data-origin-width=&quot;787&quot; data-origin-height=&quot;502&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;진행상황 확인 가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1575&quot; data-origin-height=&quot;921&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQ9bt5/dJMcaa55t17/hLXSlohwmhiJgBEf0M2kV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQ9bt5/dJMcaa55t17/hLXSlohwmhiJgBEf0M2kV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQ9bt5/dJMcaa55t17/hLXSlohwmhiJgBEf0M2kV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQ9bt5%2FdJMcaa55t17%2FhLXSlohwmhiJgBEf0M2kV1%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;1575&quot; height=&quot;921&quot; data-origin-width=&quot;1575&quot; data-origin-height=&quot;921&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;DB 생성이 안되고 있다.&lt;br /&gt;kubectl get po 로 po 이름 확인하고 kubectl describe po [db-pod이름] 으로 확인해보니&lt;br /&gt;volumeBinding 이 되지 않고 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1064&quot; data-origin-height=&quot;105&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vTbyT/dJMcafM7fjY/GcSYHOoAg9dKdDexPKKmb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vTbyT/dJMcafM7fjY/GcSYHOoAg9dKdDexPKKmb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vTbyT/dJMcafM7fjY/GcSYHOoAg9dKdDexPKKmb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvTbyT%2FdJMcafM7fjY%2FGcSYHOoAg9dKdDexPKKmb0%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;1064&quot; height=&quot;105&quot; data-origin-width=&quot;1064&quot; data-origin-height=&quot;105&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;nodegroup 에 권한을 추가&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;649&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buC5F4/dJMcacJCjpy/2ZQlkJNmLKfrmMrMaC38kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buC5F4/dJMcacJCjpy/2ZQlkJNmLKfrmMrMaC38kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buC5F4/dJMcacJCjpy/2ZQlkJNmLKfrmMrMaC38kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuC5F4%2FdJMcacJCjpy%2F2ZQlkJNmLKfrmMrMaC38kk%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;1077&quot; height=&quot;649&quot; data-origin-width=&quot;1077&quot; data-origin-height=&quot;649&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 현재 설정 확인
aws configure get region

# 만약 ap-northeast-2a 처럼 'a'가 붙어있다면 아래 명령어로 수정
aws configure set region ap-northeast-2

# DNS 설정 초기화 (Ubuntu/Linux 환경인 경우)
sudo systemctl restart systemd-resolved

# 드라이버 설치
eksctl create addon --name aws-ebs-csi-driver --cluster 3tier-cluster --force&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&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;1051&quot; data-origin-height=&quot;230&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bna1wq/dJMcah5dobs/7PjdWzSvcvnk86Ka6Xnl8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bna1wq/dJMcah5dobs/7PjdWzSvcvnk86Ka6Xnl8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bna1wq/dJMcah5dobs/7PjdWzSvcvnk86Ka6Xnl8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbna1wq%2FdJMcah5dobs%2F7PjdWzSvcvnk86Ka6Xnl8k%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;1051&quot; height=&quot;230&quot; data-origin-width=&quot;1051&quot; data-origin-height=&quot;230&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;DB POD 가 올라왔는지 다시 확인&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubectl describe po [db-pod이름]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1032&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5mZKu/dJMcahKULDa/Y9GhDT53kxiI8nlwLYp8W0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5mZKu/dJMcahKULDa/Y9GhDT53kxiI8nlwLYp8W0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5mZKu/dJMcahKULDa/Y9GhDT53kxiI8nlwLYp8W0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5mZKu%2FdJMcahKULDa%2FY9GhDT53kxiI8nlwLYp8W0%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;1032&quot; height=&quot;244&quot; data-origin-width=&quot;1032&quot; data-origin-height=&quot;244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;DB는 올라왔지만 로드밸런서가 올라오지 않았다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;#컨트롤러 설치 여부 확인
kubectl get deployment -n kube-system aws-load-balancer-controller

# Error from server (NotFound): deployments.apps &quot;aws-load-balancer-controller&quot; not found
# 컨트롤러가 설치되어 있지 않다면? 아래 내용 확인

# 1. IAM Policy 생성 (이미 있을 수도 있습니다)
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.5.4/docs/install/iam_policy.json
aws iam create-policy \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--policy-name AWSLoadBalancerControllerIAMPolicy \
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--policy-document file://iam_policy.json

# 2. Service Account 생성
eksctl create iamserviceaccount \
&amp;nbsp;&amp;nbsp;--cluster=3tier-cluster \
&amp;nbsp;&amp;nbsp;--namespace=kube-system \
&amp;nbsp;&amp;nbsp;--name=aws-load-balancer-controller \
&amp;nbsp;&amp;nbsp;--role-name AmazonEKSLoadBalancerControllerRole \
&amp;nbsp;&amp;nbsp;--attach-policy-arn=arn:aws:iam::[본인계정ID]:policy/AWSLoadBalancerControllerIAMPolicy \
&amp;nbsp;&amp;nbsp;--approve

# 3. Helm을 이용한 컨트롤러 설치
helm repo add eks https://aws.github.io/eks-charts
helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
&amp;nbsp;&amp;nbsp;-n kube-system \
&amp;nbsp;&amp;nbsp;--set clusterName=3tier-cluster \
&amp;nbsp;&amp;nbsp;--set serviceAccount.create=false \
&amp;nbsp;&amp;nbsp;--set serviceAccount.name=aws-load-balancer-controller&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;231&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAHr5n/dJMcadoajsT/becidGyuoAcKWQGTBDgRW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAHr5n/dJMcadoajsT/becidGyuoAcKWQGTBDgRW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAHr5n/dJMcadoajsT/becidGyuoAcKWQGTBDgRW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAHr5n%2FdJMcadoajsT%2FbecidGyuoAcKWQGTBDgRW1%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;725&quot; height=&quot;231&quot; data-origin-width=&quot;725&quot; data-origin-height=&quot;231&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;여기까지 했는데 안되서&amp;nbsp; Helm 을 삭제하고 재생성함&lt;br /&gt;Step A: 기존 Helm 삭제&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;helm uninstall aws-load-balancer-controller -n kube-system&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Step B: IAM OIDC 공급자 생성 (안 하셨다면 필수)&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;eksctl utils associate-iam-oidc-provider --cluster 3tier-cluster --approve&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Step C: Service Account 재생성&lt;br /&gt;이미 있을 수 있으니 --override-existing-serviceaccounts 옵션을 추가&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;eksctl create iamserviceaccount \
&amp;nbsp;&amp;nbsp;--cluster=3tier-cluster \
&amp;nbsp;&amp;nbsp;--namespace=kube-system \
&amp;nbsp;&amp;nbsp;--name=aws-load-balancer-controller \
&amp;nbsp;&amp;nbsp;--role-name AmazonEKSLoadBalancerControllerRole \
&amp;nbsp;&amp;nbsp;--attach-policy-arn=arn:aws:iam::011329685925:policy/AWSLoadBalancerControllerIAMPolicy \
&amp;nbsp;&amp;nbsp;--approve \
&amp;nbsp;&amp;nbsp;--override-existing-serviceaccounts&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;Step D: Helm 재설치&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
&amp;nbsp;&amp;nbsp;-n kube-system \
&amp;nbsp;&amp;nbsp;--set clusterName=3tier-cluster \
&amp;nbsp;&amp;nbsp;--set serviceAccount.create=false \
&amp;nbsp;&amp;nbsp;--set serviceAccount.name=aws-load-balancer-controller&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;EXTERNAL-IP 가 출력되었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b01pid/dJMcaayfVeF/IqIgTiY9nYQ5wDZrApAkAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b01pid/dJMcaayfVeF/IqIgTiY9nYQ5wDZrApAkAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b01pid/dJMcaayfVeF/IqIgTiY9nYQ5wDZrApAkAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb01pid%2FdJMcaayfVeF%2FIqIgTiY9nYQ5wDZrApAkAk%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;985&quot; height=&quot;91&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;91&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;ingress 주소로 접속해본다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;60&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SHnYM/dJMcahYqxs2/FIbajyodyV3f4XJKMcKHx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SHnYM/dJMcahYqxs2/FIbajyodyV3f4XJKMcKHx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SHnYM/dJMcahYqxs2/FIbajyodyV3f4XJKMcKHx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSHnYM%2FdJMcahYqxs2%2FFIbajyodyV3f4XJKMcKHx0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;60&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;60&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;접속은 되는데 거부당함&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlAaa6/dJMcafTRtXa/U45qG5qJxtdCZMju523qe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlAaa6/dJMcafTRtXa/U45qG5qJxtdCZMju523qe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlAaa6/dJMcafTRtXa/U45qG5qJxtdCZMju523qe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlAaa6%2FdJMcafTRtXa%2FU45qG5qJxtdCZMju523qe0%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;163&quot; data-origin-width=&quot;887&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;작업중 인스턴스를 중지하려면 노드그룹의 대수를 0으로 만들어야 한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;안그러면 자꾸 새로운 노드 생김&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 노드 그룹 이름을 확인
eksctl get nodegroup --cluster 3tier-cluster

# 대수를 0으로 만들면 현재 돌아가는 인스턴스들이 안전하게 제거됩니다.
eksctl scale nodegroup --cluster=3tier-cluster --name=3tier-nodes --nodes=0 --nodes-min=0 --nodes-max=1&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;다시 시작하려면 마스터 인스턴스에서 노드대수 변경&lt;br /&gt;EKS에서 각 인스턴스 타입별로 가질 수 있는 파드의 최대 개수는 제한되어 있음&lt;br /&gt;&lt;b&gt;t3.small&lt;/b&gt;의 경우 최대 약 &lt;b&gt;11개&lt;/b&gt; 정도의 파드만 수용 가능&lt;br /&gt;때문에 &lt;span style=&quot;color: #ee2323;&quot;&gt;node 갯수를 3&lt;/span&gt;개로 해야 argocd 가 정상 실행 됨&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;eksctl scale nodegroup --cluster=3tier-cluster --name=3tier-nodes --nodes=3 --nodes-min=2 --nodes-max=3&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;argoCD 에서 어플리 케이션이 정상 실행 됨을 확인&lt;br /&gt;3tier-app 에서 새창 버튼을 클릭하면 배포된 앱이 실행된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;908&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0fujH/dJMcaibZ97N/9xzkZsKbkdtZYrEc0RzNk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0fujH/dJMcaibZ97N/9xzkZsKbkdtZYrEc0RzNk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0fujH/dJMcaibZ97N/9xzkZsKbkdtZYrEc0RzNk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0fujH%2FdJMcaibZ97N%2F9xzkZsKbkdtZYrEc0RzNk0%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;918&quot; height=&quot;908&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;908&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;1071&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vUEjI/dJMcajolaR2/V9CXmhxUBaFfwVvxeDDsK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vUEjI/dJMcajolaR2/V9CXmhxUBaFfwVvxeDDsK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vUEjI/dJMcajolaR2/V9CXmhxUBaFfwVvxeDDsK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvUEjI%2FdJMcajolaR2%2FV9CXmhxUBaFfwVvxeDDsK0%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;1071&quot; height=&quot;495&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS 의 로드밸런서 화면에서도 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDhcAA/dJMcadPdaQF/DTzxH2vt8x7slK6JjUc131/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDhcAA/dJMcadPdaQF/DTzxH2vt8x7slK6JjUc131/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDhcAA/dJMcadPdaQF/DTzxH2vt8x7slK6JjUc131/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDhcAA%2FdJMcadPdaQF%2FDTzxH2vt8x7slK6JjUc131%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;1119&quot; height=&quot;444&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;Route53 에서 도메인 연결&lt;/p&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;709&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/J8XQ3/dJMb99MP7AZ/uuS7VMk4Tmw3Ej9lPMXhV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/J8XQ3/dJMb99MP7AZ/uuS7VMk4Tmw3Ej9lPMXhV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/J8XQ3/dJMb99MP7AZ/uuS7VMk4Tmw3Ej9lPMXhV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ8XQ3%2FdJMb99MP7AZ%2FuuS7VMk4Tmw3Ej9lPMXhV0%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;709&quot; data-origin-width=&quot;877&quot; data-origin-height=&quot;709&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;900&quot; data-origin-height=&quot;498&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/OC1B3/dJMcahREIzC/jhAgeA1FfyHkSHpy0aV0pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/OC1B3/dJMcahREIzC/jhAgeA1FfyHkSHpy0aV0pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/OC1B3/dJMcahREIzC/jhAgeA1FfyHkSHpy0aV0pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOC1B3%2FdJMcahREIzC%2FjhAgeA1FfyHkSHpy0aV0pk%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;900&quot; height=&quot;498&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;498&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size26&quot;&gt;5단계: 최종 점검&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;코드 수정&lt;/b&gt;: 프론트엔드나 백엔드 코드를 살짝 수정하고 git push 합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;121&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E1nb2/dJMcacW7jbk/0CpJBEkSFEUkAXYgHsPl0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E1nb2/dJMcacW7jbk/0CpJBEkSFEUkAXYgHsPl0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E1nb2/dJMcacW7jbk/0CpJBEkSFEUkAXYgHsPl0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE1nb2%2FdJMcacW7jbk%2F0CpJBEkSFEUkAXYgHsPl0K%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;953&quot; height=&quot;121&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;121&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GIT 에 커밋된거 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;876&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRxIZo/dJMcaiiJAKi/PahuAdl8VoPDRsXn2LKMB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRxIZo/dJMcaiiJAKi/PahuAdl8VoPDRsXn2LKMB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRxIZo/dJMcaiiJAKi/PahuAdl8VoPDRsXn2LKMB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRxIZo%2FdJMcaiiJAKi%2FPahuAdl8VoPDRsXn2LKMB0%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;876&quot; height=&quot;647&quot; data-origin-width=&quot;876&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;소스변경 후 argoCD sync 중 오류가 발생 하여&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;: &amp;lt;&amp;lt; 'COMMENT'
argocd-applicationset-controller 에서 에러
{&quot;error&quot;:&quot;failed to get restmapping: no matches for kind \&quot;ApplicationSet\&quot; in version 
\&quot;argoproj.io/v1alpha1\&quot;&quot;,&quot;kind&quot;:&quot;ApplicationSet.argoproj.io&quot;,&quot;level&quot;:&quot;error&quot;,
&quot;logger&quot;:&quot;controller-runtime.source.Kind&quot;,&quot;msg&quot;:&quot;if kind is a CRD, 
it should be installed before calling Start&quot;,&quot;time&quot;:&quot;2026-04-21T04:18:57Z&quot;}
COMMENT

# ArgoCD CRD 재설치
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

# 컨트롤러 파드 재시작 (Deployment를 재시작하면 파드가 새로 뜹니다)
kubectl rollout restart deployment argocd-applicationset-controller -n argocd# 파드 상태 확인

# 상태 확인
kubectl get pods -n argocd&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;여기서 많은 오류가 발생하였다.&lt;br /&gt;yaml 파일의 url, namespace, 파일명 등&amp;nbsp;&amp;nbsp;설정 부분들을 다시 확인하자.&lt;/blockquote&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;CI 확인&lt;/b&gt;: GitHub Actions 탭에서 빌드와 ECR 푸시, 매니페스트 업데이트가 성공하는지 봅니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/canB94/dJMcaiwfF4g/1qUpDSgpfkeXJy2YvjMXa0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/canB94/dJMcaiwfF4g/1qUpDSgpfkeXJy2YvjMXa0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/canB94/dJMcaiwfF4g/1qUpDSgpfkeXJy2YvjMXa0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcanB94%2FdJMcaiwfF4g%2F1qUpDSgpfkeXJy2YvjMXa0%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;1060&quot; height=&quot;310&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;310&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;동일한 이미지 태그로 ECR 업로드 된것 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzmyjM/dJMcageaUzM/iXZpMXlN5djBb0Ksr2JZFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzmyjM/dJMcageaUzM/iXZpMXlN5djBb0Ksr2JZFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzmyjM/dJMcageaUzM/iXZpMXlN5djBb0Ksr2JZFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzmyjM%2FdJMcageaUzM%2FiXZpMXlN5djBb0Ksr2JZFk%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;1056&quot; height=&quot;566&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;yaml 파일의 이미지 해시가 ECR 이미지 태그로 변경됨&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;800&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6cpy4/dJMcagkVSUe/fGUKfghpdoSsY0BXMmL6ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6cpy4/dJMcagkVSUe/fGUKfghpdoSsY0BXMmL6ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6cpy4/dJMcagkVSUe/fGUKfghpdoSsY0BXMmL6ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6cpy4%2FdJMcagkVSUe%2FfGUKfghpdoSsY0BXMmL6ak%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;1576&quot; height=&quot;800&quot; data-origin-width=&quot;1576&quot; data-origin-height=&quot;800&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;CD 확인&lt;/b&gt;: ArgoCD UI에서 OutOfSync가 뜨다가 자동으로 Synced로 변하며 EKS의 Pod가 교체되는지 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교체 후 페이지 에 내용 반영된 것확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;901&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qTSey/dJMcagSMaBM/KZBlgncquScKBVBImzvkf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qTSey/dJMcagSMaBM/KZBlgncquScKBVBImzvkf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qTSey/dJMcagSMaBM/KZBlgncquScKBVBImzvkf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqTSey%2FdJMcagSMaBM%2FKZBlgncquScKBVBImzvkf1%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;901&quot; height=&quot;238&quot; data-origin-width=&quot;901&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;argoCD 에서전체 구성도 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1863&quot; data-origin-height=&quot;1061&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qn29y/dJMcacQmwrM/FnRldnxQ5Di1Ty1gwymnJ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qn29y/dJMcacQmwrM/FnRldnxQ5Di1Ty1gwymnJ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qn29y/dJMcacQmwrM/FnRldnxQ5Di1Ty1gwymnJ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQn29y%2FdJMcacQmwrM%2FFnRldnxQ5Di1Ty1gwymnJ0%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;1863&quot; height=&quot;1061&quot; data-origin-width=&quot;1863&quot; data-origin-height=&quot;1061&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크 상태 확인 DB 와의 연결이 없다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1401&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DKY9P/dJMcahc4cDb/uoOCaQ38Uu7q2rWz0agLuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DKY9P/dJMcahc4cDb/uoOCaQ38Uu7q2rWz0agLuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DKY9P/dJMcahc4cDb/uoOCaQ38Uu7q2rWz0agLuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDKY9P%2FdJMcahc4cDb%2FuoOCaQ38Uu7q2rWz0agLuk%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;1401&quot; height=&quot;470&quot; data-origin-width=&quot;1401&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;소소하게 Docker image url 이 못되고, 계정이 생성안되는 오류가 있어서 수정하고 다시 sync&lt;br /&gt;backend pod 로그에 DB 접속시 설정한 로그가 출력되는것 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;674&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dq9sSN/dJMcacbLr4h/XiuzSrD81tTYxuRzeAtwKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dq9sSN/dJMcacbLr4h/XiuzSrD81tTYxuRzeAtwKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dq9sSN/dJMcacbLr4h/XiuzSrD81tTYxuRzeAtwKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdq9sSN%2FdJMcacbLr4h%2FXiuzSrD81tTYxuRzeAtwKk%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;584&quot; height=&quot;674&quot; data-origin-width=&quot;584&quot; data-origin-height=&quot;674&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;715&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gmqe0/dJMcaaLNpN2/T8ZHtr0YaYgwFLK70BdU71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gmqe0/dJMcaaLNpN2/T8ZHtr0YaYgwFLK70BdU71/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gmqe0/dJMcaaLNpN2/T8ZHtr0YaYgwFLK70BdU71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGmqe0%2FdJMcaaLNpN2%2FT8ZHtr0YaYgwFLK70BdU71%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;715&quot; height=&quot;286&quot; data-origin-width=&quot;715&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;이제 웹화면에서 할일목록을 추가 삭제할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;863&quot; data-origin-height=&quot;603&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yAYPP/dJMcaf0BoHE/vuA6KftKp8KC0yQB87uPuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yAYPP/dJMcaf0BoHE/vuA6KftKp8KC0yQB87uPuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yAYPP/dJMcaf0BoHE/vuA6KftKp8KC0yQB87uPuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyAYPP%2FdJMcaf0BoHE%2FvuA6KftKp8KC0yQB87uPuK%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;863&quot; height=&quot;603&quot; data-origin-width=&quot;863&quot; data-origin-height=&quot;603&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;전체 구성도&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;833&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bM81Cu/dJMcagea4gk/ZGhblS57w34JpaNAZgOmZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bM81Cu/dJMcagea4gk/ZGhblS57w34JpaNAZgOmZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bM81Cu/dJMcagea4gk/ZGhblS57w34JpaNAZgOmZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbM81Cu%2FdJMcagea4gk%2FZGhblS57w34JpaNAZgOmZk%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;948&quot; height=&quot;833&quot; data-origin-width=&quot;948&quot; data-origin-height=&quot;833&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 구성도를 보면 3tier-app 안에 pv,pvc,secret,deploy,inggress, services 가 있고&lt;br /&gt;각 deploy 에 하나의 pod 가 생성되 어 연결되 어 있고&lt;br /&gt;github 에서 커밋 하여 이미지가 새로생성될 때마다 백업을 위한 ReplicaSets 가 생성되는 것을 볼 수 있다.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AWS 에서 확인&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작업용으로 생성한 VPC&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uaKfc/dJMcadBEWWq/FnFfgNjP5av5GQQKKRxBek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uaKfc/dJMcadBEWWq/FnFfgNjP5av5GQQKKRxBek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uaKfc/dJMcadBEWWq/FnFfgNjP5av5GQQKKRxBek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuaKfc%2FdJMcadBEWWq%2FFnFfgNjP5av5GQQKKRxBek%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;1638&quot; height=&quot;669&quot; data-origin-width=&quot;1638&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 배포용 리포지토리&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPyJLe/dJMcacW7B0w/7GtE8bQ9MddVHcfiGvpW50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPyJLe/dJMcacW7B0w/7GtE8bQ9MddVHcfiGvpW50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPyJLe/dJMcacW7B0w/7GtE8bQ9MddVHcfiGvpW50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPyJLe%2FdJMcacW7B0w%2F7GtE8bQ9MddVHcfiGvpW50%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;1300&quot; height=&quot;261&quot; data-origin-width=&quot;1300&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;538&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq3JEs/dJMcaciyoRq/GSXnlCek0dwkK5KQgGYDj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq3JEs/dJMcaciyoRq/GSXnlCek0dwkK5KQgGYDj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq3JEs/dJMcaciyoRq/GSXnlCek0dwkK5KQgGYDj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq3JEs%2FdJMcaciyoRq%2FGSXnlCek0dwkK5KQgGYDj0%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;1119&quot; height=&quot;538&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;538&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;Kubernetes 클러스터에 의해 생성된 볼륨&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1076&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/716Rj/dJMcagSM4Zi/Q8oiVxF7DQcUHXLKlck2tk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/716Rj/dJMcagSM4Zi/Q8oiVxF7DQcUHXLKlck2tk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/716Rj/dJMcagSM4Zi/Q8oiVxF7DQcUHXLKlck2tk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F716Rj%2FdJMcagSM4Zi%2FQ8oiVxF7DQcUHXLKlck2tk%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;1076&quot; height=&quot;287&quot; data-origin-width=&quot;1076&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;Kubernetes 클러스터에 의해 생성된 VPC&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1633&quot; data-origin-height=&quot;940&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tiP0N/dJMcacv5HQE/XEIihOGH2LVhw93cG4qtvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tiP0N/dJMcacv5HQE/XEIihOGH2LVhw93cG4qtvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tiP0N/dJMcacv5HQE/XEIihOGH2LVhw93cG4qtvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtiP0N%2FdJMcacv5HQE%2FXEIihOGH2LVhw93cG4qtvk%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;1633&quot; height=&quot;940&quot; data-origin-width=&quot;1633&quot; data-origin-height=&quot;940&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;Kubernetes 클러스터에 의해 생성된 서브넷&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;377&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/k4b4I/dJMcaffiCFY/2LqSMWoeyIl2S7SaVEqgTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/k4b4I/dJMcaffiCFY/2LqSMWoeyIl2S7SaVEqgTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/k4b4I/dJMcaffiCFY/2LqSMWoeyIl2S7SaVEqgTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk4b4I%2FdJMcaffiCFY%2F2LqSMWoeyIl2S7SaVEqgTK%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;1138&quot; height=&quot;377&quot; data-origin-width=&quot;1138&quot; data-origin-height=&quot;377&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes 클러스터에 의해 생성된 라우팅 테이블&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cM52fc/dJMcajvauxq/GLrbXDVw4gBB8PdK72wRN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cM52fc/dJMcajvauxq/GLrbXDVw4gBB8PdK72wRN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cM52fc/dJMcajvauxq/GLrbXDVw4gBB8PdK72wRN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcM52fc%2FdJMcajvauxq%2FGLrbXDVw4gBB8PdK72wRN0%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;1040&quot; height=&quot;704&quot; data-origin-width=&quot;1040&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;Kubernetes 클러스터에 의해 생성된 인터넷 게이트 웨이&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v9ORN/dJMcadIsTDb/AZFREF5i84mLMAdkA6iUbK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v9ORN/dJMcadIsTDb/AZFREF5i84mLMAdkA6iUbK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v9ORN/dJMcadIsTDb/AZFREF5i84mLMAdkA6iUbK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv9ORN%2FdJMcadIsTDb%2FAZFREF5i84mLMAdkA6iUbK%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;1197&quot; height=&quot;219&quot; data-origin-width=&quot;1197&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;Kubernetes 클러스터에 의해 생성된 NAT 게이트웨이&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1yGFv/dJMcaaLNrnz/mFhMjLDjQxeA5iZtUtZqe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1yGFv/dJMcaaLNrnz/mFhMjLDjQxeA5iZtUtZqe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1yGFv/dJMcaaLNrnz/mFhMjLDjQxeA5iZtUtZqe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1yGFv%2FdJMcaaLNrnz%2FmFhMjLDjQxeA5iZtUtZqe0%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;1014&quot; height=&quot;172&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes 클러스터에 의해 자동 생성된 보안그룹&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;233&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dxpdDQ/dJMcafM7XPc/eszsi8ZMXR0jx380yhKKNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dxpdDQ/dJMcafM7XPc/eszsi8ZMXR0jx380yhKKNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dxpdDQ/dJMcafM7XPc/eszsi8ZMXR0jx380yhKKNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxpdDQ%2FdJMcafM7XPc%2Feszsi8ZMXR0jx380yhKKNK%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;1119&quot; height=&quot;233&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;233&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes 클러스터에 의해 자동 생성된 노드 인스턴스&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1293&quot; data-origin-height=&quot;311&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtpKEC/dJMcabKJr7W/76RHml68WTyAivVvcKnnP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtpKEC/dJMcabKJr7W/76RHml68WTyAivVvcKnnP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtpKEC/dJMcabKJr7W/76RHml68WTyAivVvcKnnP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtpKEC%2FdJMcabKJr7W%2F76RHml68WTyAivVvcKnnP1%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;1293&quot; height=&quot;311&quot; data-origin-width=&quot;1293&quot; data-origin-height=&quot;311&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes 클러스터에 의해 생성된 네트워크 인터페이스&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KEos2/dJMcaa56dQo/bSSoiWLuFDBpnqsYTu21Ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KEos2/dJMcaa56dQo/bSSoiWLuFDBpnqsYTu21Ck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KEos2/dJMcaa56dQo/bSSoiWLuFDBpnqsYTu21Ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKEos2%2FdJMcaa56dQo%2FbSSoiWLuFDBpnqsYTu21Ck%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;1213&quot; height=&quot;648&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes 클러스터에 의해 생성된 로드밸런서&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;900&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3uiPY/dJMcabjEJCS/5EjX6MPpmrliFSm5XN6JH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3uiPY/dJMcabjEJCS/5EjX6MPpmrliFSm5XN6JH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3uiPY/dJMcabjEJCS/5EjX6MPpmrliFSm5XN6JH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3uiPY%2FdJMcabjEJCS%2F5EjX6MPpmrliFSm5XN6JH0%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;900&quot; data-origin-width=&quot;1634&quot; data-origin-height=&quot;900&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;392&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cL1LYp/dJMcahYre63/e8mn6WumT1gWRq5bA5zqw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cL1LYp/dJMcahYre63/e8mn6WumT1gWRq5bA5zqw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cL1LYp/dJMcahYre63/e8mn6WumT1gWRq5bA5zqw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcL1LYp%2FdJMcahYre63%2Fe8mn6WumT1gWRq5bA5zqw1%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;392&quot; height=&quot;152&quot; data-origin-width=&quot;392&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;argocd&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1506&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blLtyh/dJMcabw8NGZ/Fr5p7ygjFIDwMlC0Sgu7Fk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blLtyh/dJMcabw8NGZ/Fr5p7ygjFIDwMlC0Sgu7Fk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blLtyh/dJMcabw8NGZ/Fr5p7ygjFIDwMlC0Sgu7Fk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblLtyh%2FdJMcabw8NGZ%2FFr5p7ygjFIDwMlC0Sgu7Fk%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;1506&quot; height=&quot;670&quot; data-origin-width=&quot;1506&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;566&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/by9zIY/dJMcahYrfeU/YRRIMiATKwskxiVC1FOK9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/by9zIY/dJMcahYrfeU/YRRIMiATKwskxiVC1FOK9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/by9zIY/dJMcahYrfeU/YRRIMiATKwskxiVC1FOK9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fby9zIY%2FdJMcahYrfeU%2FYRRIMiATKwskxiVC1FOK9K%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;1198&quot; height=&quot;566&quot; data-origin-width=&quot;1198&quot; data-origin-height=&quot;566&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;확인이 끝났으면 전부 제거한다.&lt;/b&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1776908968718&quot; class=&quot;bash&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 네임스페이스의 모든 리소스 삭제
kubectl delete all --all -n 3tier-test

# 클러스터를 삭제하기 전에 반드시 아래 명령어를 먼저 실행
kubectl delete svc --all -n 3tier-test
kubectl delete ingress --all -n 3tier-test

# 클라우드포메이션의 클러스터와 스택을 삭제(15분 정도 소요)
eksctl delete cluster --name 3tier-cluster --region ap-northeast-2

aws cloudformation delete-stack --stack-name eksctl-3tier-cluster-cluster --region ap-northeast-2

# EC2 &amp;gt; 볼륨 에서 생성된 DB 볼륨 삭제
# 인스턴스, 로드밸런서, 보안그룹, 
# 인터넷게이트웨이, NAT게이트웨이, 라우팅테이블, 
# 서브넷, VPC 등 남아있는 자원 없는지 확인한다.&lt;/code&gt;&lt;/pre&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;text-align: justify;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>클라우드 | 가상화/AWS</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/66</guid>
      <comments>https://mamdragors.tistory.com/66#entry66comment</comments>
      <pubDate>Tue, 21 Apr 2026 17:15:59 +0900</pubDate>
    </item>
    <item>
      <title>[CS50 2026] Lecture 0</title>
      <link>https://mamdragors.tistory.com/65</link>
      <description>&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;Computer Science&lt;br&gt;컴퓨터 과학은 정보에 대한 연구이다.&lt;br&gt;어떻게 표현하는가, 어떻게 처리하는가.&lt;br&gt;&lt;br&gt;Computational Thinking&lt;br&gt;컴퓨터 사고는 컴퓨터 과학에서 얻은 아이디어를 현실 세계의 문제에 적용하는 것이다.&lt;br&gt;&lt;br&gt;컴퓨터 과학은 문제 해결에 관한 것이고 프로그래밍은 그 과정에서 배우게 되는 도구일 뿐이다.&lt;br&gt;&lt;br&gt;&lt;br&gt;문제&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style3&quot;&gt;입력&amp;nbsp;&amp;nbsp;--&amp;gt;&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;gt;&amp;nbsp;&amp;nbsp;출력&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;입력값 : 해결하고자 하는 문제&lt;br&gt;출력값 : 원하는 목표이자 해결책&lt;br&gt;[&amp;nbsp;&amp;nbsp; ] : 입력값을 출력값으로 변환하는 어떤 과정. 이 것이 '문제 해결' 이고 컴퓨터 과학의 본질이다.&lt;br&gt;&lt;br&gt;이 때, pc, 휴대폰, 등등 다양한 컴퓨터 기기를 사용한다면&amp;nbsp;&amp;nbsp;정보, 즉 입력 과 출력은 어떻게 표현해야 할까. &lt;br&gt;&lt;br&gt; 컴퓨터는 0 과 1을 사용한다.&lt;br&gt;&lt;br&gt; 한 손으로 숫자를 표현한다면 몇까지 셀 수 있을까?&lt;br&gt;단순히 손가락의 갯수로 세면 5 까지 셀수 있다.&lt;br&gt;순서를 부여하고 손가락을 접으면 0 펴면 1 이라고 가정하면 32 까지 셀 수 있다. 이런 방식을 2진법 이라 부른다. 영어로는 binary 또는 base2 이다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;base-2 (binary)&lt;/b&gt;&lt;br&gt;101&amp;nbsp;&amp;nbsp;=&amp;nbsp;&amp;nbsp;1×&lt;span style=&quot;color: #EE2323;&quot;&gt;2^2&lt;/span&gt; + 0×&lt;span style=&quot;color: #EE2323;&quot;&gt;2^1&lt;/span&gt; + 1×&lt;span style=&quot;color: #EE2323;&quot;&gt;2^0&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;b&gt;base-10 (decimal)&lt;/b&gt;&lt;br&gt;101&amp;nbsp;&amp;nbsp;= 1×&lt;span style=&quot;color: #EE2323;&quot;&gt;10^2&lt;/span&gt; + 0×&lt;span style=&quot;color: #EE2323;&quot;&gt;10^1 &lt;/span&gt;+ 1×&lt;span style=&quot;color: #EE2323;&quot;&gt;10^0&lt;/span&gt;&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; 손가락 하나 대신 전구로 표현한다면 꺼지면 0, 켜지면 1 로, 전기가 흐르면 1, 차단되면 0 이라고 약속한다. 이때 전구 하나를 1bit 라고부른다.&lt;br&gt; 1bit는 값을 2개만 저장할수 있다. 그래서 더 큰 수를 표현하가 위해 8개의 bit 가 연속으로 나열된 byte 를 사용한다.&lt;br&gt;&amp;nbsp;&amp;nbsp;1byte = 8bit&lt;br&gt; 1byte 는 0부터 255 까지 256개의 숫자를 표현할 수 있다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Binary&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Decimal&lt;br&gt;00000000 = 0&lt;br&gt;00000001 = 1&lt;br&gt;00000010 = 2&lt;br&gt;00000010 = 3&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br&gt;11111111 = 255&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; 이제 숫자는 전기로 표현할 수 있게 되었다. 그러면 문자는 어떻게 표현할까?&lt;br&gt; 미국에서는 특정 숫자가 특정 알파벳 하나를 가리키도록 약속을 정했다. 그 약속이 ASCII (미국 정보 교환 표준 부호 :&amp;nbsp;&amp;nbsp;Standard Code for Information Interchange American) 이다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style3&quot;&gt;[ 아스키 코드의 일부]&lt;br&gt;&lt;br&gt;48&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&amp;nbsp;&amp;nbsp;A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;br&gt;49&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&amp;nbsp;&amp;nbsp;B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;br&gt;50&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&amp;nbsp;&amp;nbsp;C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c&lt;br&gt;51&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&amp;nbsp;&amp;nbsp;D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100&amp;nbsp;&amp;nbsp;d&lt;br&gt;52&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&amp;nbsp;&amp;nbsp;E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;101&amp;nbsp;&amp;nbsp; e&lt;br&gt;53&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&amp;nbsp;&amp;nbsp;F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102&amp;nbsp;&amp;nbsp; f&lt;br&gt;..&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;..&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt; ASCII(아스키)는 8bit 를 사용하는데 1개는 제어비트로, 7개는 문자 표현에 사용하여 총128개의 문자를 표현할 수 있다.&lt;br&gt; ASCII 로는 전세계의 모든 문자를 표현할 수 없다 그래서 생긴 약속이 Unicode(UTF-8) 이다.&lt;br&gt;&lt;br&gt; Unicode(유니코드)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준으로 문자, 숫자, 특수문자 뿐 아니라 이모지까지 표현할 수 있다. 코드 값은 같지만&amp;nbsp;&amp;nbsp;디바이스에 따라서 이모지의 디자인이 다르게 표현 되기도 한다.&lt;br&gt;&lt;br&gt; 문자 이외의 데이터는 어떻게 표현 될까?&lt;br&gt; 빛은 Red, Green, Blue 로 이루어져 있다. 각 색의 양을 256 단계로 나눴을때 Red 0, Green 0, Blue 0 만큼 있다면 빛이 없으므로 검정색이다. Red 255, Green 255, Blue 255 가 있다면 흰색이다. 앞에서 1byte, 즉 8bit 는 256 개의 값을 표현할 수 있다는 것을 알았다. 즉 3byte 로 1pixel 을 표현 할 수 있다. 무수히 많은 픽셀들이 모여서 이미지가 된다.&lt;br&gt; 마찬가지로 음성, 동영상 등의 정보들 역시 약속을 정해 2진수로 표현된다.&lt;br&gt;&lt;br&gt;&lt;br&gt;다시 문제로 돌아가서&lt;/p&gt;&lt;pre data-ke-type=&quot;codeblock&quot; class=&quot;html&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;입력&amp;nbsp;&amp;nbsp;--&amp;gt;&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;gt;&amp;nbsp;&amp;nbsp;출력&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;입력값과 출력값을 어떻게 표현하는지 알았다.&lt;br&gt;입력값이 어떤 문제 해결 과정 을 통해 출력 값으로 바뀐다.&lt;br&gt;여기서 '문제 해결 과정' 이 알고리즘이다.&lt;br&gt;&lt;br&gt;알고리즘은 어떤 문제를 해결하기 위한 단계적 지침이고, 이것이 바로 컴퓨터 과학의 본질이다.&lt;br&gt;&lt;br&gt;소프트웨어란 코드로 구현된 알고리즘이고&lt;br&gt;컴퓨터가 이해하는 코드는 단계별 명령일 뿐이다.&lt;br&gt;&lt;br&gt;CS50 에서는 문제를 해결하기 위한 다양한 언어와 다양한 방법론통해 자신을 표현하는 방법을 배운다.&lt;br&gt; 다양한 언어를 익히면 다양한 문제를 해결할 수 있을 뿐 아니라 더 나은 업무도구가 되어 시간을 절약할 수 있다.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;https://youtu.be/UuIEbpQms8o&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://youtu.be/UuIEbpQms8o&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;CS50x 2026 - Lecture 0 - Scratch&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;***This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming.*** TABLE OF CONTENTS00:00:...&quot; data-og-host=&quot;www.youtube.com&quot; data-og-source-url=&quot;https://www.youtube.com/watch?v=UuIEbpQms8o&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/dQaQax/dJMb89549Ll/AAAAAAAAAAAAAAAAAAAAANO59UXoy4qkDBUaGKEm8TRAGTYeqPiKanOkgaXltrOy/img.jpg?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=gt5Q8za7DwI3EfqO3qBBMPxNCr4%3D&quot; data-og-url=&quot;https://www.youtube.com/watch?v=UuIEbpQms8o&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=UuIEbpQms8o&quot; target=&quot;_blank&quot; data-source-url=&quot;https://www.youtube.com/watch?v=UuIEbpQms8o&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/dQaQax/dJMb89549Ll/AAAAAAAAAAAAAAAAAAAAANO59UXoy4qkDBUaGKEm8TRAGTYeqPiKanOkgaXltrOy/img.jpg?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=gt5Q8za7DwI3EfqO3qBBMPxNCr4%3D')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;CS50x 2026 - Lecture 0 - Scratch&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;***This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming.*** TABLE OF CONTENTS00:00:...&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;www.youtube.com&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://scratch.mit.edu&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;https://scratch.mit.edu&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Scratch - Imagine, Program, Share&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.&quot; data-og-host=&quot;scratch.mit.edu&quot; data-og-source-url=&quot;https://scratch.mit.edu/&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/c3Alwf/dJMb8Z3sPWu/AAAAAAAAAAAAAAAAAAAAABSTJojdjWtFAfbd_7PWBqh-gY5WNefunheMYuY1fYcU/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=W2SYCop9yZRG9hUqvj3XPaJyl2Q%3D&quot; data-og-url=&quot;https://scratch.mit.edu/&quot;&gt;&lt;a href=&quot;https://scratch.mit.edu/&quot; target=&quot;_blank&quot; data-source-url=&quot;https://scratch.mit.edu/&quot;&gt;&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/c3Alwf/dJMb8Z3sPWu/AAAAAAAAAAAAAAAAAAAAABSTJojdjWtFAfbd_7PWBqh-gY5WNefunheMYuY1fYcU/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=W2SYCop9yZRG9hUqvj3XPaJyl2Q%3D')&quot;&gt; &lt;/div&gt;&lt;div class=&quot;og-text&quot;&gt;&lt;p class=&quot;og-title&quot;&gt;Scratch - Imagine, Program, Share&lt;/p&gt;&lt;p class=&quot;og-desc&quot;&gt;Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.&lt;/p&gt;&lt;p class=&quot;og-host&quot;&gt;scratch.mit.edu&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: left;&quot;&gt;&lt;br&gt;&lt;/p&gt;</description>
      <category>Computer Science</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/65</guid>
      <comments>https://mamdragors.tistory.com/65#entry65comment</comments>
      <pubDate>Tue, 21 Apr 2026 08:47:10 +0900</pubDate>
    </item>
    <item>
      <title>AWS + kubernetes 3tier 설정</title>
      <link>https://mamdragors.tistory.com/64</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;참고)&lt;br /&gt;&lt;a href=&quot;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;Project 8 &amp;rarr; Three tier application deployment on Kubernetes&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;what do you mean by three tier&amp;nbsp;?&quot; data-og-host=&quot;aakibkhan1.medium.com&quot; data-og-source-url=&quot;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/A0m6J/dJMb9aKGXen/AAAAAAAAAAAAAAAAAAAAAPlsOj-T_qbQurNAdIi9B8Jspd-JrSNkptTnY8yh0QqJ/img.gif?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=58QQu1zlZx08pzz2sq9kG3e8Fv4%3D&quot; data-og-url=&quot;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&quot;&gt;&lt;a href=&quot;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://aakibkhan1.medium.com/project-8-three-tier-application-deployment-on-kubernetes-bf9323de40e0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/A0m6J/dJMb9aKGXen/AAAAAAAAAAAAAAAAAAAAAPlsOj-T_qbQurNAdIi9B8Jspd-JrSNkptTnY8yh0QqJ/img.gif?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=58QQu1zlZx08pzz2sq9kG3e8Fv4%3D');&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;Project 8 &amp;rarr; Three tier application deployment on Kubernetes&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;what do you mean by three tier&amp;nbsp;?&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;aakibkhan1.medium.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;div style=&quot;background-color: #ffffff; color: #1f2328; text-align: start;&quot;&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Overview&lt;/h2&gt;
&lt;a id=&quot;user-content-overview&quot; style=&quot;background-color: #000000; color: #0969da;&quot; href=&quot;https://github.com/anteater98/3tier-test#overview&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3계층(3-Tier)&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;프레젠테이션 계층 (Frontend): 사용자가 직접 보는 화면 (React 등).&lt;/li&gt;
&lt;li&gt;애플리케이션 계층 (Backend): 비즈니스 로직을 처리하는 서버 (Node.js 등).&lt;/li&gt;
&lt;li&gt;데이터 계층 (Database): 데이터를 저장하는 공간 (MongoDB).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;인프라 구성 (EC2 &amp;amp; IAM)&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;작업용 EC2 생성: 실습 명령어를 실행할 관리용 EC2 인스턴스를 생성&lt;/li&gt;
&lt;li&gt;IAM 사용자 설정: AWS CLI 접근을 위해 AdministratorAccess 권한을 가진 IAM 사용자를 생성, Access Key를 발급&lt;/li&gt;
&lt;li&gt;필수 도구 설치: EC2 환경에 Docker, AWS CLI, kubectl, eksctl을 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;도커 이미지 빌드 및 ECR 업로드&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;이미지 생성: 제공된 GitHub 리포지토리를 클론하여 프론트엔드와 백엔드 각각의 Dockerfile을 빌드합니다.&lt;/li&gt;
&lt;li&gt;ECR(Amazon Elastic Container Registry) 저장: 빌드한 이미지를 AWS의 컨테이너 저장소(ECR)에 푸시(Push)하여 Kubernetes가 가져갈 수 있게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Kubernetes 리소스 배포 (Manifest)&lt;/b&gt;&amp;nbsp;준비된 YAML 파일들을 사용하여 각 계층을 배포&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Database (MongoDB): 데이터를 보존하기 위해 Persistent Volume(PV)과 PVC를 설정한 후 배포&lt;/li&gt;
&lt;li&gt;Backend: ECR에 올린 백엔드 이미지를 사용해 배포하고, 내부 통신용 Service 생성&lt;/li&gt;
&lt;li&gt;Frontend: 프론트엔드 이미지를 배포하고 외부에서 접속할 수 있도록 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;접근 및 로드밸런싱&lt;/b&gt;&amp;nbsp;Ingress 또는 LoadBalancer: 외부 사용자가 브라우저를 통해 접속할 수 있도록 서비스의 타입을 설정하거나 Ingress 컨트롤러를 구성하여 트래픽을 전달&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;1.&amp;nbsp;Git&amp;nbsp;Repository&amp;nbsp;생성 &lt;/b&gt;&lt;br /&gt;&lt;b&gt;2.&amp;nbsp;AWS&amp;nbsp;에&amp;nbsp;IAM&amp;nbsp;사용자&amp;nbsp;와&amp;nbsp;인스턴스&amp;nbsp;생성&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;IAM&amp;nbsp;사용자&amp;nbsp;생성&amp;nbsp;및&amp;nbsp;권한&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;인스턴스&amp;nbsp;생성 &lt;br /&gt;&lt;b&gt;3.&amp;nbsp;EC2&amp;nbsp;인스턴스에&amp;nbsp;필수&amp;nbsp;도구&amp;nbsp;설치&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;SSH&amp;nbsp;Key&amp;nbsp;등록 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;git&amp;nbsp;소스&amp;nbsp;clone &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;AWS&amp;nbsp;CLI&amp;nbsp;설치,&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;도커&amp;nbsp;설치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;kubectl&amp;nbsp;설치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;eksctl&amp;nbsp;설치 &lt;br /&gt;&lt;b&gt;4.&amp;nbsp;Docker&amp;nbsp;이미지&amp;nbsp;빌드&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;aws&amp;nbsp;에&amp;nbsp;docker&amp;nbsp;저장소&amp;nbsp;생성&amp;nbsp;(frontend,&amp;nbsp;backend&amp;nbsp;용) &lt;br /&gt;&lt;b&gt;5.&amp;nbsp;쿠버네티스&amp;nbsp;설정&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- EKS 클러스터 설정 및 네임스페이스 생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;deploy,&amp;nbsp;service&amp;nbsp;생성&amp;nbsp;(front,&amp;nbsp;back,&amp;nbsp;db) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- 애플리케이션 로드 밸런싱 및 인그레스 설정&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. Git Repository 생성&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나중에 소스에 변형을 가할 생각이기 때문에 참고 url 의 소스를 내려받아 새로운 레파지토리에서 작업한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;893&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJbWO7/dJMcac3QKcG/nXFm9R0E3xbo3CjyIJ9hm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJbWO7/dJMcac3QKcG/nXFm9R0E3xbo3CjyIJ9hm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJbWO7/dJMcac3QKcG/nXFm9R0E3xbo3CjyIJ9hm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJbWO7%2FdJMcac3QKcG%2FnXFm9R0E3xbo3CjyIJ9hm1%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;1242&quot; height=&quot;893&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;893&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;별도의 개발환경 없이 github codespace 를 사용할것이다.&lt;br /&gt;레포지토리 생성화면에서 [create a codespace] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9OkcW/dJMcagd9jrM/aQbPjH8YwYNXZCx8IRkkwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9OkcW/dJMcagd9jrM/aQbPjH8YwYNXZCx8IRkkwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9OkcW/dJMcagd9jrM/aQbPjH8YwYNXZCx8IRkkwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9OkcW%2FdJMcagd9jrM%2FaQbPjH8YwYNXZCx8IRkkwK%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;1024&quot; height=&quot;276&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또는 시작 화면을 지나쳤다면 레포지토리 의 Code 탭에서 코드스페이스를 생성할수도 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b2pElb/dJMcahqA9no/7kYLvostfDIH1YYsl3U321/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b2pElb/dJMcahqA9no/7kYLvostfDIH1YYsl3U321/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b2pElb/dJMcahqA9no/7kYLvostfDIH1YYsl3U321/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2pElb%2FdJMcahqA9no%2F7kYLvostfDIH1YYsl3U321%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;912&quot; height=&quot;244&quot; data-origin-width=&quot;912&quot; data-origin-height=&quot;244&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;423&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qLBmz/dJMcadhpoGL/l2kcOPL4YzFKgvGzIHcIdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qLBmz/dJMcadhpoGL/l2kcOPL4YzFKgvGzIHcIdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qLBmz/dJMcadhpoGL/l2kcOPL4YzFKgvGzIHcIdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqLBmz%2FdJMcadhpoGL%2Fl2kcOPL4YzFKgvGzIHcIdk%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;530&quot; height=&quot;423&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;423&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;codespace 화면은 웹에서 실행되는 vscode 라고 생각하면 된다.&lt;br /&gt;터미널에서 아래 명령어 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lgXdZ/dJMcajojLt0/kRwkzk2sFIY2eWYUOA5gZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lgXdZ/dJMcajojLt0/kRwkzk2sFIY2eWYUOA5gZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lgXdZ/dJMcajojLt0/kRwkzk2sFIY2eWYUOA5gZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlgXdZ%2FdJMcajojLt0%2FkRwkzk2sFIY2eWYUOA5gZK%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;1213&quot; height=&quot;522&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;522&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;html xml&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;html&quot;&gt;&lt;code&gt;cd ..
git clone --depth 1 https://github.com/Aakibgithuber/Three-tier-Application-Deployment-.git
cd Three-tier-Application-Deployment-/&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&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;907&quot; data-origin-height=&quot;487&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJmsBr/dJMcaiC0qvb/pJJOPmM6swuA9LQn1uo8vk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJmsBr/dJMcaiC0qvb/pJJOPmM6swuA9LQn1uo8vk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJmsBr/dJMcaiC0qvb/pJJOPmM6swuA9LQn1uo8vk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJmsBr%2FdJMcaiC0qvb%2FpJJOPmM6swuA9LQn1uo8vk%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;907&quot; height=&quot;487&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;487&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;주소를 획득했으면 다시 코드스페이스에서 아래 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;989&quot; data-origin-height=&quot;1249&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YrSnV/dJMcagFeD61/RP8dkDoX9ZX4OELXv8uSuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YrSnV/dJMcagFeD61/RP8dkDoX9ZX4OELXv8uSuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YrSnV/dJMcagFeD61/RP8dkDoX9ZX4OELXv8uSuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYrSnV%2FdJMcagFeD61%2FRP8dkDoX9ZX4OELXv8uSuk%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;989&quot; height=&quot;1249&quot; data-origin-width=&quot;989&quot; data-origin-height=&quot;1249&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# .git 폴더를 삭제하여 이전 기록과의 연결을 완전히 끊습니다.
rm -rf .git

# git 초기화
git init
git add .
git commit -m &quot;Initial commit (without history)&quot;

# 생성한&amp;nbsp;&amp;nbsp;repository 에 연결
git remote add origin [카피한-저장소-URL]

# 브랜치 이름을 main(또는 master)으로 설정 후 푸시
git branch -M main
git push -u origin main --force&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;저장소 페이지를 새로고침 하면 소스가 올라간 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;930&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8OfBR/dJMcaakGwox/MSAXCzCmEEYMk0RKKSyepK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8OfBR/dJMcaakGwox/MSAXCzCmEEYMk0RKKSyepK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8OfBR/dJMcaakGwox/MSAXCzCmEEYMk0RKKSyepK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8OfBR%2FdJMcaakGwox%2FMSAXCzCmEEYMk0RKKSyepK%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;930&quot; height=&quot;648&quot; data-origin-width=&quot;930&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른곳에서 clone 가능하도록 git token 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1014&quot; data-origin-height=&quot;686&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bl7gNx/dJMcad2Jmfj/cnwB7wg6zp1MjkfUmETUL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bl7gNx/dJMcad2Jmfj/cnwB7wg6zp1MjkfUmETUL1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bl7gNx/dJMcad2Jmfj/cnwB7wg6zp1MjkfUmETUL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbl7gNx%2FdJMcad2Jmfj%2FcnwB7wg6zp1MjkfUmETUL1%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;1014&quot; height=&quot;686&quot; data-origin-width=&quot;1014&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;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. AWS 에 IAM 사용자 와 인스턴스 생성&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;사용자 권한&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;AdministratorAccess &lt;br /&gt;AWSLoadBalancerControllerIAMPolicy&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;777&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkMauu/dJMcagSKQsE/om5i9U01k5NjmXGbNla8G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkMauu/dJMcagSKQsE/om5i9U01k5NjmXGbNla8G0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkMauu/dJMcagSKQsE/om5i9U01k5NjmXGbNla8G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkMauu%2FdJMcagSKQsE%2Fom5i9U01k5NjmXGbNla8G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;777&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;777&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- VPC 생성 : 3T-TEST-VPC&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;CIDR : 10.10.0.0/16&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- Subnet 생성 : 3T-TEST-SUBNET-2A&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;resion : ap-northeast-2a&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;CIDR : 10.10.10.0/24&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- Routing 테이블 생성 : 3T-TEST-RT&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- Internet Gateway 생성 : 3T-TEST-IGW&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- Routing 테이블 편집, 연결&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- 보안 그룹 만들기 : 3T-TEST-SG-2A&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;인바운드 규칙 : SSH, HTTP, HTTPS, ICMP&lt;/span&gt;&lt;br /&gt;아웃바운드 규칙 : HTTPS, SSH&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;- 인스턴스 생성 : 3T-TEST-INSTANCE&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;ubuntu22.04, 8g&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;기본 ip : 10.10.10.250&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1624&quot; data-origin-height=&quot;382&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjQIXc/dJMcag6hsyZ/3Tvu0Fp1T09KFFacnkKEf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjQIXc/dJMcag6hsyZ/3Tvu0Fp1T09KFFacnkKEf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjQIXc/dJMcag6hsyZ/3Tvu0Fp1T09KFFacnkKEf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjQIXc%2FdJMcag6hsyZ%2F3Tvu0Fp1T09KFFacnkKEf0%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;1624&quot; height=&quot;382&quot; data-origin-width=&quot;1624&quot; data-origin-height=&quot;382&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;인스턴스 생성 참고&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;https://mamdragors.tistory.com/25&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #1f2328;&quot;&gt;https://mamdragors.tistory.com/25&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;AWS - 2. VPC생성하여 쉘접속&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;아래 작업을 진행할 것이다. 1. 도메인생성 (가비아)2. 도메인 등록 (AWS Route 53)3. 도메인과 연결할 인증서 생성 (AWS Certificate Manager)4. VPC 생성 - VPC 생성 - Subnet 생성 - Routing 테이블 생성 - Internet Gatew&quot; data-og-host=&quot;mamdragors.tistory.com&quot; data-og-source-url=&quot;https://mamdragors.tistory.com/25&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/didZ99/dJMb88F6Mmv/AAAAAAAAAAAAAAAAAAAAAHovdaHW5m8sTauLpU7mKQYbiYVlLx1tQUQwXtgv6ofa/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=ffgk%2FdePDEcZ5mKV5HBu8IZvuG4%3D&quot; data-og-url=&quot;https://mamdragors.tistory.com/25&quot;&gt;&lt;a href=&quot;https://mamdragors.tistory.com/25&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://mamdragors.tistory.com/25&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/didZ99/dJMb88F6Mmv/AAAAAAAAAAAAAAAAAAAAAHovdaHW5m8sTauLpU7mKQYbiYVlLx1tQUQwXtgv6ofa/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1777561199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=ffgk%2FdePDEcZ5mKV5HBu8IZvuG4%3D');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;AWS - 2. VPC생성하여 쉘접속&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;아래 작업을 진행할 것이다. 1. 도메인생성 (가비아)2. 도메인 등록 (AWS Route 53)3. 도메인과 연결할 인증서 생성 (AWS Certificate Manager)4. VPC 생성 - VPC 생성 - Subnet 생성 - Routing 테이블 생성 - Internet Gatew&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;mamdragors.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. EC2 인스턴스에 필수 도구 설치&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만들어진 인스턴스의 public ip 로 ssh접속.&lt;br /&gt;putty 를 사용할 경우 pem 파일을 사용할 수 없기 때문에&lt;br /&gt;컨테이너 생성시 설정한 키파일의 pem 파일을&lt;br /&gt;puttyGen 으로 ppk 파일로 변경하어 접속한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;442&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byw1U3/dJMcai315WF/9OlO1DLKsw6ImxRwZw5ha1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byw1U3/dJMcai315WF/9OlO1DLKsw6ImxRwZw5ha1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byw1U3/dJMcai315WF/9OlO1DLKsw6ImxRwZw5ha1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyw1U3%2FdJMcai315WF%2F9OlO1DLKsw6ImxRwZw5ha1%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;450&quot; height=&quot;442&quot; data-origin-width=&quot;450&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;443&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cimY5T/dJMcahxmvk9/LuORoPuUyFZjfEqMaW5ztk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cimY5T/dJMcahxmvk9/LuORoPuUyFZjfEqMaW5ztk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cimY5T/dJMcahxmvk9/LuORoPuUyFZjfEqMaW5ztk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcimY5T%2FdJMcahxmvk9%2FLuORoPuUyFZjfEqMaW5ztk%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;451&quot; height=&quot;443&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;443&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접속 성공&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;670&quot; data-origin-height=&quot;640&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHBCqb/dJMcahKTFK5/UlSepSMCBIOuYR3micafhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHBCqb/dJMcahKTFK5/UlSepSMCBIOuYR3micafhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHBCqb/dJMcahKTFK5/UlSepSMCBIOuYR3micafhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHBCqb%2FdJMcahKTFK5%2FUlSepSMCBIOuYR3micafhK%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;670&quot; height=&quot;640&quot; data-origin-width=&quot;670&quot; data-origin-height=&quot;640&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;접속은 AWS 클라우드 쉘에서 진행해도 된다&lt;br /&gt;aws 웹페이지의 좌측 하단 [CloudShell]&amp;nbsp; &amp;gt; [작업] &amp;gt; 파일업로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1286&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eNVz7S/dJMcaduSVGo/DZ6VUlODLYeEk0LDucHT5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eNVz7S/dJMcaduSVGo/DZ6VUlODLYeEk0LDucHT5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eNVz7S/dJMcaduSVGo/DZ6VUlODLYeEk0LDucHT5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeNVz7S%2FdJMcaduSVGo%2FDZ6VUlODLYeEk0LDucHT5k%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;1286&quot; height=&quot;367&quot; data-origin-width=&quot;1286&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3tier-user 의 pem 파일 업로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;354&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bG0xir/dJMcaiJKBJo/KksIPdixFQnLB1GkUCNNY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bG0xir/dJMcaiJKBJo/KksIPdixFQnLB1GkUCNNY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bG0xir/dJMcaiJKBJo/KksIPdixFQnLB1GkUCNNY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbG0xir%2FdJMcaiJKBJo%2FKksIPdixFQnLB1GkUCNNY0%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;1268&quot; height=&quot;354&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;354&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;chmod 400 3tier.pem&lt;br /&gt;ssh -i 3tier.pem ubuntu@[퍼블릭ip]&lt;/blockquote&gt;
&lt;p style=&quot;text-align: left;&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;1279&quot; data-origin-height=&quot;794&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/M9saO/dJMcahD5R3M/eowZOzdPWqYy7BVsxaSMK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/M9saO/dJMcahD5R3M/eowZOzdPWqYy7BVsxaSMK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/M9saO/dJMcahD5R3M/eowZOzdPWqYy7BVsxaSMK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FM9saO%2FdJMcahD5R3M%2FeowZOzdPWqYy7BVsxaSMK1%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;1279&quot; height=&quot;794&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;794&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;터미널에서 아래 명령어 실행&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;sudo su&lt;br /&gt;apt update&lt;br /&gt;mkdir 3-tier&lt;br /&gt;cd 3-tier&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;SSH Key 등록&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctfjio/dJMcaiwd5a7/qgN5Di58EvBqWENyrhpgQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctfjio/dJMcaiwd5a7/qgN5Di58EvBqWENyrhpgQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctfjio/dJMcaiwd5a7/qgN5Di58EvBqWENyrhpgQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fctfjio%2FdJMcaiwd5a7%2FqgN5Di58EvBqWENyrhpgQk%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;454&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# SSH 키 생성 (로컬 터미널) . 
ssh-keygen -t ed25519 -C &quot;내이메일@example.com&quot;

# 공개키 복사:
cat ~/.ssh/id_ed25519.pub
# 출력된 ssh-ed25519 ... 로 시작하는 긴 문자열을 복사&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;복사한 문자열 GitHub에 등록&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Z9Sx/dJMcacbJHcd/7RDm2sBVYGsKOfByVfQzLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Z9Sx/dJMcacbJHcd/7RDm2sBVYGsKOfByVfQzLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Z9Sx/dJMcacbJHcd/7RDm2sBVYGsKOfByVfQzLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Z9Sx%2FdJMcacbJHcd%2F7RDm2sBVYGsKOfByVfQzLK%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;832&quot; height=&quot;539&quot; data-origin-width=&quot;832&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;github 는 22 포트를 허용하지 않기 때문에 SSH 포트를 443으로 우회 설정 해야 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dKM93w/dJMcaiJKoaO/tZabMypc4S3KZ2ISuqulQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dKM93w/dJMcaiJKoaO/tZabMypc4S3KZ2ISuqulQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dKM93w/dJMcaiJKoaO/tZabMypc4S3KZ2ISuqulQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKM93w%2FdJMcaiJKoaO%2FtZabMypc4S3KZ2ISuqulQ0%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;282&quot; height=&quot;137&quot; data-origin-width=&quot;282&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;vi ~/.ssh/config

# 아래내용 저장
Host github.com
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hostname ssh.github.com
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Port 443
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User git


# 접속 테스트
ssh -T git@github.com
# Hi [사용자명] ... 출력되면 성공&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;git 레포지토리에서 ssh 주소 획득&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mReQI/dJMcaibYVzm/QOkRO0wNJiCH6JEuZiSH41/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mReQI/dJMcaibYVzm/QOkRO0wNJiCH6JEuZiSH41/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mReQI/dJMcaibYVzm/QOkRO0wNJiCH6JEuZiSH41/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmReQI%2FdJMcaibYVzm%2FQOkRO0wNJiCH6JEuZiSH41%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;400&quot; height=&quot;350&quot; data-origin-width=&quot;400&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;SSH 주소로 Clone&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;146&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6VE6C/dJMcadn9gwm/X9VkRmwhULOcCN2KnZmKRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6VE6C/dJMcadn9gwm/X9VkRmwhULOcCN2KnZmKRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6VE6C/dJMcadn9gwm/X9VkRmwhULOcCN2KnZmKRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6VE6C%2FdJMcadn9gwm%2FX9VkRmwhULOcCN2KnZmKRk%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;770&quot; height=&quot;146&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;146&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;cd 3-tier&lt;br /&gt;git clone [ssh 주소]&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내려받은 소스 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;36&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/otvkb/dJMcaiiIahD/rRpAjifL2XDLcZP8onKG80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/otvkb/dJMcaiiIahD/rRpAjifL2XDLcZP8onKG80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/otvkb/dJMcaiiIahD/rRpAjifL2XDLcZP8onKG80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fotvkb%2FdJMcaiiIahD%2FrRpAjifL2XDLcZP8onKG80%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;459&quot; height=&quot;36&quot; data-origin-width=&quot;459&quot; data-origin-height=&quot;36&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;AWS CLI&amp;nbsp;설치&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5fwrW/dJMcaars5T4/xEHOtsw03gKKEHs7xOv2FK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5fwrW/dJMcaars5T4/xEHOtsw03gKKEHs7xOv2FK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5fwrW/dJMcaars5T4/xEHOtsw03gKKEHs7xOv2FK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5fwrW%2FdJMcaars5T4%2FxEHOtsw03gKKEHs7xOv2FK%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;688&quot; height=&quot;48&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;snap install aws-cli --classic&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;AWS CLI 설정&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;163&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GMQwX/dJMcagSKz2R/oKwxjNwgk2zbanYajRY6l0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GMQwX/dJMcagSKz2R/oKwxjNwgk2zbanYajRY6l0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GMQwX/dJMcagSKz2R/oKwxjNwgk2zbanYajRY6l0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGMQwX%2FdJMcagSKz2R%2FoKwxjNwgk2zbanYajRY6l0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;163&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;163&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;aws configure&lt;br /&gt;[3tier-user 의 엑세스키]&lt;br /&gt;[3tier-user 의 비밀엑세스키]&lt;/blockquote&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;/h4&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# universe 리포지토리 활성화
add-apt-repository universe
# 패키지 리스트 갱신
apt update

# 필수 도구 설치
apt install ca-certificates curl gnupg -y

# Docker GPG 키 등록
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg --yes
chmod a+r /etc/apt/keyrings/docker.gpg

# 리포지토리 설정 (22.04 jammy 전용)
echo &quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable&quot; | tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null

# 최종 설치
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

#상태 확인
systemctl status docker

# 현재 접속중인 사용자 docker 그룹에 추가. root 로 진행하고 있기 때문에 root 사용자가 추가됨
# 다른 사용자로 진행하려면 $USER 대신 사용자 이름을 입력한다.
usermod -aG docker $USER # Replace with your username e.g &amp;lsquo;ubuntu&amp;rsquo;

#그룹 변경사항 즉시 적용
newgrp docker

# Docker의 핵심 통신 통로인 '소켓 파일'의 권한 변경 
sudo chmod 660 /var/run/docker.sock

# 명령어 확인
which docker
docker ps&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Gu2HR/dJMcaffg4i6/KA03udhooFjclZNSO67YLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Gu2HR/dJMcaffg4i6/KA03udhooFjclZNSO67YLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Gu2HR/dJMcaffg4i6/KA03udhooFjclZNSO67YLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGu2HR%2FdJMcaffg4i6%2FKA03udhooFjclZNSO67YLk%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;545&quot; height=&quot;128&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;501&quot; data-origin-height=&quot;89&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dF9nY0/dJMcabw7df4/rTCZvLASAEWHrJ4Mt0r221/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dF9nY0/dJMcabw7df4/rTCZvLASAEWHrJ4Mt0r221/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dF9nY0/dJMcabw7df4/rTCZvLASAEWHrJ4Mt0r221/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdF9nY0%2FdJMcabw7df4%2FrTCZvLASAEWHrJ4Mt0r221%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;501&quot; height=&quot;89&quot; data-origin-width=&quot;501&quot; data-origin-height=&quot;89&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;h3 data-ke-size=&quot;size23&quot;&gt;kubectl 설치&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;snap install kubectl --classic&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;456&quot; data-origin-height=&quot;73&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pTvrF/dJMcaf7lZz5/g1XxDgNn3auMt05g4GIeiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pTvrF/dJMcaf7lZz5/g1XxDgNn3auMt05g4GIeiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pTvrF/dJMcaf7lZz5/g1XxDgNn3auMt05g4GIeiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpTvrF%2FdJMcaf7lZz5%2Fg1XxDgNn3auMt05g4GIeiK%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;456&quot; height=&quot;73&quot; data-origin-width=&quot;456&quot; data-origin-height=&quot;73&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;h4 data-ke-size=&quot;size20&quot;&gt;eksctl 설치&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1209&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TPXNG/dJMcahKTUcJ/JsWGVGL4yM7Se9UD8kHt1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TPXNG/dJMcahKTUcJ/JsWGVGL4yM7Se9UD8kHt1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TPXNG/dJMcahKTUcJ/JsWGVGL4yM7Se9UD8kHt1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTPXNG%2FdJMcahKTUcJ%2FJsWGVGL4yM7Se9UD8kHt1K%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;1209&quot; height=&quot;102&quot; data-origin-width=&quot;1209&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;curl --silent --location &quot;https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz&quot; | tar xz -C /tmp

sudo mv /tmp/eksctl /usr/local/bin
eksctl version&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. Docker 이미지 빌드&lt;/b&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Elastic Container Registry(ECR) 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #242424;&quot;&gt;AWS 콘솔에 접속하여 ECR을 검색&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1067&quot; data-origin-height=&quot;216&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8snpY/dJMcagyp4nn/yCjjksSzjCWVkfHEFRXkP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8snpY/dJMcagyp4nn/yCjjksSzjCWVkfHEFRXkP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8snpY/dJMcagyp4nn/yCjjksSzjCWVkfHEFRXkP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8snpY%2FdJMcagyp4nn%2FyCjjksSzjCWVkfHEFRXkP1%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;1067&quot; height=&quot;216&quot; data-origin-width=&quot;1067&quot; data-origin-height=&quot;216&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;프런트엔드용&amp;nbsp;저장소 생성&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6HMwq/dJMcaf0zTtk/l46naMHMcIxPyljzCNPtQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6HMwq/dJMcaf0zTtk/l46naMHMcIxPyljzCNPtQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6HMwq/dJMcaf0zTtk/l46naMHMcIxPyljzCNPtQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6HMwq%2FdJMcaf0zTtk%2Fl46naMHMcIxPyljzCNPtQk%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;1266&quot; height=&quot;344&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;344&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;839&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/94CZ5/dJMcacJBvfj/dLEkLr3mJkwOAcFcOGiWyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/94CZ5/dJMcacJBvfj/dLEkLr3mJkwOAcFcOGiWyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/94CZ5/dJMcacJBvfj/dLEkLr3mJkwOAcFcOGiWyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F94CZ5%2FdJMcacJBvfj%2FdLEkLr3mJkwOAcFcOGiWyk%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;839&quot; height=&quot;647&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;백엔드용 저장소 생성&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eJu2Fl/dJMcahD5TTQ/kdVAmkkGdaaTPO5xLusPPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eJu2Fl/dJMcahD5TTQ/kdVAmkkGdaaTPO5xLusPPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eJu2Fl/dJMcahD5TTQ/kdVAmkkGdaaTPO5xLusPPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeJu2Fl%2FdJMcahD5TTQ%2FkdVAmkkGdaaTPO5xLusPPK%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;839&quot; height=&quot;164&quot; data-origin-width=&quot;839&quot; data-origin-height=&quot;164&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;1272&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b12Xjf/dJMcaibYWLh/hYFRCiT5Y1BTQfSzlEO710/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b12Xjf/dJMcaibYWLh/hYFRCiT5Y1BTQfSzlEO710/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b12Xjf/dJMcaibYWLh/hYFRCiT5Y1BTQfSzlEO710/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb12Xjf%2FdJMcaibYWLh%2FhYFRCiT5Y1BTQfSzlEO710%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1272&quot; height=&quot;380&quot; data-origin-width=&quot;1272&quot; data-origin-height=&quot;380&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;frontend 레포지토리 이름을 클릭하고 들어가서 [푸시 명령보기] 에서 나오는 명령어 복사하여 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1259&quot; data-origin-height=&quot;871&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ndwKe/dJMcaa54ExM/NmhAKEE6bGf4azv94oyFm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ndwKe/dJMcaa54ExM/NmhAKEE6bGf4azv94oyFm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ndwKe/dJMcaa54ExM/NmhAKEE6bGf4azv94oyFm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FndwKe%2FdJMcaa54ExM%2FNmhAKEE6bGf4azv94oyFm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1259&quot; height=&quot;871&quot; data-origin-width=&quot;1259&quot; data-origin-height=&quot;871&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;복사한 명령어 인스턴스에 접속한 쉘에서 실행&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;!! frontend 폴더에서 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AYcNN/dJMcahD5StE/0ycj3NN00GjAJKtypdpkTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AYcNN/dJMcahD5StE/0ycj3NN00GjAJKtypdpkTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AYcNN/dJMcahD5StE/0ycj3NN00GjAJKtypdpkTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAYcNN%2FdJMcahD5StE%2F0ycj3NN00GjAJKtypdpkTk%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;1226&quot; height=&quot;218&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;218&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;1207&quot; data-origin-height=&quot;341&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZKgp3/dJMcaipu5aa/qJC5arUcKKX69ASAHTtfP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZKgp3/dJMcaipu5aa/qJC5arUcKKX69ASAHTtfP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZKgp3/dJMcaipu5aa/qJC5arUcKKX69ASAHTtfP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZKgp3%2FdJMcaipu5aa%2FqJC5arUcKKX69ASAHTtfP1%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;1207&quot; height=&quot;341&quot; data-origin-width=&quot;1207&quot; data-origin-height=&quot;341&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;올라간 이미지 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;969&quot; data-origin-height=&quot;532&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTt33t/dJMcafzyc0H/XNNdCVoYK1mNybyaJ9v92k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTt33t/dJMcafzyc0H/XNNdCVoYK1mNybyaJ9v92k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTt33t/dJMcafzyc0H/XNNdCVoYK1mNybyaJ9v92k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTt33t%2FdJMcafzyc0H%2FXNNdCVoYK1mNybyaJ9v92k%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;969&quot; height=&quot;532&quot; data-origin-width=&quot;969&quot; data-origin-height=&quot;532&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;이미지를 실행해 본다&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;docker run -d -p 3000:3000 3tier-test/frontend:latest&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1210&quot; data-origin-height=&quot;109&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FUCna/dJMcaiiIneM/SXAifVqkqYjNoWKo1JnVqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FUCna/dJMcaiiIneM/SXAifVqkqYjNoWKo1JnVqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FUCna/dJMcaiiIneM/SXAifVqkqYjNoWKo1JnVqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFUCna%2FdJMcaiiIneM%2FSXAifVqkqYjNoWKo1JnVqk%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;1210&quot; height=&quot;109&quot; data-origin-width=&quot;1210&quot; data-origin-height=&quot;109&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;인바운드 규칙에서 3000 포트가 허용되어 있는지 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;650&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0vxLF/dJMcahxmKOR/VPNyjBnE4BvJ4bXuwDkDKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0vxLF/dJMcahxmKOR/VPNyjBnE4BvJ4bXuwDkDKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0vxLF/dJMcahxmKOR/VPNyjBnE4BvJ4bXuwDkDKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0vxLF%2FdJMcahxmKOR%2FVPNyjBnE4BvJ4bXuwDkDKK%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;1283&quot; height=&quot;650&quot; data-origin-width=&quot;1283&quot; data-origin-height=&quot;650&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;웹 브라우저에서 접속 테스트&amp;nbsp; -&amp;gt; http://[퍼블릭ip]:3000&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;962&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pmdWp/dJMcadVYMCp/obJwepAJeSji9GkhaxhklK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pmdWp/dJMcadVYMCp/obJwepAJeSji9GkhaxhklK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pmdWp/dJMcadVYMCp/obJwepAJeSji9GkhaxhklK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpmdWp%2FdJMcadVYMCp%2FobJwepAJeSji9GkhaxhklK%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;1265&quot; height=&quot;962&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;962&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;backend 레포지토리 이름을 클릭하고 들어가서 [푸시 명령보기] 에서 나오는 명령어 복사하여 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;834&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BHNZN/dJMcajhAGwz/0Qk6fk8ZBCq9X3SVTx0gmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BHNZN/dJMcajhAGwz/0Qk6fk8ZBCq9X3SVTx0gmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BHNZN/dJMcajhAGwz/0Qk6fk8ZBCq9X3SVTx0gmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBHNZN%2FdJMcajhAGwz%2F0Qk6fk8ZBCq9X3SVTx0gmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1257&quot; height=&quot;834&quot; data-origin-width=&quot;1257&quot; data-origin-height=&quot;834&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;!! backend 폴더에서 실행한다&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1214&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t4hxC/dJMcaartkhR/F9JXVTh9YDkhnGI5NIpvDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t4hxC/dJMcaartkhR/F9JXVTh9YDkhnGI5NIpvDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t4hxC/dJMcaartkhR/F9JXVTh9YDkhnGI5NIpvDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft4hxC%2FdJMcaartkhR%2FF9JXVTh9YDkhnGI5NIpvDK%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;1214&quot; height=&quot;238&quot; data-origin-width=&quot;1214&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;335&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kLISr/dJMcaaE1jIV/G9npo7tXdT8lQ2r66JtlHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kLISr/dJMcaaE1jIV/G9npo7tXdT8lQ2r66JtlHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kLISr/dJMcaaE1jIV/G9npo7tXdT8lQ2r66JtlHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkLISr%2FdJMcaaE1jIV%2FG9npo7tXdT8lQ2r66JtlHk%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;1205&quot; height=&quot;335&quot; data-origin-width=&quot;1205&quot; data-origin-height=&quot;335&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 쿠버네티스 설정&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 배포란 무엇인가:&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;&lt;b&gt;공장을 상상해 보세요&lt;/b&gt;&amp;nbsp;: 배포를 소프트웨어 애플리케이션의 복사본을 생산하고 관리하는 공장으로 생각해 보십시오.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다중 복제본&lt;/b&gt;&amp;nbsp;: 공장에서 여러 개의 동일한 제품을 생산할 수 있는 것처럼, Kubernetes 배포 환경에서도 애플리케이션의 여러 복사본(복제본)을 생성하고 관리할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;간편한 업데이트&lt;/b&gt;&amp;nbsp;: 애플리케이션을 변경하거나 업데이트하려는 경우, 배포 시스템이 마치 공장에서 생산을 중단하지 않고 부품을 교체하는 것처럼 원활하게 처리할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 서비스란 무엇인가:&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;&lt;b&gt;리셉션 데스크를 상상해 보세요:&lt;/b&gt;&amp;nbsp;쿠버네티스의 서비스를 건물의 리셉션 데스크에 비유해 보세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;중앙 접점:&lt;/b&gt;&amp;nbsp;이 서비스는 애플리케이션을 위한 중앙 접점을 제공합니다. 시스템의 다른 부분들이 각 애플리케이션을 직접 찾는 대신, 이 서비스와 통신하여 필요한 애플리케이션을 찾을 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;안정적인 주소:&lt;/b&gt;&amp;nbsp;마치 안내 데스크에 일관된 주소가 있는 것처럼, 서비스도 시스템의 다른 부분이 애플리케이션과 통신하는 데 사용할 수 있는 안정적인 주소를 가지고 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 네임스페이스란 무엇인가요?&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;네임스페이스는 쿠버네티스 내에서 애플리케이션을 구성하고 실행할 수 있는 레이블이 지정된 영역과 같습니다. 각 네임스페이스는 애플리케이션이 서로 간섭하지 않고 각자의 작업을 수행할 수 있는 울타리로 둘러싸인 공간입니다.&lt;/li&gt;
&lt;li&gt;간단히 말해, 쿠버네티스에서 네임스페이스는 여러 프로젝트나 애플리케이션을 분리하고 체계적으로 관리하는 방법으로, 복잡한 쿠버네티스 클러스터 환경에서 이러한 프로젝트와 애플리케이션을 더 쉽게 관리할 수 있도록 해줍니다&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5-1. EKS 클러스터 설정 및 네임스페이스 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EKS(Elastic Kubernetes Service)는 &quot;AWS가 대신 관리해 주는 쿠버네티스(Kubernetes) 서비스&quot;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 클러스터 생성 (서울 리전, t3.small , 워커노드 최소2개, 최대2개). 15~20분 소요
eksctl create cluster --name 3tier-cluster --region ap-northeast-2 --node-type t3.small --nodes-min 2 --nodes-max 2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클러스터 생성 명령어 실행하고 CloudFormation 화면에 들어가면 진행 상황을 볼수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;498&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diyn4g/dJMcaartlaY/knvxTrapGqhL8UC9X5tmFk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diyn4g/dJMcaartlaY/knvxTrapGqhL8UC9X5tmFk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diyn4g/dJMcaartlaY/knvxTrapGqhL8UC9X5tmFk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdiyn4g%2FdJMcaartlaY%2FknvxTrapGqhL8UC9X5tmFk%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;1285&quot; height=&quot;498&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;498&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;스택 세부정보에서 이벤트도 확인 가능&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;908&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNMvA4/dJMcab4XRo5/vRyKmN3hFOjkukOM6tKk10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNMvA4/dJMcab4XRo5/vRyKmN3hFOjkukOM6tKk10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNMvA4/dJMcab4XRo5/vRyKmN3hFOjkukOM6tKk10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNMvA4%2FdJMcab4XRo5%2FvRyKmN3hFOjkukOM6tKk10%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;1246&quot; height=&quot;908&quot; data-origin-width=&quot;1246&quot; data-origin-height=&quot;908&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;nodegroup 과 cluster 가&amp;nbsp; CREATE_COMPLETE 되면 다음 진행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;409&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W91nh/dJMcaakGL9t/bYmXuE275uZ0zx6UxZqUM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W91nh/dJMcaakGL9t/bYmXuE275uZ0zx6UxZqUM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W91nh/dJMcaakGL9t/bYmXuE275uZ0zx6UxZqUM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW91nh%2FdJMcaakGL9t%2FbYmXuE275uZ0zx6UxZqUM1%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;1265&quot; height=&quot;409&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;409&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&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;h3 data-ke-size=&quot;size23&quot;&gt;1. 첫 번째 스택: 컨트롤 플레인 (Control Plane)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;이름 형식:&lt;/b&gt; eksctl-3tier-cluster-cluster&lt;/li&gt;
&lt;li&gt;&lt;b&gt;역할:&lt;/b&gt; EKS 클러스터의 핵심인 &lt;b&gt;두뇌(Control Plane)&lt;/b&gt; 역할을 하는 인프라를 생성합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;포함 리소스:&lt;/b&gt; VPC, 서브넷(Public/Private), 인터넷 게이트웨이, 라우팅 테이블, IAM 역할, 보안 그룹 등 네트워크 전반의 기초 공사가 이 단계에서 이루어집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 두 번째 스택: 노드 그룹 (Node Group)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;이름 형식:&lt;/b&gt; eksctl-3tier-cluster-nodegroup-[이름]&lt;/li&gt;
&lt;li&gt;&lt;b&gt;역할:&lt;/b&gt; 실제로 애플리케이션이 돌아갈 &lt;b&gt;몸통(Worker Nodes)&lt;/b&gt; 인프라를 생성합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;포함 리소스:&lt;/b&gt; EC2 인스턴스(t3.small 2대), 오토스케일링 그룹(ASG), 노드 전용 IAM 역할 및 보안 그룹 등이 포함됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 2. 접속 설정(kubeconfig) 업데이트
# 클러스터가 만들어진 후, 내 컴퓨터(또는 현재 서버)에서 kubectl 명령어로 클러스터를 조종할 수 있게 **인증 정보(kubeconfig)**를 가져오는 명령. 
# 이 명령을 실행하면 ~/.ssh/config와 유사하게 ~/.kube/config 파일에 해당 클러스터의 접속 정보가 등록됨
aws eks update-kubeconfig --region ap-northeast-2 --name 3tier-cluster

# 3. 노드 상태 확인
kubectl get nodes

# 4. 네임스페이스 생성 및 변경 ( 3tier-test )
kubectl create namespace 3tier-test
kubectl config set-context --current --namespace 3tier-test&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;653&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Md6Q4/dJMcacbJXqm/pLT9R2m2KAr3xw9NWt6Vuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Md6Q4/dJMcacbJXqm/pLT9R2m2KAr3xw9NWt6Vuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Md6Q4/dJMcacbJXqm/pLT9R2m2KAr3xw9NWt6Vuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMd6Q4%2FdJMcacbJXqm%2FpLT9R2m2KAr3xw9NWt6Vuk%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;653&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;653&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;k8s_manifests/frontend-deployment.yaml 파일의 &lt;span style=&quot;color: #ee2323;&quot;&gt;이미지 경로와 namespace 수정&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; k8s_manifests/&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;frontend-service.yaml 파일의 &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc;&quot;&gt;namespace 수정&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;133&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b15GiG/dJMcafzyevY/9hEq36fNk69mlB7VmtPhiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b15GiG/dJMcafzyevY/9hEq36fNk69mlB7VmtPhiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b15GiG/dJMcafzyevY/9hEq36fNk69mlB7VmtPhiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb15GiG%2FdJMcafzyevY%2F9hEq36fNk69mlB7VmtPhiK%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;1065&quot; height=&quot;133&quot; data-origin-width=&quot;1065&quot; data-origin-height=&quot;133&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;1268&quot; data-origin-height=&quot;1011&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s15MN/dJMb990p7Vi/xnOyL5ynFkZgy4KzgYkbp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s15MN/dJMb990p7Vi/xnOyL5ynFkZgy4KzgYkbp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s15MN/dJMb990p7Vi/xnOyL5ynFkZgy4KzgYkbp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs15MN%2FdJMb990p7Vi%2FxnOyL5ynFkZgy4KzgYkbp1%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;1268&quot; height=&quot;1011&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;1011&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경 후 apply 명령 실행&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubectl apply -f frontend-deployment.yaml
kubectl apply -f frontend-service.yaml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kGMe4/dJMcaa54GvY/bUAJJQyPKbfuJ95Fd8LwKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kGMe4/dJMcaa54GvY/bUAJJQyPKbfuJ95Fd8LwKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kGMe4/dJMcaa54GvY/bUAJJQyPKbfuJ95Fd8LwKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkGMe4%2FdJMcaa54GvY%2FbUAJJQyPKbfuJ95Fd8LwKk%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;859&quot; height=&quot;164&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;backend-deployment.yaml, backend-service.yaml 파일의 &lt;span style=&quot;color: #ee2323;&quot;&gt;이미지 경로와 workspace 수정&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;929&quot; data-origin-height=&quot;1170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Y6zxj/dJMcabw7gmj/YYnPXZrBON5gkkpzB6u0EK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Y6zxj/dJMcabw7gmj/YYnPXZrBON5gkkpzB6u0EK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Y6zxj/dJMcabw7gmj/YYnPXZrBON5gkkpzB6u0EK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FY6zxj%2FdJMcabw7gmj%2FYYnPXZrBON5gkkpzB6u0EK%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;929&quot; height=&quot;1170&quot; data-origin-width=&quot;929&quot; data-origin-height=&quot;1170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;백엔드도 apply&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubectl apply -f backend-deployment.yaml
kubectl apply -f backend-service.yaml
kubectl get pods -n 3tier-test&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3aRAQ/dJMcacQlcXC/A6uoP3mcwNoQy9ON4ZiP51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3aRAQ/dJMcacQlcXC/A6uoP3mcwNoQy9ON4ZiP51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3aRAQ/dJMcacQlcXC/A6uoP3mcwNoQy9ON4ZiP51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3aRAQ%2FdJMcacQlcXC%2FA6uoP3mcwNoQy9ON4ZiP51%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;158&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;DB apply 후 전체 확인&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;!! 실행&amp;nbsp;전&amp;nbsp;mongo&amp;nbsp;폴더의&amp;nbsp;모든&amp;nbsp;yaml&amp;nbsp;파일의&amp;nbsp;워크스페이스&amp;nbsp;수정&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;cd mongo

# 실행 전 mongo 폴더의 모든 yaml 파일의 워크스페이스 수정
kubectl apply -f .

kubectl get all&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;pod 3개 생성 확인 ( frontend, backend, db )&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;520&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dt2PvH/dJMcabw7gCg/anxA6JtuQIJcKGol9W89d1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dt2PvH/dJMcabw7gCg/anxA6JtuQIJcKGol9W89d1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dt2PvH/dJMcabw7gCg/anxA6JtuQIJcKGol9W89d1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdt2PvH%2FdJMcabw7gCg%2FanxA6JtuQIJcKGol9W89d1%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;770&quot; height=&quot;520&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;520&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;5-2. 애플리케이션 로드 밸런싱 및 인그레스 설정&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;외부 트래픽을 클러스터로 라우팅하기 위한 애플리케이션 로드 밸런서와 3개 계층 간의 내부 라우팅을 위한 인그레스를 생성.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;ALB의 IAM 정책 가져오기&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;&amp;nbsp;iam_policy.json 파일을 기반으로 AWS 계정에 IAM 정책을 생성&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt; OIDC 제공업체 연결 &lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;eksctl utils associate-iam-oidc-provider --region=ap-northeast-2 --cluster=3tier-cluster --approve&lt;/code&gt;&lt;/pre&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS Load Balancer Controller는 클러스터 외부의 **AWS 리소스(ALB/NLB)**를 직접 생성하고 수정해야 합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;쿠버네티스 안의 **서비스 계정(Service Account)**이&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IAM Role&lt;/b&gt;을 사용할 수 있게 권한을 부여받아야 하는데,&lt;/li&gt;
&lt;li&gt;이 두 세계(K8s와 AWS IAM)를 이어주는 인증 표준이 바로 &lt;b&gt;OIDC&lt;/b&gt;입니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;로드 밸런서 정책을 EKS 클러스터에 적용하여 EKS 클러스터가 해당 정책에 따라 로드 밸런서와 연동되도록 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;eksctl create iamserviceaccount --cluster=3tier-cluster --namespace=kube-system --name=aws-load-balancer-controller --role-name AmazonEKSLoadBalancerControllerRole --attach-policy-arn=[위명령어실행시 출력된Arn] --approve --region=ap-northeast-2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;779&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baPQnH/dJMcaaLLVva/9970tWVjy0UMdHO3ksdGPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baPQnH/dJMcaaLLVva/9970tWVjy0UMdHO3ksdGPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baPQnH/dJMcaaLLVva/9970tWVjy0UMdHO3ksdGPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaPQnH%2FdJMcaaLLVva%2F9970tWVjy0UMdHO3ksdGPk%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;1206&quot; height=&quot;779&quot; data-origin-width=&quot;1206&quot; data-origin-height=&quot;779&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;로드 밸런서 배포를 위한 HELM 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# Helm을 설치 (Kebernetes 배포관리도구)
sudo snap install helm --classic

# AWS(Amazon Web Services)에서 공식적으로 운영하는 GitHub 기반의 Helm 차트 저장소에서 
# 로드 밸런싱용 특정 매니페스트를 Helm을 사용하여 추가
helm repo add eks https://aws.github.io/eks-charts

# Helm을 사용하여 eks 저장소를 업데이트
helm repo update eks

# EKS 클러스터에 로드 밸런싱 컨트롤러를 설치
helm install aws-load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=3tier-cluster --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller 
kubectl get deployment -n kube-system aws-load-balancer-controller&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7SQLb/dJMcagSKP9V/ccrM9EBk0KgnFNSo0MNkOk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7SQLb/dJMcagSKP9V/ccrM9EBk0KgnFNSo0MNkOk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7SQLb/dJMcagSKP9V/ccrM9EBk0KgnFNSo0MNkOk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7SQLb%2FdJMcagSKP9V%2FccrM9EBk0KgnFNSo0MNkOk%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;961&quot; height=&quot;138&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;138&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;1210&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XkLoV/dJMcaiiIp5q/wtO1aOobniOoAjkhKYL0Kk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XkLoV/dJMcaiiIp5q/wtO1aOobniOoAjkhKYL0Kk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XkLoV/dJMcaiiIp5q/wtO1aOobniOoAjkhKYL0Kk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXkLoV%2FdJMcaiiIp5q%2FwtO1aOobniOoAjkhKYL0Kk%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;1210&quot; height=&quot;261&quot; data-origin-width=&quot;1210&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;내부 라우팅을 위한 인그레스 설정&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# full_stack_lb.yaml namespace 수정
vi full_stack_lb.yaml

kubectl apply -f full_stack_lb.yaml 
kubectl get ing -n 3tier-test&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;178&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biZqpa/dJMcaipu8ls/vY2oo5rQdJXEm71ydkWANk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biZqpa/dJMcaipu8ls/vY2oo5rQdJXEm71ydkWANk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biZqpa/dJMcaipu8ls/vY2oo5rQdJXEm71ydkWANk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiZqpa%2FdJMcaipu8ls%2FvY2oo5rQdJXEm71ydkWANk%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;970&quot; height=&quot;178&quot; data-origin-width=&quot;970&quot; data-origin-height=&quot;178&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;ADDRESS&amp;nbsp; 주소가 나오지 않는다면 권한을 확인해 본다&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# AWSLoadBalancerControllerIAMPolicy 에 항목 추가
&quot;elasticloadbalancing:DescribeListenerAttributes&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1254&quot; data-origin-height=&quot;853&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfz7vg/dJMcaiXhD0s/QT0WkDe0EO4f6dl8FNeLp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfz7vg/dJMcaiXhD0s/QT0WkDe0EO4f6dl8FNeLp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfz7vg/dJMcaiXhD0s/QT0WkDe0EO4f6dl8FNeLp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcfz7vg%2FdJMcaiXhD0s%2FQT0WkDe0EO4f6dl8FNeLp1%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;853&quot; data-origin-width=&quot;1254&quot; data-origin-height=&quot;853&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;권한 추가 후 서비스 재시작&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubectl rollout restart deployment aws-load-balancer-controller -n kube-system&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;5분정도 기다렸다가 상태확인&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;kubectl describe ingress mainlb

# 아래 내용이 출력되면 성공
#&amp;nbsp;&amp;nbsp; Normal&amp;nbsp;&amp;nbsp; SuccessfullyReconciled&amp;nbsp;&amp;nbsp;2m55s&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;ingress&amp;nbsp;&amp;nbsp;Successfully reconciled

# get 으로 주소가 들어왔는지 확인
kubectl get ing&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1177&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMmD1V/dJMcacJBxzh/StKuZ8id7CgudKrzxVhE01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMmD1V/dJMcacJBxzh/StKuZ8id7CgudKrzxVhE01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMmD1V/dJMcacJBxzh/StKuZ8id7CgudKrzxVhE01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMmD1V%2FdJMcacJBxzh%2FStKuZ8id7CgudKrzxVhE01%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;1177&quot; height=&quot;114&quot; data-origin-width=&quot;1177&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;주소가 나오면 해당 주소로 웹브라우저에서 접속 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1215&quot; data-origin-height=&quot;879&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AOdAO/dJMcahjQXWe/KmeYM2jj2b9nauhIckEpJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AOdAO/dJMcahjQXWe/KmeYM2jj2b9nauhIckEpJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AOdAO/dJMcahjQXWe/KmeYM2jj2b9nauhIckEpJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAOdAO%2FdJMcahjQXWe%2FKmeYM2jj2b9nauhIckEpJk%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;1215&quot; height=&quot;879&quot; data-origin-width=&quot;1215&quot; data-origin-height=&quot;879&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;확인이 끝났으면 전부 제거한다. &lt;/b&gt;&lt;/h2&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# /home/ubuntu/3-tier/3tier-test/k8s_manifests/ 경로에서 진행
kubectl delete -f .

# /home/ubuntu/3-tier/3tier-test/k8s_manifests/mongo 경로에서 진행
kubectl delete -f .

# 네임스페이스의 모든 리소스 삭제
kubectl delete all --all -n 3tier-test

# 클러스터를 삭제하기 전에 반드시 아래 명령어를 먼저 실행
kubectl delete svc --all -n 3tier-test
kubectl delete ingress --all -n 3tier-test

# 클라우드포메이션의 클러스터와 스택을 삭제(15분 정도 소요)
eksctl delete cluster --name 3tier-cluster --region ap-northeast-2

aws cloudformation delete-stack --stack-name eksctl-3tier-cluster-cluster --region ap-northeast-2&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;&lt;span style=&quot;color: #242424;&quot;&gt;AWS 클라우드포메이션 콘솔에서 모든 변경 사항을 확인&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1031&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo93sz/dJMb9969RJb/nSSTjvtwGhHWKjmwvI69v1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo93sz/dJMb9969RJb/nSSTjvtwGhHWKjmwvI69v1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo93sz/dJMb9969RJb/nSSTjvtwGhHWKjmwvI69v1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo93sz%2FdJMb9969RJb%2FnSSTjvtwGhHWKjmwvI69v1%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;1031&quot; height=&quot;314&quot; data-origin-width=&quot;1031&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;br /&gt;DataZone 같은게 남아있다면 삭제한다. 날짜를보니 다른작업 하면서 만들어진듯&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 첫 번째 스택 삭제
aws cloudformation delete-stack --stack-name [첫번째-전체-스택이름] --region ap-northeast-2

# 두 번째 스택 삭제
aws cloudformation delete-stack --stack-name [두번째-전체-스택이름] --region ap-northeast-2&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;전부 삭제되었으면 인스턴스를 중지한다.&lt;/h2&gt;</description>
      <category>클라우드 | 가상화/AWS</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/64</guid>
      <comments>https://mamdragors.tistory.com/64#entry64comment</comments>
      <pubDate>Sun, 19 Apr 2026 17:50:46 +0900</pubDate>
    </item>
    <item>
      <title>[VMware] CentOs 8 설치</title>
      <link>https://mamdragors.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;CentOs 8 iso 파일 다운로드&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.centos.org/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.centos.org/download/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1773650102840&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Download - The CentOS Project&quot; data-og-description=&quot;CentOS Stream Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL. For anyone interested in participating and collaborating in the RHEL ecosystem, Cent&quot; data-og-host=&quot;www.centos.org&quot; data-og-source-url=&quot;https://www.centos.org/download/&quot; data-og-url=&quot;https://www.centos.org/download/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.centos.org/download/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.centos.org/download/&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;Download - The CentOS Project&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;CentOS Stream Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL. For anyone interested in participating and collaborating in the RHEL ecosystem, Cent&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.centos.org&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;VMware 에서 새 가상머신 만들기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JAUCz/dJMcafMENHp/ugJarI9ihLfW3VH2A7vov0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JAUCz/dJMcafMENHp/ugJarI9ihLfW3VH2A7vov0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JAUCz/dJMcafMENHp/ugJarI9ihLfW3VH2A7vov0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJAUCz%2FdJMcafMENHp%2FugJarI9ihLfW3VH2A7vov0%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;429&quot; height=&quot;429&quot; data-origin-width=&quot;429&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;422&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bPpf7L/dJMcag5QBnG/zRoCT9SjRVICtwHALXFfNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bPpf7L/dJMcag5QBnG/zRoCT9SjRVICtwHALXFfNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bPpf7L/dJMcag5QBnG/zRoCT9SjRVICtwHALXFfNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPpf7L%2FdJMcag5QBnG%2FzRoCT9SjRVICtwHALXFfNk%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;425&quot; height=&quot;422&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;422&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cmiWx3/dJMcaio3QF9/WPkQ9Vte64ChIU3jfuLRyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cmiWx3/dJMcaio3QF9/WPkQ9Vte64ChIU3jfuLRyK/img.png&quot; data-alt=&quot;CentOs 8이 없으면 가장 최근 64bit 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cmiWx3/dJMcaio3QF9/WPkQ9Vte64ChIU3jfuLRyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcmiWx3%2FdJMcaio3QF9%2FWPkQ9Vte64ChIU3jfuLRyK%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;428&quot; height=&quot;432&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;CentOs 8이 없으면 가장 최근 64bit 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4yJXS/dJMcajuHmwt/kKEXpCh0fYwE4MhEyZBiT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4yJXS/dJMcajuHmwt/kKEXpCh0fYwE4MhEyZBiT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4yJXS/dJMcajuHmwt/kKEXpCh0fYwE4MhEyZBiT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4yJXS%2FdJMcajuHmwt%2FkKEXpCh0fYwE4MhEyZBiT1%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;426&quot; height=&quot;432&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;탭에 사용할 이름과 폴더경로 지정. 경로에 가급적 한글이 들어가지 않도록 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;431&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HGBEN/dJMcafy6T0B/FHAycD4oPHyDPTFQxTWH6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HGBEN/dJMcafy6T0B/FHAycD4oPHyDPTFQxTWH6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HGBEN/dJMcafy6T0B/FHAycD4oPHyDPTFQxTWH6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHGBEN%2FdJMcafy6T0B%2FFHAycD4oPHyDPTFQxTWH6K%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;425&quot; height=&quot;431&quot; data-origin-width=&quot;425&quot; data-origin-height=&quot;431&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1055&quot; data-origin-height=&quot;667&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b4mBA8/dJMcacoPOwa/nUhhfW3Ygk88IWvAoIKbtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b4mBA8/dJMcacoPOwa/nUhhfW3Ygk88IWvAoIKbtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b4mBA8/dJMcacoPOwa/nUhhfW3Ygk88IWvAoIKbtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4mBA8%2FdJMcacoPOwa%2FnUhhfW3Ygk88IWvAoIKbtK%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;1055&quot; height=&quot;667&quot; data-origin-width=&quot;1055&quot; data-origin-height=&quot;667&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[Customize Hardware] 클릭. 메모리는 기본 1G. 원하는대로 적당히 올린다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;New CD/DVD 항목을 클릭하고 &amp;lt;Use ISO image file&amp;gt; 의 [Browse] 버튼을 클릭하여 받아둔 iso 파일을 선택한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[Close] 로 하드웨어 창 닫고 [Finish] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;888&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcU7Zg/dJMcacvCWeS/LE0RC6x7dYIVepuAiJOdb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcU7Zg/dJMcacvCWeS/LE0RC6x7dYIVepuAiJOdb0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcU7Zg/dJMcacvCWeS/LE0RC6x7dYIVepuAiJOdb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcU7Zg%2FdJMcacvCWeS%2FLE0RC6x7dYIVepuAiJOdb0%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;1264&quot; height=&quot;888&quot; data-origin-width=&quot;1264&quot; data-origin-height=&quot;888&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;Power on this Virtual machine&quot; 클릭&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNky5r/dJMcai3A3at/gsGODWGIrNiDs13VLa67i0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNky5r/dJMcai3A3at/gsGODWGIrNiDs13VLa67i0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNky5r/dJMcai3A3at/gsGODWGIrNiDs13VLa67i0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNky5r%2FdJMcai3A3at%2FgsGODWGIrNiDs13VLa67i0%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;644&quot; height=&quot;482&quot; data-origin-width=&quot;644&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Install 선택 Enter 입력&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/loLKf/dJMcad2h8Ub/hGRRx1KmevgExyXeSYh9LK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/loLKf/dJMcad2h8Ub/hGRRx1KmevgExyXeSYh9LK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/loLKf/dJMcad2h8Ub/hGRRx1KmevgExyXeSYh9LK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FloLKf%2FdJMcad2h8Ub%2FhGRRx1KmevgExyXeSYh9LK%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;795&quot; height=&quot;602&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;602&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치언어 한국어 선택 후 [계속 진행]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;607&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bb5K1P/dJMcafFRSqf/wtkh4524Lvu6dJBq6iI4K0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bb5K1P/dJMcafFRSqf/wtkh4524Lvu6dJBq6iI4K0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bb5K1P/dJMcafFRSqf/wtkh4524Lvu6dJBq6iI4K0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbb5K1P%2FdJMcafFRSqf%2Fwtkh4524Lvu6dJBq6iI4K0%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;607&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;607&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1 - 6 순서대로 진행할 거임&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;803&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cpyJ4x/dJMcadnHMLT/kQgcs9fp5Ld4m2uBWle3M0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cpyJ4x/dJMcadnHMLT/kQgcs9fp5Ld4m2uBWle3M0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cpyJ4x/dJMcadnHMLT/kQgcs9fp5Ld4m2uBWle3M0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpyJ4x%2FdJMcadnHMLT%2FkQgcs9fp5Ld4m2uBWle3M0%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;803&quot; height=&quot;597&quot; data-origin-width=&quot;803&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키보드 레이아웃 &quot;영어 (미국) 추가 후 상단의 [완료] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;603&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGr3Ab/dJMcadOKGSq/oTX43LuEbXQNA9kj07PxeK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGr3Ab/dJMcadOKGSq/oTX43LuEbXQNA9kj07PxeK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGr3Ab/dJMcadOKGSq/oTX43LuEbXQNA9kj07PxeK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGr3Ab%2FdJMcadOKGSq%2FoTX43LuEbXQNA9kj07PxeK%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;804&quot; height=&quot;603&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;603&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크 &amp;amp; 호스트 이름 : &quot;이더넷&quot; 켬으로 설정&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;595&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cS8htk/dJMcacPUf18/kc5SCMvlnTHLLSmhT1uhiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cS8htk/dJMcacPUf18/kc5SCMvlnTHLLSmhT1uhiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cS8htk/dJMcacPUf18/kc5SCMvlnTHLLSmhT1uhiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcS8htk%2FdJMcacPUf18%2Fkc5SCMvlnTHLLSmhT1uhiK%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;797&quot; height=&quot;595&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;595&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어 선택. 처음 설치 이므로 GUI 모드로 설치해 본다.&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 alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;595&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6cRs1/dJMcahcBiZo/HbkghmhMX1Qmx9QMdCSKM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6cRs1/dJMcahcBiZo/HbkghmhMX1Qmx9QMdCSKM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6cRs1/dJMcahcBiZo/HbkghmhMX1Qmx9QMdCSKM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6cRs1%2FdJMcahcBiZo%2FHbkghmhMX1Qmx9QMdCSKM1%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;802&quot; height=&quot;595&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;595&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 목적지. 기본 디스크 선택 하고 파티션 : 수동 선택 후 [완료] 버튼 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;607&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rQvBM/dJMcab4wtqy/uqtCjCfCCurakV5L9WbqLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rQvBM/dJMcab4wtqy/uqtCjCfCCurakV5L9WbqLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rQvBM/dJMcab4wtqy/uqtCjCfCCurakV5L9WbqLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrQvBM%2FdJMcab4wtqy%2FuqtCjCfCCurakV5L9WbqLK%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;607&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;607&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수동 파티션 설정 화면에서 새 마운트 지점 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마운트 지점 : swap , 희망용량 : 메모리 용량 x 1.5 입력&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v8Jw0/dJMcaiP4IIQ/bv7nCOYCMokNU0zeoMVTZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v8Jw0/dJMcaiP4IIQ/bv7nCOYCMokNU0zeoMVTZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v8Jw0/dJMcaiP4IIQ/bv7nCOYCMokNU0zeoMVTZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv8Jw0%2FdJMcaiP4IIQ%2Fbv7nCOYCMokNU0zeoMVTZK%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;799&quot; height=&quot;602&quot; data-origin-width=&quot;799&quot; data-origin-height=&quot;602&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마운트 지점&amp;nbsp; : / , 희망용량 : 빈칸으로( 비워두면 남은용량 할당됨 )&amp;nbsp; [마운트 지점 추가]&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;593&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQw4Rn/dJMcabKf7aM/z46KsAGAYin1wL7ypydv2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQw4Rn/dJMcabKf7aM/z46KsAGAYin1wL7ypydv2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQw4Rn/dJMcabKf7aM/z46KsAGAYin1wL7ypydv2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQw4Rn%2FdJMcabKf7aM%2Fz46KsAGAYin1wL7ypydv2K%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;798&quot; height=&quot;593&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;593&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;swap, /&amp;nbsp; 둘 다 장치 유형 &quot;표준 파티션&quot; 선택 후 [완료] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;803&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pxCxI/dJMcabwGgys/cRXxNi7rjwcHgajyvN5Vd0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pxCxI/dJMcabwGgys/cRXxNi7rjwcHgajyvN5Vd0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pxCxI/dJMcabwGgys/cRXxNi7rjwcHgajyvN5Vd0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpxCxI%2FdJMcabwGgys%2FcRXxNi7rjwcHgajyvN5Vd0%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;803&quot; height=&quot;602&quot; data-origin-width=&quot;803&quot; data-origin-height=&quot;602&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[변경 사항 적용]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYd0yE/dJMcabwGgG2/NlKtsnti83i4PFaBbVmnJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYd0yE/dJMcabwGgG2/NlKtsnti83i4PFaBbVmnJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYd0yE/dJMcabwGgG2/NlKtsnti83i4PFaBbVmnJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYd0yE%2FdJMcabwGgG2%2FNlKtsnti83i4PFaBbVmnJK%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;444&quot; data-origin-width=&quot;800&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kdump 활성화 체크 해제&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;632&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MamfN/dJMcagxYR2z/wf6EmV4qESQk4Ekwh7usNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MamfN/dJMcagxYR2z/wf6EmV4qESQk4Ekwh7usNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MamfN/dJMcagxYR2z/wf6EmV4qESQk4Ekwh7usNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMamfN%2FdJMcagxYR2z%2Fwf6EmV4qESQk4Ekwh7usNK%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;802&quot; height=&quot;632&quot; data-origin-width=&quot;802&quot; data-origin-height=&quot;632&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&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nVD91/dJMcaf6U9M7/xvqKIKeaik5dcbj9ZgfbJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nVD91/dJMcaf6U9M7/xvqKIKeaik5dcbj9ZgfbJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nVD91/dJMcaf6U9M7/xvqKIKeaik5dcbj9ZgfbJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnVD91%2FdJMcaf6U9M7%2FxvqKIKeaik5dcbj9ZgfbJ1%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;597&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEBbtB/dJMcahwVu66/pB66GUAJD7cwD16YHmTI90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEBbtB/dJMcahwVu66/pB66GUAJD7cwD16YHmTI90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEBbtB/dJMcahwVu66/pB66GUAJD7cwD16YHmTI90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEBbtB%2FdJMcahwVu66%2FpB66GUAJD7cwD16YHmTI90%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;597&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;루트 암호화, centos 사용자를 추가한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rB4pQ/dJMcajanQ4u/qcgfoSkRCG4kz1t3TTHIrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rB4pQ/dJMcajanQ4u/qcgfoSkRCG4kz1t3TTHIrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rB4pQ/dJMcajanQ4u/qcgfoSkRCG4kz1t3TTHIrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrB4pQ%2FdJMcajanQ4u%2FqcgfoSkRCG4kz1t3TTHIrk%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;797&quot; height=&quot;597&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치 요약 화면에서 [설치시작] 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;626&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ylWtr/dJMcaaR66sF/2E96qF8cOg6nCzjf7O5WR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ylWtr/dJMcaaR66sF/2E96qF8cOg6nCzjf7O5WR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ylWtr/dJMcaaR66sF/2E96qF8cOg6nCzjf7O5WR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FylWtr%2FdJMcaaR66sF%2F2E96qF8cOg6nCzjf7O5WR1%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;626&quot; data-origin-width=&quot;801&quot; data-origin-height=&quot;626&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 끝나면 [시스템 재시작] 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;797&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfd4sg/dJMcahKsTGi/kKBLJnnrgQGedXALKlZJUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfd4sg/dJMcahKsTGi/kKBLJnnrgQGedXALKlZJUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfd4sg/dJMcahKsTGi/kKBLJnnrgQGedXALKlZJUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfd4sg%2FdJMcahKsTGi%2FkKBLJnnrgQGedXALKlZJUK%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;1278&quot; height=&quot;797&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;797&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재시작 후 라이센스 정보 동의 하고 [설정 완료] 클릭&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;305&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGfTir/dJMcagksbVO/cdYAzTzIpjP1zHs4RoHRs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGfTir/dJMcagksbVO/cdYAzTzIpjP1zHs4RoHRs0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGfTir/dJMcagksbVO/cdYAzTzIpjP1zHs4RoHRs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGfTir%2FdJMcagksbVO%2FcdYAzTzIpjP1zHs4RoHRs0%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;401&quot; height=&quot;305&quot; data-origin-width=&quot;401&quot; data-origin-height=&quot;305&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;centos 계정으로 로그인&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;1021&quot; data-origin-height=&quot;772&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWMi76/dJMcaaEzPjI/ECvzbA4Sp6zkL1fnsvCNXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWMi76/dJMcaaEzPjI/ECvzbA4Sp6zkL1fnsvCNXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWMi76/dJMcaaEzPjI/ECvzbA4Sp6zkL1fnsvCNXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWMi76%2FdJMcaaEzPjI%2FECvzbA4Sp6zkL1fnsvCNXK%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;1021&quot; height=&quot;772&quot; data-origin-width=&quot;1021&quot; data-origin-height=&quot;772&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널 실행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/66ZQH/dJMcah4KXvJ/6gKrmyh14b6Kdo76dzKf51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/66ZQH/dJMcah4KXvJ/6gKrmyh14b6Kdo76dzKf51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/66ZQH/dJMcah4KXvJ/6gKrmyh14b6Kdo76dzKf51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F66ZQH%2FdJMcah4KXvJ%2F6gKrmyh14b6Kdo76dzKf51%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;626&quot; height=&quot;647&quot; data-origin-width=&quot;626&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터넷이 연결되어 ip 할당을 받았는지, 8.8.8.8(google dns) 에 핑이 되는지 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프롬프트 설&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;327&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NxCba/dJMcacvC6xG/Yop6jPqmJfiQoqiQIrjKKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NxCba/dJMcacvC6xG/Yop6jPqmJfiQoqiQIrjKKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NxCba/dJMcacvC6xG/Yop6jPqmJfiQoqiQIrjKKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNxCba%2FdJMcacvC6xG%2FYop6jPqmJfiQoqiQIrjKKk%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;327&quot; height=&quot;174&quot; data-origin-width=&quot;327&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[로그인한 계정명@호스트이름 현재위치] 일반사용자면 $, root 사용자 로그인 시 #&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;296&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ub80d/dJMcafePN0n/T1jZGXUB08y5emNk0GXSOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ub80d/dJMcafePN0n/T1jZGXUB08y5emNk0GXSOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ub80d/dJMcafePN0n/T1jZGXUB08y5emNk0GXSOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUb80d%2FdJMcafePN0n%2FT1jZGXUB08y5emNk0GXSOK%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;855&quot; height=&quot;296&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;296&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;856&quot; data-origin-height=&quot;145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbyc8q/dJMcafTpnNX/w3lGZkHAWFMLl7WLIRoBT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbyc8q/dJMcafTpnNX/w3lGZkHAWFMLl7WLIRoBT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbyc8q/dJMcafTpnNX/w3lGZkHAWFMLl7WLIRoBT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbyc8q%2FdJMcafTpnNX%2Fw3lGZkHAWFMLl7WLIRoBT0%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;856&quot; height=&quot;145&quot; data-origin-width=&quot;856&quot; data-origin-height=&quot;145&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;858&quot; data-origin-height=&quot;593&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o2IQK/dJMcahwVJMa/Jk0T5cNyDoIY5qHxgGw1G1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o2IQK/dJMcahwVJMa/Jk0T5cNyDoIY5qHxgGw1G1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o2IQK/dJMcahwVJMa/Jk0T5cNyDoIY5qHxgGw1G1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo2IQK%2FdJMcahwVJMa%2FJk0T5cNyDoIY5qHxgGw1G1%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;858&quot; height=&quot;593&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;593&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8L0fX/dJMcafME9g6/QAzHxP7c07fhmM6h8ZUwl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8L0fX/dJMcafME9g6/QAzHxP7c07fhmM6h8ZUwl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8L0fX/dJMcafME9g6/QAzHxP7c07fhmM6h8ZUwl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8L0fX%2FdJMcafME9g6%2FQAzHxP7c07fhmM6h8ZUwl0%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;473&quot; height=&quot;257&quot; data-origin-width=&quot;473&quot; data-origin-height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# getenforce&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- seLinux (security linux) 적용여부 확인&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# sestatus&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 시큐리티 상태를 보기&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;822&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBuB8z/dJMcadVxq2j/terlNu5UWxlomSTmWJdDtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBuB8z/dJMcadVxq2j/terlNu5UWxlomSTmWJdDtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBuB8z/dJMcadVxq2j/terlNu5UWxlomSTmWJdDtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBuB8z%2FdJMcadVxq2j%2FterlNu5UWxlomSTmWJdDtK%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;822&quot; height=&quot;260&quot; data-origin-width=&quot;822&quot; data-origin-height=&quot;260&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습을 용이 하게 하기 위해 상태 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# vim /etc/sysconfig/selinux&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SELINUX=disabled 로 변경&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;color: #000000;&quot;&gt;시스템을 재시작 하는 방법들&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# reboot&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 저장, 프로세스 정리하고 명령실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# systemctl reboot&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 재부팅&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 저장, 프로세스 정리하고 명령실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# systemctl poweroff&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 종료&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 저장, 프로세스 정리하고 명령실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# shutdown -r now&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- r 재시작, now == 0초&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 저장, 프로세스 정리하고 명령실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# shutdown -r 0&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# shutdown -h now&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- h(halt) 종료&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 저장, 프로세스 정리하고 명령실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# init 6&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 재부팅 init 0~6 있음&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- 강제로 종료(저장, 프로세스 정리 안하고 명령실행)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;# init 0 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&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;네트워크 고정 ip 로 설정&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vmware 에서 게이트웨이로 사용할 아이피 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKcTBP/dJMcaiJjJZE/ItiTFZ7ugM8JVhelLCzOFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKcTBP/dJMcaiJjJZE/ItiTFZ7ugM8JVhelLCzOFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKcTBP/dJMcaiJjJZE/ItiTFZ7ugM8JVhelLCzOFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKcTBP%2FdJMcaiJjJZE%2FItiTFZ7ugM8JVhelLCzOFK%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;326&quot; height=&quot;188&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uvP1a/dJMcaaEz1Wj/aMpXXBKRRQP69mVgTXHUHK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uvP1a/dJMcaaEz1Wj/aMpXXBKRRQP69mVgTXHUHK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uvP1a/dJMcaaEz1Wj/aMpXXBKRRQP69mVgTXHUHK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuvP1a%2FdJMcaaEz1Wj%2FaMpXXBKRRQP69mVgTXHUHK%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;1069&quot; height=&quot;539&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;785&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/u4ipd/dJMcabXLSvh/u0GO1bcDRIhvzlvkkFuSo1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/u4ipd/dJMcabXLSvh/u0GO1bcDRIhvzlvkkFuSo1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/u4ipd/dJMcabXLSvh/u0GO1bcDRIhvzlvkkFuSo1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu4ipd%2FdJMcabXLSvh%2Fu0GO1bcDRIhvzlvkkFuSo1%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;785&quot; data-origin-width=&quot;844&quot; data-origin-height=&quot;785&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;587&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c577MF/dJMcagdIFHd/iKRHs0X9x4nksfF1wN0CX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c577MF/dJMcagdIFHd/iKRHs0X9x4nksfF1wN0CX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c577MF/dJMcagdIFHd/iKRHs0X9x4nksfF1wN0CX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc577MF%2FdJMcagdIFHd%2FiKRHs0X9x4nksfF1wN0CX0%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;587&quot; height=&quot;540&quot; data-origin-width=&quot;587&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주소와 네임서버 설정&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdy9sx/dJMcacJabxS/zrgVtf9ZzIaJbk3yKkg3pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdy9sx/dJMcacJabxS/zrgVtf9ZzIaJbk3yKkg3pK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdy9sx/dJMcacJabxS/zrgVtf9ZzIaJbk3yKkg3pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdy9sx%2FdJMcacJabxS%2FzrgVtf9ZzIaJbk3yKkg3pK%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;737&quot; height=&quot;539&quot; data-origin-width=&quot;737&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경된것 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;패키지 설치&lt;/h3&gt;
&lt;p&gt;&lt;img style=&quot;text-align: center; caret-color: transparent; letter-spacing: 0px;&quot; src=&quot;https://blog.kakaocdn.net/dna/eaD1WH/dJMcai3BqgH/AAAAAAAAAAAAAAAAAAAAAAd7mZUP15WRnvUJ-CdSwyYigj9IeeTQ6OMiX8KbjQl2/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1774969199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=ZPytc5%2BYnnaDmQwku1q4mK0pb4U%3D&quot; data-origin-width=&quot;972&quot; data-origin-height=&quot;320&quot; data-is-animation=&quot;false&quot; /&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 data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;centos 8 설치시 발생하는 repo 에러 수정- &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 명령어 2개 터미널에서 실행&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- sed -i '{a}' {b} &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-- a를 b로 치환명령어&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;sed -i 's|#baseurl=&lt;a href=&quot;http://mirror.centos.org&quot;&gt;http://mirror.centos.org&lt;/a&gt;|baseurl=&lt;a href=&quot;http://vault.centos.org&quot;&gt;http://vault.centos.org&lt;/a&gt;|g' /etc/yum.repos.d/CentOS-*&lt;/span&gt;&lt;/p&gt;
&lt;p 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;color: #000000;&quot;&gt;-- install mc (리눅스용 탐색기 ) 설치&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;#&amp;nbsp;yum --&amp;nbsp;yellow&amp;nbsp;doc&amp;nbsp;update&amp;nbsp;module&lt;br /&gt;#&amp;nbsp;dnf --&amp;nbsp;yum&amp;nbsp;대신&amp;nbsp;사용하기도..&amp;nbsp;dendified&amp;nbsp;yum&lt;br /&gt;#&amp;nbsp;rpm --&amp;nbsp;redhat&amp;nbsp;linux&amp;nbsp;package&amp;nbsp;module.&amp;nbsp;로컬파일을&amp;nbsp;이용해서&amp;nbsp;설치. &lt;br /&gt;#&amp;nbsp;yum&amp;nbsp;repolist --&amp;nbsp;display&amp;nbsp;repository&amp;nbsp;list&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;여기까지 진행하고 스냅샷을 저장한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;613&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/li9dc/dJMb99Ta0Xq/XtGTPWaQ15iMt3jW8atF21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/li9dc/dJMb99Ta0Xq/XtGTPWaQ15iMt3jW8atF21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/li9dc/dJMb99Ta0Xq/XtGTPWaQ15iMt3jW8atF21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fli9dc%2FdJMb99Ta0Xq%2FXtGTPWaQ15iMt3jW8atF21%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;968&quot; height=&quot;613&quot; data-origin-width=&quot;968&quot; data-origin-height=&quot;613&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 data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>서버 OS/리눅스서버 - Rocky Linux 9 (CentOs)</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/63</guid>
      <comments>https://mamdragors.tistory.com/63#entry63comment</comments>
      <pubDate>Mon, 16 Mar 2026 17:33:22 +0900</pubDate>
    </item>
    <item>
      <title>0. 정보보안기사 실기 학습 계획</title>
      <link>https://mamdragors.tistory.com/62</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;사용 교재 : 2026 알기사 정보보안기사(산업기사) 실기&amp;nbsp;&amp;nbsp;&lt;/h3&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;제미나이가 교재의 목차에 맞춰 정리해줌&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot; style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  [7주 완성] 정보보안기사 실기 합격 로드맵&lt;/h3&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;1단계: 이론 복습 및 기술형 전환 (1~3주차)&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;필기 내용을 단순히 읽는 것이 아니라, **&quot;주관식으로 나오면 뭐라고 쓸까?&quot;**를 고민하며 공부해야 합니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;6&quot;&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;6,0,0&quot; data-index-in-node=&quot;0&quot;&gt;1주차: 시스템 보안 &amp;amp; 네트워크 보안 (가장 중요)&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;6,0,1&quot;&gt; 
   &lt;li&gt;리눅스/윈도우 주요 설정 파일 경로, 권한 관리(chmod 등), 로그 분석.&lt;/li&gt; 
   &lt;li&gt;TCP/IP 3-Way Handshake 과정, 각종 프로토콜(ICMP, ARP, DNS 등)의 취약점과 대응책.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;6,1,0&quot; data-index-in-node=&quot;0&quot;&gt;2주차: 애플리케이션 보안 &amp;amp; 암호학&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;6,1,1&quot;&gt; 
   &lt;li&gt;&lt;b data-path-to-node=&quot;6,1,1,0,0&quot; data-index-in-node=&quot;0&quot;&gt;OWASP Top 10:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;SQL Injection, XSS, CSRF의 원인과 방어 코드를 직접 써보기.&lt;/li&gt; 
   &lt;li&gt;대칭키/비대칭키 암호화 알고리즘 비교, 해시 함수, PKI 구조 이해.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;6,2,0&quot; data-index-in-node=&quot;0&quot;&gt;3주차: 정보보안 일반 &amp;amp; 법규&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;6,2,1&quot;&gt; 
   &lt;li&gt;&lt;b data-path-to-node=&quot;6,2,1,0,0&quot; data-index-in-node=&quot;0&quot;&gt;개인정보보호법:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;최근 개정 사항, 기술적/관리적 보호조치 기준 암기.&lt;/li&gt; 
   &lt;li&gt;ISMS-P 인증 체계, 위험 관리 절차.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;2단계: 실무 기술 및 단답형 집중 공략 (4~5주차)&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;실기 시험의 당락을 결정하는 **'실무형 문제'**에 대비합니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;9&quot;&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;9,0,0&quot; data-index-in-node=&quot;0&quot;&gt;4주차: 보안 장비 및 로그 분석&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;9,0,1&quot;&gt; 
   &lt;li&gt;&lt;b data-path-to-node=&quot;9,0,1,0,0&quot; data-index-in-node=&quot;0&quot;&gt;Snort 룰(Rule) 작성:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;alert, log, pass 등 옵션별 작성법 완벽 숙지.&lt;/li&gt; 
   &lt;li&gt;IPTables, Apache 설정(httpd.conf), PHP 설정(php.ini) 보안 설정.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;9,1,0&quot; data-index-in-node=&quot;0&quot;&gt;5주차: 최신 취약점 &amp;amp; 서술형 연습&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;9,1,1&quot;&gt; 
   &lt;li&gt;알기사 교재의 '실기 심화' 파트 집중 공독.&lt;/li&gt; 
   &lt;li&gt;최근 3년간 이슈가 된 취약점(Log4j, 랜섬웨어 등) 정리.&lt;/li&gt; 
   &lt;li&gt;기출문제의 서술형 답안을 보고 '키워드' 중심으로 요약 작성하는 연습.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;3단계: 기출 무한 반복 및 최종 점검 (6~7주차)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;11&quot;&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;11,0,0&quot; data-index-in-node=&quot;0&quot;&gt;6주차: 기출문제 풀이 (최근 5~10회분)&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;11,0,1&quot;&gt; 
   &lt;li&gt;시간을 재고 실제 시험처럼 풀어보기.&lt;/li&gt; 
   &lt;li&gt;틀린 문제는 알기사 이론서로 돌아가서 해당 파트 전체를 다시 복습.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-path-to-node=&quot;11,1,0&quot; data-index-in-node=&quot;0&quot;&gt;7주차: 오답 노트 &amp;amp; 암기 마무리&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-path-to-node=&quot;11,1,1&quot;&gt; 
   &lt;li&gt;자주 틀리는 법규 수치, 명령어 옵션, 암호 알고리즘 특징 최종 암기.&lt;/li&gt; 
   &lt;li&gt;시험 전날까지 '단답형 100선' 같은 요약집 반복 회독.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  전문가의 팁: 61점 합격자가 주의할 점&lt;/h3&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;&lt;b&gt;눈으로 읽지 말고 손으로 쓰세요:&lt;/b&gt;&amp;nbsp;실기는 '아는 것'과 '쓰는 것'이 다릅니다. 특히&amp;nbsp;&lt;b&gt;리눅스 명령어&lt;/b&gt;나&amp;nbsp;&lt;b&gt;보안 설정&lt;/b&gt;은 철자 하나 틀리면 감점입니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;키워드 채점 방식을 공략하세요:&lt;/b&gt;&amp;nbsp;서술형 답변 시 미사여구를 늘어놓기보다&amp;nbsp;&lt;b&gt;핵심 키워드&lt;/b&gt;(예: '무결성 보장', '샌드박싱', '입력값 검증' 등)가 반드시 포함되게 쓰세요.&lt;/li&gt;&lt;li&gt;&lt;b&gt;법규를 포기하지 마세요:&lt;/b&gt;&amp;nbsp;법규는 암기만 하면 100% 맞출 수 있는 보너스 점수 구간입니다.&lt;/li&gt;&lt;/ol&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;br&gt;&lt;b&gt;2026 알기사 실기 목차&lt;/b&gt;를 완벽히 반영하여 1~3주차 스케줄을 재구성했습니다. 61점 필기 합격자에게 가장 필요한 **'이론의 주관식화'**와 **'실무 설정 암기'**에 최적화된 분량입니다.&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  [1주차] 시스템 및 네트워크 보안 (PART 01 ~ 02)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;실기 시험의 앞부분(단답형)과 기술형 문제의 기초가 되는 구간입니다.&lt;/p&gt;&lt;table style=&quot;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 style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;날짜&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;학습 범위 (알기사 목차 기준)&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;핵심 학습 포인트&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  [2주차] 애플리케이션 및 침해사고 분석 (PART 03 ~ 04)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;가장 배점이 높고, 실제 설정(Snort 등)을 써야 하는 고난도 구간입니다.&lt;/p&gt;&lt;table style=&quot;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 style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;날짜&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;학습 범위 (알기사 목차 기준)&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;핵심 학습 포인트&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  [3주차] 정보보안 일반 및 법규 (PART 05 ~ 06)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;단답형 점수를 굳히고, 서술형에서 감점을 막아야 하는 구간입니다.&lt;/p&gt;&lt;table style=&quot;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 style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;날짜&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;학습 범위 (알기사 목차 기준)&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;핵심 학습 포인트&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  전문가 교육 가이드&lt;/h3&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;&lt;b&gt;PART 02(네트워크)&lt;/b&gt;&amp;nbsp;공부 시에는 프로토콜의 헤더 구조를 머릿속에 그려야 합니다.&lt;/li&gt;&lt;li&gt;*&lt;/li&gt;&lt;li&gt;&lt;b&gt;PART 03(웹 보안)&lt;/b&gt;&amp;nbsp;공부 시에는 공격 쿼리(예: ' OR 1=1 --)가 서버에서 어떻게 처리되는지 이해하세요.&lt;/li&gt;&lt;li&gt;**법규(PART 06)**는 토씨 하나 안 틀리고 적는 것보다 **'법적 키워드'**와 **'기준 수치'**를 정확히 적는 것이 채점 포인트입니다.&lt;/li&gt;&lt;/ol&gt;</description>
      <category>정보보안(산업)기사</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/62</guid>
      <comments>https://mamdragors.tistory.com/62#entry62comment</comments>
      <pubDate>Wed, 25 Feb 2026 11:53:16 +0900</pubDate>
    </item>
    <item>
      <title>21일차 : 법규 파트의 총정리</title>
      <link>https://mamdragors.tistory.com/61</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;드디어 21일 완성 커리큘럼의 마지막 날인 &lt;b&gt;21일차&lt;/b&gt;입니다!&lt;br&gt;21일차는 새로운 내용을 학습하는 것이 아니라, &lt;b&gt;3주차 법규 파트의 총정리&lt;/b&gt;와 더불어 시험 직전 반드시 머릿속에 넣어야 할 &lt;b&gt;'최신 개정 수치 및 핵심 키워드'를 무한 반복&lt;/b&gt;하는 날입니다. 실기 시험에서 법규는 토씨 하나 틀리지 않는 것보다 &lt;b&gt;정확한 수치와 법적 용어&lt;/b&gt;를 적는 것이 득점의 포인트입니다.&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  21일차 학습 포인트 (최종 마무리)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;학습 범위: 3주차 법규(PART 06) 및 전 범위 핵심 수치 복습&lt;/b&gt;&lt;/p&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 개인정보 보호법 핵심 수치 (무조건 암기)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;유출 신고:&lt;/b&gt; 정보주체에게 지체 없이 통지, &lt;b&gt;72시간&lt;/b&gt; 이내에 위원회/KISA 신고 (개정 수치 확인!)&lt;/li&gt;&lt;li&gt;&lt;b&gt;파기 기한:&lt;/b&gt; 보유 이유가 없어진 날로부터 &lt;b&gt;5일&lt;/b&gt; 이내&lt;/li&gt;&lt;li&gt;&lt;b&gt;접속 권한 기록 보관:&lt;/b&gt; 권한 부여/변경/말소 기록 최소 &lt;b&gt;3년&lt;/b&gt; 보관&lt;/li&gt;&lt;li&gt;&lt;b&gt;접속 로그 보관:&lt;/b&gt; 일반 &lt;b&gt;1년&lt;/b&gt;, 5만 명 이상 또는 민감/고유식별정보 처리 시 &lt;b&gt;2년&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;비밀번호 조합:&lt;/b&gt; 2종 조합 시 &lt;b&gt;10자리&lt;/b&gt;, 3종 조합 시 &lt;b&gt;8자리&lt;/b&gt; 이상&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 망법 및 기반보호법 핵심 키워드&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;망법 침해사고 신고:&lt;/b&gt; 발생 시 &lt;b&gt;( 즉시 )&lt;/b&gt; 신고&lt;/li&gt;&lt;li&gt;&lt;b&gt;기반시설 평가 주기:&lt;/b&gt; &lt;b&gt;( 매년 )&lt;/b&gt; 취약점 분석·평가 실시&lt;/li&gt;&lt;li&gt;&lt;b&gt;CISO 겸직 제한:&lt;/b&gt; 자산 총액 &lt;b&gt;5조 원&lt;/b&gt; 이상 또는 정보통신서비스 부문 매출액 &lt;b&gt;3천억 원&lt;/b&gt; 이상인 경우 등은 겸직 금지&lt;/li&gt;&lt;li&gt;&lt;b&gt;ISMS-P 인증 유효기간:&lt;/b&gt; &lt;b&gt;3년&lt;/b&gt; (매년 사후 심사)&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 벌칙 및 과태료 (단답형 대비)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;주민등록번호 유출 시 과징금:&lt;/b&gt; 안전성 확보조치를 다 하지 않아 유출된 경우 &lt;b&gt;5억 원&lt;/b&gt; 이하&lt;/li&gt;&lt;li&gt;&lt;b&gt;징벌적 손해배상:&lt;/b&gt; 고의/과실로 유출 시 손해액의 &lt;b&gt;5배&lt;/b&gt; 이내 배상 책임&lt;/li&gt;&lt;/ul&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  21일차 최종 자가 테스트 (빈칸 채우기)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 이 질문들에 바로 답이 나오지 않는다면 그 부분을 다시 확인하세요!&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;개인정보 처리 방침을 수립하지 않거나 공개하지 않은 경우 부과되는 과태료는? (답: 1천만 원 이하)&lt;/li&gt;&lt;li&gt;개인정보가 유출되었을 때 위원회에 신고해야 하는 기준 인원수는? (답: 1천 명 이상)&lt;/li&gt;&lt;li&gt;주요정보통신기반시설의 관리기관 장은 보호대책을 수립하여 누구에게 제출하는가? (답: 관계 중앙행정기관의 장)&lt;/li&gt;&lt;li&gt;개인정보의 &lt;b&gt;( 일방향 )&lt;/b&gt; 암호화란 복호화되지 않도록 해시 함수 등을 사용하는 것을 말한다.&lt;/li&gt;&lt;/ol&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  3주 완주 기념 최종 조언&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;3주 동안 시스템, 네트워크, 웹, 애플리케이션, 관리, 법규까지 숨 가쁘게 달려오셨습니다.&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;&lt;b&gt;눈이 아닌 손으로:&lt;/b&gt; 오늘 마지막 복습은 반드시 백지에 수치들을 직접 써보며 진행하세요.&lt;/li&gt;&lt;li&gt;&lt;b&gt;기출과 연결:&lt;/b&gt; 이제부터는 실제 기출문제를 풀면서, 오늘 외운 법규 내용이 어떤 식으로 문제화되는지 감을 익히셔야 합니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;수치 암기판 제작:&lt;/b&gt; 72시간, 5일, 3년, 1년, 5만 명, 102개(ISMS-P 항목 수) 등 헷갈리는 숫자만 따로 포스트잇에 적어 시험 직전까지 보세요.&lt;/li&gt;&lt;/ol&gt;</description>
      <category>정보보안(산업)기사</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/61</guid>
      <comments>https://mamdragors.tistory.com/61#entry61comment</comments>
      <pubDate>Wed, 25 Feb 2026 11:44:41 +0900</pubDate>
    </item>
    <item>
      <title>20일차 : 전자서명법 과 위치정보의 보호 및 이용 등에 관한 법률(위치정보법)</title>
      <link>https://mamdragors.tistory.com/60</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;원래 스케줄표에 맞춘 &lt;b&gt;20일차 학습 포인트&lt;/b&gt; 설명해 드리겠습니다.&lt;br&gt;20일차는 &lt;b&gt;전자서명법&lt;/b&gt;과 **위치정보의 보호 및 이용 등에 관한 법률(위치정보법)**을 다룹니다. 이 파트는 실기 시험에서 비중이 아주 높지는 않지만, 최근 개정된 내용이나 용어의 정의를 묻는 단답형 문제로 한 문제씩 섞여 나올 수 있으므로 핵심만 빠르게 정리하는 것이 효율적입니다.&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  20일차 학습 포인트 (원래 스케줄 기준)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;학습 범위: PART 06 SEC 18-06~07 (전자서명법, 위치정보법)&lt;/b&gt;&lt;/p&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 전자서명법 - '공인인증서' 폐지 이후의 변화&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;전자서명의 효력 (제3조):&lt;/b&gt; 과거 '공인전자서명'의 독점적 지위가 폐지되었습니다. 이제는 법령에 따라 서명, 날인으로 규정된 경우 외에도 &lt;b data-index-in-node=&quot;77&quot; data-path-to-node=&quot;6,0,0&quot;&gt;당사자 간의 약정&lt;/b&gt;에 따른 전자서명은 모두 효력을 가집니다.&lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,0&quot;&gt;전자서명인증업무 운영기준 준수사실의 인정:&lt;/b&gt; 과학기술정보통신부 장관은 인증기관이 운영기준을 준수하고 있는지 심사하여 인정할 수 있으며, 이 유효기간은 &lt;b data-index-in-node=&quot;83&quot; data-path-to-node=&quot;6,1,0&quot;&gt;1년&lt;/b&gt;입니다. (매년 갱신)&lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,0&quot;&gt;주요 용어:&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6,2,1&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,1,0,0&quot;&gt;전자서명인증:&lt;/b&gt; 전자서명 생성정보가 가입자에게 고유하게 속한다는 사실을 확인하는 것.&lt;/li&gt; 
   &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,1,1,0&quot;&gt;전자서명인증사업자:&lt;/b&gt; 전자서명인증서비스를 제공하는 자.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 위치정보의 보호 및 이용 등에 관한 법률 (위치정보법)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;8&quot; data-ke-list-type=&quot;disc&quot;&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,0&quot;&gt;위치정보의 정의:&lt;/b&gt; 이동성이 있는 객체(사람 또는 물건)가 특정 시간에 존재하였던 장소에 관한 정보.&lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,1,0&quot;&gt;사업자의 구분 (중요):&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;8,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,1,1,0,0&quot;&gt;위치정보사업자:&lt;/b&gt; 위치정보를 수집하여 위치기반서비스사업자에게 제공하는 자. (방통위 &lt;b data-index-in-node=&quot;46&quot; data-path-to-node=&quot;8,1,1,0,0&quot;&gt;허가/등록&lt;/b&gt;)&lt;/li&gt; 
   &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,1,1,1,0&quot;&gt;위치기반서비스사업자:&lt;/b&gt; 위치정보를 이용하여 서비스를 제공하는 자. (방통위 &lt;b data-index-in-node=&quot;41&quot; data-path-to-node=&quot;8,1,1,1,0&quot;&gt;신고&lt;/b&gt;)&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,2,0&quot;&gt;8세 이하 아동 등의 보호 (제26조):&lt;/b&gt; 8세 이하 아동, 치매 환자 등 보호의무자가 동의하면 본인의 동의가 있는 것으로 간주합니다. (단, &lt;b data-index-in-node=&quot;79&quot; data-path-to-node=&quot;8,2,0&quot;&gt;생명 또는 신체 보호&lt;/b&gt; 목적에 한함)&lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,3,0&quot;&gt;파기 기항:&lt;/b&gt; 위치정보 이용 목적을 달성한 경우 &lt;b data-index-in-node=&quot;26&quot; data-path-to-node=&quot;8,3,0&quot;&gt;지체 없이&lt;/b&gt; 파기해야 합니다.&lt;/li&gt; 
&lt;/ul&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  실기형 핵심 체크리스트 (20일차)&lt;/h3&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;&lt;b&gt;전자서명 효력:&lt;/b&gt; 전자서명은 **( 전자적 형태 )**라는 이유만으로 서명으로서의 효력이 부인되지 않는다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;위치정보사업자:&lt;/b&gt; 위치정보를 직접 수집하여 제공하려는 자는 방송통신위원회의 **( 허가 )**를 받아야 한다. (단, 개인위치정보가 아닌 경우 등은 등록/신고)&lt;/li&gt;&lt;li&gt;&lt;b&gt;긴급구조 시 위치정보:&lt;/b&gt; 긴급구조기관은 구조를 위해 위치정보사업자에게 위치정보 제공을 요청할 수 있으며, 이때 사업자는 **( 거절 )**할 수 없다.&lt;/li&gt;&lt;/ol&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✍️ 학습 가이드:&lt;/b&gt; 오늘은 법규 공부의 마지막 날입니다! &lt;b&gt;&quot;위치정보사업자는 허가/등록, 위치기반서비스사업자는 신고&quot;&lt;/b&gt; 이 구분을 명확히 하시고, 전자서명법에서는 **&quot;모든 전자서명은 차별 없이 효력을 가집니다&quot;**라는 원칙만 잘 기억하시면 됩니다.&lt;/p&gt;</description>
      <category>정보보안(산업)기사</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/60</guid>
      <comments>https://mamdragors.tistory.com/60#entry60comment</comments>
      <pubDate>Wed, 25 Feb 2026 11:43:36 +0900</pubDate>
    </item>
    <item>
      <title>19일차 : 정보통신망법(망법) 과 정보통신기반보호법(기반보호법)</title>
      <link>https://mamdragors.tistory.com/59</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;19일차는 **정보통신망법(망법)**과 **정보통신기반보호법(기반보호법)**을 다룹니다. 18일차에 배운 '개인정보 보호법'이 일반적인 법이라면, 오늘 배우는 내용은 &lt;b&gt;IT 서비스 제공자&lt;/b&gt;와 &lt;b&gt;국가 핵심 시설&lt;/b&gt;에 특화된 법규입니다.&lt;/p&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  19일차 학습 포인트 (원래 스케줄 기준)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;학습 범위: PART 06 SEC 18-04~05 (정보통신망법 및 정보통신기반보호법)&lt;/b&gt;&lt;/p&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 정보통신망법 (망법) - 서비스 제공자 중심&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;침해사고의 통지 및 신고 (제48조의3):&lt;/b&gt; 정보통신서비스 제공자는 침해사고 발생 시 &lt;b data-index-in-node=&quot;47&quot; data-path-to-node=&quot;6,0,0&quot;&gt;즉시&lt;/b&gt; 과기정통부 장관이나 KISA에 신고해야 합니다. (실기 단답형 빈출 키워드: &lt;b data-index-in-node=&quot;93&quot; data-path-to-node=&quot;6,0,0&quot;&gt;즉시&lt;/b&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,0&quot;&gt;정보보호 최고책임자(CISO) 지정 (제45조의3):&lt;/b&gt; 
  &lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6,1,1&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;상시 종업원 수, 매출액 등 일정 기준 이상의 기업은 CISO를 반드시 지정하고 신고해야 합니다.&lt;/li&gt; 
   &lt;li&gt;자산 총액 5조 원 이상 등의 대규모 기업 CISO는 다른 직무를 겸직할 수 없습니다. (&lt;b data-index-in-node=&quot;50&quot; data-path-to-node=&quot;6,1,1,1,0&quot;&gt;겸직 금지&lt;/b&gt;)&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,0&quot;&gt;정보보호 공시:&lt;/b&gt; 정보보호 투자, 인력 현황 등을 대중에게 알리는 제도로, 일정 규모 이상 기업은 &lt;b data-index-in-node=&quot;54&quot; data-path-to-node=&quot;6,2,0&quot;&gt;의무 대상&lt;/b&gt;입니다.&lt;/li&gt; 
&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 정보통신기반보호법 (기반보호법) - 국가 중요 시설&lt;/h4&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이 법은 해킹 시 국가 전체가 마비될 수 있는 시설(전력, 통신, 금융 등)을 보호하기 위한 법입니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;주요정보통신기반시설의 지정:&lt;/b&gt; 관리기관의 장이 지정 권고를 받아 지정하거나 직접 지정합니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;취약점 분석·평가:&lt;/b&gt; 지정된 시설의 관리기관 장은 &lt;b&gt;매년&lt;/b&gt; 소관 주요정보통신기반시설의 취약점을 분석·평가해야 합니다. (주기: &lt;b&gt;매년&lt;/b&gt;)&lt;/li&gt;&lt;li&gt;&lt;b&gt;침해사고 대응:&lt;/b&gt; 기반시설에 사고가 발생하면 관리기관의 장은 과기정통부, 국정원 등 관계 기관에 통보하고 복구 조치를 해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  실기형 핵심 체크리스트 (19일차)&lt;/h3&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;&lt;b&gt;신고 시점:&lt;/b&gt; 망법상 침해사고 발생 시 신고는 &lt;b&gt;( 즉시 )&lt;/b&gt; 해야 한다. (개보법의 72시간과 구분 필수!)&lt;/li&gt;&lt;li&gt;&lt;b&gt;CISO 겸직 제한:&lt;/b&gt; 일정 규모 이상의 정보통신서비스 제공자는 정보보호 최고책임자가 다른 직무를 **( 겸직 )**할 수 없다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;기반시설 평가 주기:&lt;/b&gt; 주요정보통신기반시설의 관리기관 장은 &lt;b&gt;( 매년 )&lt;/b&gt; 취약점 분석·평가를 실시해야 한다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;보호대책 수립:&lt;/b&gt; 기반시설로 지정되면 &lt;b&gt;( 6개월 )&lt;/b&gt; 이내에 해당 시설에 대한 보호대책을 수립해야 한다.&lt;/li&gt;&lt;/ol&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✍️ 학습 가이드:&lt;/b&gt; 오늘은 &lt;b&gt;&quot;신고는 즉시&quot;&lt;/b&gt;, &lt;b&gt;&quot;CISO 겸직 금지&quot;&lt;/b&gt;, &lt;b&gt;&quot;기반시설 평가는 매년&quot;&lt;/b&gt; 이 세 가지 키워드를 머릿속에 꼭 저장하세요. 어제 배운 일반법(개보법)과 오늘 배우는 특별법(망법/기반보호법)의 수치 차이를 비교하며 표로 정리해 보시는 것이 좋습니다.&lt;/p&gt;</description>
      <category>정보보안(산업)기사</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/59</guid>
      <comments>https://mamdragors.tistory.com/59#entry59comment</comments>
      <pubDate>Wed, 25 Feb 2026 11:42:23 +0900</pubDate>
    </item>
    <item>
      <title>18일차 : 개인정보의 안전성 확보조치 기준</title>
      <link>https://mamdragors.tistory.com/58</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;  18일차 학습 포인트&amp;nbsp;&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;학습 범위: PART 06 SEC 18-03 (개인정보의 안전성 확보조치 기준)&lt;/b&gt;&lt;br&gt;이 파트는 법규 중에서도 실기 시험 **'단답형 빈칸 채우기'**에서 가장 높은 출제 빈도를 자랑합니다. 법 조문에 나오는 &lt;b&gt;구체적인 수치&lt;/b&gt;를 암기하는 것이 핵심입니다.&lt;/p&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 비밀번호 작성 규칙 (제5조)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;암기 포인트:&lt;/b&gt; 비밀번호 설정 시 숫자, 영문, 특수문자 중 2종류 이상 조합 시 &lt;b&gt;10자리 이상&lt;/b&gt;, 3종류 이상 조합 시 &lt;b&gt;8자리 이상&lt;/b&gt;으로 설정해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. 접근 권한의 관리 (제4조)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;개인정보처리시스템에 대한 접근 권한 부여, 변경, 말소 기록은 &lt;b&gt;최소 3년간&lt;/b&gt; 보관해야 합니다.&lt;/li&gt;&lt;li&gt;전보 또는 퇴직 등 인사이동 발생 시 &lt;b&gt;지체 없이&lt;/b&gt; 접근 권한을 말소해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 개인정보의 암호화 (제7조) - ★최우선 순위&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;암호화 대상:&lt;/b&gt; 고유식별정보(주민번호, 여권번호, 운전면허번호, 외국인등록번호), 비밀번호, 바이오정보.&lt;/li&gt;&lt;li&gt;&lt;b&gt;비밀번호의 특징:&lt;/b&gt; 비밀번호는 복호화되지 않도록 **일방향 암호화(Hash)**를 해야 합니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;전송 시 암호화:&lt;/b&gt; 보안서버(SSL 등)를 통해 구간 암호화를 해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. 접속기록의 보관 및 점검 (제8조) - ★매우 중요&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;보관 기간:&lt;/b&gt; 개인정보취급자가 시스템에 접속한 기록은 &lt;b&gt;최소 1년 이상&lt;/b&gt; 보관해야 합니다. (단, 5만 명 이상의 정보주체 정보를 처리하거나 고유식별정보/민감정보를 처리하는 경우 &lt;b&gt;2년 이상&lt;/b&gt; 보관)&lt;/li&gt;&lt;li&gt;&lt;b&gt;점검 주기:&lt;/b&gt; 접속기록은 &lt;b&gt;월 1회 이상&lt;/b&gt; 정기적으로 점검해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. 출력 시 보호조치 (제10조)&lt;/h4&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;개인정보가 포함된 자료를 인쇄하거나 화면에 표시할 때, &lt;b&gt;용도에 따라 개인정보의 일부를 가리는 등의 마스킹 처리&lt;/b&gt;를 해야 합니다.&lt;/li&gt;&lt;/ul&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;h3 data-ke-size=&quot;size23&quot;&gt;  실기형 핵심 체크리스트 (18일차)&lt;/h3&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;실기 시험지에는 아래와 같이 빈칸으로 나옵니다.&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;&lt;li&gt;개인정보취급자가 개인정보처리시스템에 접속한 기록은 최소 &lt;b&gt;( 1년 )&lt;/b&gt; 이상 보관해야 한다.&lt;/li&gt;&lt;li&gt;비밀번호는 &lt;b&gt;( 일방향 )&lt;/b&gt; 암호화하여 저장해야 한다.&lt;/li&gt;&lt;li&gt;정보주체 수 &lt;b&gt;( 5만 )&lt;/b&gt; 명 이상인 경우 접속기록을 &lt;b&gt;( 2년 )&lt;/b&gt; 이상 보관·관리해야 한다.&lt;/li&gt;&lt;/ol&gt;&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot;&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✍️ 학습 가이드:&lt;/b&gt; 어제(17일차)까지는 큰 틀의 '법률'을 배우셨다면, 오늘(18일차)은 &lt;b&gt;&quot;그래서 서버에 로그를 몇 년 남겨야 해? 비밀번호는 몇 자리여야 해?&quot;&lt;/b&gt; 같은 **실무적 기준(수치)**을 외우는 날입니다.&lt;/p&gt;</description>
      <category>정보보안(산업)기사</category>
      <author>mamdragors</author>
      <guid isPermaLink="true">https://mamdragors.tistory.com/58</guid>
      <comments>https://mamdragors.tistory.com/58#entry58comment</comments>
      <pubDate>Wed, 25 Feb 2026 11:40:56 +0900</pubDate>
    </item>
  </channel>
</rss>