이 블로그는 여러 파트로 구성된 블로그 시리즈의 일부로, Kubernetes에서 애플리케이션을 실행하는 방법을 보여줍니다. 이 블로그는 카우치베이스오픈소스 NoSQL 분산 문서 데이터베이스인 Docker
컨테이너.
첫 번째 부분(쿠버네티스의 카우치베이스)에서 Vagrant를 사용하여 Kubernetes 클러스터를 시작하는 방법을 설명했습니다. 이는 개발, 테스트 및 배포를 위한 간단하고 쉬운 방법입니다.
로컬 머신의 쿠버네티스 클러스터. 하지만 로컬 머신의 리소스에 제약이 있기 때문에 이 방법은 곧 제한적으로 사용될 수 있습니다. 그렇다면 어떻게 해야 할까요?
아마존에도 Kubernetes 클러스터를 설치할 수 있습니다. 이 두 번째 파트에서 보여드리겠습니다:
- Amazon Web Services에서 Kubernetes 클러스터를 설정하고 시작하는 방법
- 쿠버네티스 클러스터에서 도커 컨테이너 실행하기
- 쿠버네티스에서 파드를 서비스로 노출하기
- 클러스터 종료
다음은 간단한 개요입니다:
자세히 알아봅시다!
아마존 웹 서비스에서 쿠버네티스 클러스터 설정하기
AWS EC2에서 시작하기 는 Amazon에서 Kubernetes 클러스터를 시작하기 위한 완전한 지침을 제공합니다. 사전 요구 사항(AWS 계정, AWS CLI, 전체 EC2 액세스 권한)이 있는지 확인합니다.
를 충족해야 이 지침을 따를 수 있습니다. 아마존에서 Kubernetes 클러스터를 다음과 같이 생성할 수 있습니다:
1 2 |
set 쿠버네티스_프로바이더=aws ./클러스터/kube-up.sh |
기본적으로 새 VPC와 4노드 Kubernetes 클러스터를 다음 위치에 프로비저닝합니다. US-WEST-2A
(오레곤) t2.micro
인스턴스를 생성합니다. 즉, 5개의 AMI(마스터 노드용 1개, 워커 노드용 4개)가 생성됩니다. 일부
속성을 업데이트할 가치가 있습니다:
- 설정
NUM_MINIONS
환경 변수를 클러스터에 필요한 노드 수에 맞게 설정합니다. 워커 노드를 두 개만 생성하려면 2로 설정합니다. - 각 인스턴스 크기는 1.1.x입니다.
t2.micro
. SetMASTER_SIZE
그리고MINION_SIZE
환경 변수를m3.medium
그렇지 않으면 노드가 크롤링됩니다.
다음에서 Kubernetes를 다운로드한 경우 github.com/kubernetes/kubernetes/releases에서 모든 값을 변경할 수 있습니다. cluster/aws/config-default.sh
. 에서 쿠버네티스 시작
Amazon은 다음 로그를 표시합니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
./쿠버네티스/클러스터/kube-up.sh ... 시작 클러스터 사용 공급자: aws ... 호출 확인-전제 조건 ... 호출 kube-up 시작 클러스터 사용 os 배포: 생생한 업로드 에 Amazon S3 +++ 스테이징 서버 타르 에 S3 스토리지: 쿠버네티스-스테이징-0eaf81fbc51209dd47c13b6d8b424149/개발 { "인스턴스 프로파일": { "인스턴스프로필아이디": "aipajmnmkzsxnwxqbhxhi", "역할": [ { "RoleName": "쿠버네티스-마스터", "가정 역할 정책 문서": { "버전": "2012-10-17", "성명서": [ { "액션": "sts:가정 역할", "효과": "허용", "교장": { "서비스": "ec2.amazonaws.com" } } ] }, "CreateDate": "2016-02-29T23:19:17Z", "경로": "/", "RoleId": "aroajw7er37bpxx5kftfs", "Arn": "arn:aws:iam::598307997273:role/kubernetes-master" } ], "Arn": "arn:aws:iam::598307997273:인스턴스-프로필/쿠버네티스-마스터", "CreateDate": "2016-02-29T23:19:19Z", "경로": "/", "인스턴스 프로파일 이름": "쿠버네티스-마스터" } } { "인스턴스 프로파일": { "인스턴스프로필아이디": "aipailrau7rf4r2sdculg", "경로": "/", "Arn": "arn:aws:iam::598307997273:인스턴스-프로필/쿠버네티스-미니언", "역할": [ { "경로": "/", "가정 역할 정책 문서": { "성명서": [ { "효과": "허용", "액션": "sts:가정 역할", "교장": { "서비스": "ec2.amazonaws.com" } } ], "버전": "2012-10-17" }, "RoleName": "쿠버네티스-미니언", "Arn": "arn:aws:iam::598307997273:role/kubernetes-minion", "RoleId": "AROAIBEPV6VW4IEE6MRHS", "CreateDate": "2016-02-29T23:19:21Z" } ], "인스턴스 프로파일 이름": "쿠버네티스-미니언", "CreateDate": "2016-02-29T23:19:22Z" } } 사용 SSH 키 와 함께 (AWS) 지문: 39:b3:cb:c1:af:6a:86:de:98:95:01:3d:9a:56:bb:8b 만들기 vpc. 추가 태그 에 vpc-7b46ac1f: 이름=쿠버네티스-vpc 추가 태그 에 vpc-7b46ac1f: 쿠버네티스 클러스터=쿠버네티스 사용 VPC vpc-7b46ac1f 만들기 서브넷. 추가 태그 에 서브넷-cc906fa8: 쿠버네티스 클러스터=쿠버네티스 사용 서브넷 서브넷-cc906fa8 만들기 인터넷 게이트웨이. 사용 인터넷 게이트웨이 igw-40055525 연결 경로 테이블. 만들기 경로 테이블 추가 태그 에 rtb-f2dc1596: 쿠버네티스 클러스터=쿠버네티스 연결 경로 테이블 rtb-f2dc1596 에 서브넷 서브넷-cc906fa8 추가 경로 에 경로 테이블 rtb-f2dc1596 사용 경로 표 rtb-f2dc1596 만들기 마스터 보안 그룹. 만들기 보안 그룹 쿠버네티스-마스터-쿠버네티스. 추가 태그 에 sg-308b3357: 쿠버네티스 클러스터=쿠버네티스 만들기 미니언 보안 그룹. 만들기 보안 그룹 쿠버네티스-미니언-쿠버네티스. 추가 태그 에 sg-3b8b335c: 쿠버네티스 클러스터=쿠버네티스 사용 마스터 보안 그룹: 쿠버네티스-마스터-쿠버네티스 sg-308b3357 사용 미니언 보안 그룹: 쿠버네티스-미니언-쿠버네티스 sg-3b8b335c 시작 마스터 추가 태그 에 i-b71a6f70: 이름=쿠버네티스-마스터 추가 태그 에 i-b71a6f70: 역할=쿠버네티스-마스터 추가 태그 에 i-b71a6f70: 쿠버네티스 클러스터=쿠버네티스 대기 중 에 대한 마스터 에 be 준비 시도 1 에 확인 에 대한 마스터 nodeWaiting 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... 대기 중 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... 대기 중 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... 대기 중 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... 대기 중 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... 대기 중 에 대한 인스턴스 i-b71a6f70 에 스폰 수면 에 대한 3 초... [마스터 실행 중 @52.34.244.195] 첨부 지속적 데이터 볼륨 (vol-e072d316) 에 마스터 { "장치": "/dev/sdb", "State": "첨부", "InstanceId": "i-b71a6f70", "VolumeId": "vol-e072d316", "AttachTime": "2016-03-02T18:10:15.985Z" } 시도 1 에 확인 에 대한 SSH 에 마스터 [ssh 에 마스터 작업] 시도 1 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 2 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 3 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 4 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 5 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 6 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 7 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 8 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 9 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 10 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 11 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 12 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 13 에 확인 에 대한 소금-마스터 [소금-마스터 not 작업 아직] 시도 14 에 확인 에 대한 소금-마스터 [소금-마스터 실행 중] 만들기 미니언 구성 만들기 자동 스케일링 그룹 0 미니언 시작; 대기 중 0 미니언 시작; 대기 중 0 미니언 시작; 대기 중 0 미니언 시작; 대기 중 2 미니언 시작; 준비 대기 중 3 분 에 대한 클러스터 에 정착 ..................Re-실행 중 소금 highstate 대기 중 에 대한 클러스터 초기화. 이 will 지속적으로 확인 에 참조 만약 의 API 에 대한 쿠버네티스 는 도달 가능. 이 might loop 영원히 만약 거기 는 일부 잡히지 않음 오류 동안 시작 up. Kubernetes 클러스터 생성. 클러스터 "aws_kubernetes" set. 사용자 "aws_kubernetes" set. 컨텍스트 "aws_kubernetes" set. 전환 에 컨텍스트 "aws_kubernetes". 작성 구성 에 대한 aws_kubernetes 에 /사용자/arungupta/.kube/구성 Sanity 확인 클러스터... 시도 1 에 확인 Docker on 노드 @ 52.37.172.215 ...not 작업 아직 시도 2 에 확인 Docker on 노드 @ 52.37.172.215 ...not 작업 아직 시도 3 에 확인 Docker on 노드 @ 52.37.172.215 ...작업 시도 1 에 확인 Docker on 노드 @ 52.27.90.19 ...작업 Kubernetes 클러스터 는 실행 중. 그리고 마스터 는 실행 중 에서: https://52.34.244.195 그리고 사용자 이름 그리고 비밀번호 에 사용 는 위치 in /사용자/arungupta/.kube/구성. ... 호출 유효성 검사-클러스터 대기 중 에 대한 2 준비 노드. 1 준비 노드, 2 등록된. 재시도. 발견됨 2 노드(s). 이름 라벨 상태 AGE IP-172-20-0-92.us-west-2.compute.internal 쿠버네티스.io/호스트 이름=IP-172-20-0-92.us-west-2.compute.internal 준비 56s IP-172-20-0-93.us-west-2.compute.internal 쿠버네티스.io/호스트 이름=IP-172-20-0-93.us-west-2.compute.internal 준비 35s 유효성 검사 출력: 이름 상태 메시지 오류 컨트롤러-관리자 건강 확인 nil 스케줄러 건강 확인 nil etcd-0 건강 {"health": "true"} nil etcd-1 건강 {"health": "true"} nil 클러스터 유효성 검사 성공 완료, 목록 클러스터 서비스: Kubernetes 마스터 는 실행 중 에서 https://52.34.244.195 Elasticsearch 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging 힙스터 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/heapster Kibana 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/kibana-logging KubeDNS 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/kube-dns KubeUI 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/kube-ui Grafana 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana InfluxDB 는 실행 중 에서 https://52.34.244.195/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb |
Amazon 콘솔 쇼:
그림과 같이 마스터 노드용 인스턴스 1개와 워커 노드용 인스턴스 2개 등 3개의 인스턴스가 생성됩니다. 쿠버네티스 마스터의 사용자 이름과 비밀번호는 다음 위치에 저장됩니다. /사용자/아룽업타/.kube/config
. 와 같은 섹션을 찾습니다:
1 2 3 4 5 6 |
- 이름: aws_kubernetes 사용자: 클라이언트-인증서-데이터: 데이터 클라이언트-키-데이터: 데이터 비밀번호: 3FkxcAURLCWBXc9H 사용자 이름: 관리자 |
아마존의 쿠버네티스 클러스터에서 도커 컨테이너 실행하기
이제 클러스터가 실행 중이므로 모든 노드 목록을 가져옵니다:
1 2 3 4 |
./쿠버네티스/클러스터/kubectl.sh get 아니요 이름 라벨 상태 AGE IP-172-20-0-92.us-west-2.compute.internal 쿠버네티스.io/호스트 이름=IP-172-20-0-92.us-west-2.compute.internal 준비 18m IP-172-20-0-93.us-west-2.compute.internal 쿠버네티스.io/호스트 이름=IP-172-20-0-93.us-west-2.compute.internal 준비 18m |
두 개의 워커 노드가 표시됩니다. 새 Couchbase 파드를 생성합니다:
1 2 |
./쿠버네티스/클러스터/kubectl.sh 실행 카우치베이스 --이미지=arungupta/카우치베이스 복제 컨트롤러 "couchbase" 생성 |
CLI에서 이미지 이름을 지정하는 방법에 주목하세요. 이 명령은 단일 파드가 있는 리플리케이션 컨트롤러를 생성합니다. 이 파드는 아룽업타/카우치베이스 도커 이미지
사전 구성된 Couchbase 서버를 제공합니다. 여기에서 모든 Docker 이미지를 지정할 수 있습니다. 모든 RC 리소스를 가져옵니다:
1 2 3 |
./쿠버네티스/클러스터/kubectl.sh get rc 컨트롤러 컨테이너(S) 이미지(S) 셀렉터 복제 AGE 카우치베이스 카우치베이스 arungupta/카우치베이스 실행=카우치베이스 1 12m |
여기에는 사용자를 위해 생성된 복제 컨트롤러가 표시됩니다. 모든 파드를 가져옵니다:
1 2 3 |
./쿠버네티스/클러스터/kubectl.sh get po 이름 READY 상태 다시 시작 AGE 카우치베이스-kil4y 1/1 실행 중 0 12m |
출력에는 레플리케이션 컨트롤러의 일부로 생성된 파드가 표시된다. 파드에 대한 자세한 내용을 확인한다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
./쿠버네티스/클러스터/kubectl.sh 설명 po 카우치베이스-kil4y 이름: 카우치베이스-kil4y 네임스페이스: 기본값 이미지(s): arungupta/카우치베이스 노드: IP-172-20-0-93.us-west-2.compute.internal/172.20.0.93 시작 시간: 수요일, 02 3월 2016 10:25:47 -0800 레이블: 실행=카우치베이스 상태: 실행 중 이유: 메시지: IP: 10.244.1.4 복제 컨트롤러: 카우치베이스 (1/1 복제본 생성) 컨테이너: 카우치베이스: 컨테이너 ID: 도커://1c33e4f28978a5169a5d166add7c763de59839ed1f12865f4643456efdc0c60e 이미지: arungupta/카우치베이스 이미지 ID: 도커://080e2e96b3fc22964f3dec079713cdf314e15942d6eb135395134d629e965062 QoS 계층: cpu: 버스터블 요청: cpu: 100m 상태: 실행 중 시작됨: 수요일, 02 3월 2016 10:26:18 -0800 준비: True 다시 시작 Count: 0 환경 변수: 조건: 유형 상태 준비 True 볼륨: 기본값-토큰-xuxn5: 유형: 비밀 (a 비밀 그 should 채우기 이 볼륨) 비밀 이름: 기본값-토큰-xuxn5 이벤트: FirstSeen LastSeen Count 에서 서브객체 경로 이유 메시지 ───────── ──────── ───── ──── ───────────── ────── ─────── 13m 13m 1 {스케줄러 } 예약됨 성공적 할당 카우치베이스-kil4y 에 IP-172-20-0-93.us-west-2.compute.internal 13m 13m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 암시적으로 필수 컨테이너 POD 당겨짐 컨테이너 이미지 "gcr.io/google_containers/pause:0.8.0" 이미 현재 on machine 13m 13m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 암시적으로 필수 컨테이너 POD 생성됨 생성됨 와 함께 도커 id 3830f504a7b6 13m 13m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 암시적으로 필수 컨테이너 POD 시작됨 시작됨 와 함께 도커 id 3830f504a7b6 13m 13m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 사양.컨테이너{카우치베이스} 당기기 당기기 이미지 "arungupta/couchbase" 12m 12m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 사양.컨테이너{카우치베이스} 당겨짐 성공적 당겨짐 이미지 "arungupta/couchbase" 12m 12m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 사양.컨테이너{카우치베이스} 생성됨 생성됨 와 함께 도커 id 1c33e4f28978 12m 12m 1 {kubelet IP-172-20-0-93.us-west-2.compute.internal} 사양.컨테이너{카우치베이스} 시작됨 시작됨 와 함께 도커 id 1c33e4f28978 |
쿠버네티스에서 파드를 서비스로 노출하기
이제 파드가 실행 중인데, Couchbase 서버에 어떻게 액세스하나요? 쿠버네티스 클러스터 외부에 노출시켜야 합니다. 쿠버네티스 클러스터의 kubectl 노출
명령은 파드, 서비스 또는 복제 컨트롤러를 가져와서 쿠버네티스 서비스로 노출합니다. 그럼
이전에 생성한 복제 컨트롤러를 노출하고 노출합니다:
1 2 |
./쿠버네티스/클러스터/kubectl.sh 노출 rc 카우치베이스 --대상-포트=8091 --포트=8091 --유형=로드밸런서 서비스 "couchbase" 노출 |
서비스에 대해 자세히 알아보세요:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
./쿠버네티스/클러스터/kubectl.sh 설명 svc 카우치베이스 이름: 카우치베이스 네임스페이스: 기본값 레이블: 실행=카우치베이스 선택기: 실행=카우치베이스 유형: 로드밸런서 IP: 10.0.158.93 로드밸런서 인그레스: a44d3f016e0a411e5888f0206c9933da-1869988881.us-west-2.elb.amazonaws.com 포트: 8091/TCP NodePort: 32415/TCP 엔드포인트: 10.244.1.4:8091 세션 선호도: 없음 이벤트: FirstSeen LastSeen Count 에서 서브객체 경로 이유 메시지 ───────── ──────── ───── ──── ───────────── ────── ─────── 7s 7s 1 {서비스-컨트롤러 } 로드밸런서 생성 만들기 load 밸런서 5s 5s 1 {서비스-컨트롤러 } 생성된 로드 밸런서 생성됨 load 밸런서 |
그리고 로드밸런서
속성은 이제 공개적으로 액세스할 수 있는 로드 밸런서의 주소를 제공합니다. 로드 밸런서가 안정화될 때까지 3분 정도 기다립니다. 포트 8091과 로그인 페이지를 사용하여 액세스합니다.
Couchbase 웹 콘솔이 표시됩니다:
웹 콘솔을 보려면 '관리자' 및 '비밀번호'로 자격 증명을 입력합니다:
그래서 방금 쿠버네티스 클러스터 외부에서 파드에 액세스했습니다.
쿠버네티스 클러스터 종료
마지막으로 다음을 사용하여 클러스터를 종료합니다. cluster/kube-down.sh
스크립트.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
./쿠버네티스/클러스터/kube-down.sh 가져오기 down 클러스터 사용 공급자: aws 삭제 ELB in: vpc-7b46ac1f 대기 중 에 대한 ELB 에 be 삭제됨 모두 ELB 삭제됨 삭제 자동-스케일링 그룹: 쿠버네티스-미니언-그룹 삭제 자동-스케일링 출시 구성: 쿠버네티스-미니언-그룹 삭제 인스턴스 in VPC: vpc-7b46ac1f 대기 중 에 대한 인스턴스 에 be 삭제됨 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-45077282 i-44077283 i-b71a6f70 수면 에 대한 3 초... 인스턴스 not 아직 삭제됨: i-44077283 i-b71a6f70 수면 에 대한 3 초... 모두 인스턴스 삭제됨 삭제 VPC: vpc-7b46ac1f 청소 up 보안 그룹: sg-308b3357 청소 up 보안 그룹: sg-3b8b335c 청소 up 보안 그룹: sg-e3813984 삭제 보안 그룹: sg-308b3357 삭제 보안 그룹: sg-3b8b335c 삭제 보안 그룹: sg-e3813984 완료 |
완전한 정리를 위해서는 Kubernetes 바이너리가 저장된 S3 버킷을 명시적으로 삭제해야 합니다.
즐기세요!