Browsing Tag

자격증

IT/Linux/Kubernetes

[K8S] Study the Kubernetes command in preparation for the CKA

안녕하세요. ManVSCloud 김수현입니다.

요즘 CKA 자격증 준비로 꾸준히 Kubernetes 공부를 하고 있습니다.
CKA 시험은 아무래도 실습 시험이다보니 꾸준히 실습 환경에서 다양한 연습을 필요로 합니다.

오늘은 제가 요즘 공부하고 있는 Kubernetes의 명령어들과 CKA 공부법 및 링크(Docs) 모음을 공유하고자 합니다.


Kubectl 명령어

kubernetes에서 클러스터에 명령을 내리기 위해서는 우선적으로 kubectl 명령어가 익숙해져야합니다. 자주 사용되는 kubectl 명령어에 대해 간단히 알아보도록 하겠습니다.

그런데… 명령어가 아~~~주 많습니다. create 명령어를 공부하기 위해 docs에 들어가서 create페이지를 들어가면 아래 명령어처럼 별거 아닌듯이 나와있지만 스크롤을 아무리 내려도 create가 끝나지 않을 것입니다.

$ kubectl create -f FILENAME

좌측 카테고리를 다시 한 번 봤는데 숨겨진 리스트들이 나오더군요…

처음부터 다~ 외우지 않아도 됩니다.
자주 사용하다보면 자주 사용하는 것들은 손이 익히게 되는 것이니까요?

CKA 시험도 kubernetes.io docs를 볼 수 있게 해주기 때문에 명령어를 한번씩 사용해보고 특정 상황에 맞게 필요한 명령어를 찾아서 사용할 수만 있다면 크게 문제 없을 것이라 생각됩니다.

The most basic commands for importing workloads 📢
  • create
  • get
  • run
  • expose
  • delete
APP MANAGEMENT 🔨
  • apply
  • annotate
  • autoscale
  • debug
  • diff
  • edit
  • kustomize
  • label
  • patch
  • replace
  • rollout
  • scale
  • set
  • wait
WORKING WITH APPS 🚢
  • attach
  • auth
  • cp
  • describe
  • exec
  • logs
  • port-forward
  • proxy
  • top
CLUSTER MANAGEMENT 💻
  • api-versions
  • certificate
  • cluster-info
  • cordon
  • drain
  • taint
  • uncordon
KUBECTL SETTINGS AND USAGE 🔎
  • alpha
  • api-resources
  • completion
  • config
  • explain
  • options
  • plugin
  • version

CKA(Certified Kubernetes Administrator)를 제대로 준비하자!

우선 CKA를 준비하는 지금 docs에서 yaml 파일을 구해서 쓴다기보다 명령어를 이용하여 yaml 파일을 생성하는 연습을 하고 있습니다. 예를 들어봅시다.

네임스페이스는 manvscloud이고 레이블은 name=kim을 사용해야하는 1.12버전의 nginx를 생성조건에 맞게 명령어를 써본다면 아래와 같이 쓸 수 있습니다.

root@cka-k8s-master:/home/k8s# kubectl run nginx --image=nginx:1.12 --labels=name=kim --namespace=manvscloud --dry-run=client -o yaml > nginx.yaml

생성된 yaml 파일을 보면 아래와 같이 생성되어 있습니다.

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    name: kim
  name: nginx
  namespace: manvscloud
spec:
  containers:
  - image: nginx:1.12
    name: nginx
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

명령어로 yaml 생성에 익숙해진다면 yaml 파일을 생성하지 않고 옵션에 맞게 pod를 생성하는 것도 해봅니다.

root@cka-k8s-master:/home/k8s# kubectl run nginx --image=nginx:1.12 --labels=name=kim --namespace=manvscloud --dry-run=client -o yaml | kubectl create -n manvscloud -f -

이런 방법으로 연습을 해주면 명령어 옵션도 빠르게 익힐 수 있고 이후 yaml에 익숙하지 않더라도 어떠한 옵션을 넣어야하는데 어디에 넣어야할지 모를 때 명령어로 원하는 옵션을 주고 yaml 파일로 뽑아서 확인도 해볼 수 있을 것같습니다.


또 다른 주제로 Multi-container pod 환경에서 확인 방법에 대해서도 적응했습니다.
우선 예시로 Multi-container pod 하나를 생성하겠습니다.

vi multicon.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: multi-con
  name: multi-con
spec:
  containers:
  - image: nginx
    name: nginx-con
  - image: redis
    name: redis-con
  - image: mongo
    name: mongo-con
  restartPolicy: Always

하나의 pod 내에 3개의 컨테이너 이미지가 존재하는 것입니다.

root@cka-k8s-master:/home/k8s# kubectl get pod --show-labels
NAME        READY   STATUS    RESTARTS   AGE   LABELS
multi-con   3/3     Running   0          17m   run=multi-con

아래 명령어들로 컨테이너 이미지 목록을 볼 수 있습니다.

root@cka-k8s-master:/home/k8s# kubectl describe pod | grep Image
    Image:          nginx
    Image ID:       docker-pullable://nginx@sha256:353c20f74d9b6aee359f30e8e4f69c3d7eaea2f610681c4a95849a2fd7c497f9
    Image:          redis
    Image ID:       docker-pullable://redis@sha256:b6a9fc3535388a6fc04f3bdb83fb4d9d0b4ffd85e7609a6ff2f0f731427823e3
    Image:          mongo
    Image ID:       docker-pullable://mongo@sha256:fe44eb6a2ea2bb1548718ec05eb9cb165f1bded37595ebea507bddc413ab99ae

// 레이블이 run=multi-con으로 필터링된 컨테이너 이미지 목록
root@cka-k8s-master:/home/k8s# kubectl get pods --all-namespaces -o=jsonpath="{.items[*].spec.containers[*].image}" -l run=multi-con
nginx redis mongo

그렇다면 하나의 pod안에 다수의 컨테이너가 있다면 어떻게 다를까요?
-c 옵션으로 pod 내에 컨테이너를 지정하여 명령어를 사용하거나 해당 컨테이너로 접속이 가능합니다.

// nginx-con 컨테이너 내에 nginx.conf 파일 여부 확인
root@cka-k8s-master:/home/k8s# kubectl exec multi-con -c nginx-con -- ls -l /etc/nginx/nginx.conf
-rw-r--r-- 1 root root 648 Jul  6 15:11 /etc/nginx/nginx.conf

//mongo-con 컨테이너 접속
root@cka-k8s-master:/home/k8s# kubectl exec -it multi-con -c mongo-con -- /bin/bash
root@multi-con:/#

생각보다 간단하지만 이런 케이스를 경험해보지 않는다면 당황할 수 있으니 어떠한 케이스라도 한번씩 다 해보는 게 중요하다고 봅니다.
(이해하지 못하고 무작정 외우는 건 제가 선호하는 타입이 아니라서…)


마지막으로 하나를 더 알아보겠습니다.

이번에는 마스터의 kubectl, kubelet, kubeadm의 버전을 업그레이드 할 것입니다.
단, 작업 전 예약 불가능으로 설정할 것이며 작업 후 예약 가능하도록 설정해줄 것입니다.
또한 업그레이드 하기 전 유지 관리를 위해 마스터를 drain 해줄 것입니다.

작업 전 master에서 kubernetes 패키지를 확인해보니 현재 kubectl, kubelet, kubeadm 버전은 1.21.1이네요. 해당 버전을 1.21.2로 업그레이드 하겠습니다.

[root@manvscloud-k8s-m ~ (kube:default)]# dpkg -l | grep kube
hi  kubeadm                              1.21.1-00                         amd64        Kubernetes Cluster Bootstrapping Tool
hi  kubectl                              1.21.1-00                         amd64        Kubernetes Command Line Tool
hi  kubelet                              1.21.1-00                         amd64        Kubernetes Node Agent
ii  kubernetes-cni                       0.8.7-00                          amd64        Kubernetes CNI

업그레이드 전 조건이 있으니 우리는 kubectl 명령어 중 cordon, uncordon, drain 을 사용하게 됩니다.

// 아래와 같이 명령어를 사용해주면 해당 노드는 스케줄이 불가능하게 표시됩니다.
[root@manvscloud-k8s-m ~ (kube:default)]# kubectl cordon manvscloud-k8s-m
node/manvscloud-k8s-m cordoned

// 이제 drain을 해주는데 이는 유지 관리를 위해 지정된 노드에 있는 pod들을 다른곳으로 이동시키는 명령어입니다. 자세한 옵션은 kubectl docs를 참고해주세요.
[root@manvscloud-k8s-m ~ (kube:default)]# kubectl drain manvscloud-k8s-m --delete-local-data --ignore-daemonsets --force
Flag --delete-local-data has been deprecated, This option is deprecated and will be deleted. Use --delete-emptydir-data.
node/manvscloud-k8s-m already cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-xqbt6, kube-system/kube-proxy-jqvxn
evicting pod kube-system/coredns-558bd4d5db-gv4dn
evicting pod kube-system/calico-kube-controllers-78d6f96c7b-5nnlh
evicting pod kube-system/coredns-558bd4d5db-62njr
pod/calico-kube-controllers-78d6f96c7b-5nnlh evicted
pod/coredns-558bd4d5db-gv4dn evicted
pod/coredns-558bd4d5db-62njr evicted
node/manvscloud-k8s-m evicted

// 이제 1.21.2 버전을 설치해줍시다.
[root@manvscloud-k8s-m ~ (kube:default)]# apt-get install kubeadm=1.21.2-00 kubelet=1.21.2-00 kubectl=1.21.2-00

--- 설치 내용 생략 ---

// 이후 daemon-reload와 kubelet을 재시작 해줍니다.
[root@manvscloud-k8s-m ~ (kube:default)]# systemctl daemon-reload
[root@manvscloud-k8s-m ~ (kube:default)]# systemctl restart kubelet

kubectl, kubelet, kubeadm의 버전이 1.21.2 버전으로 설치되었습니다.

[root@manvscloud-k8s-m ~ (kube:default)]# dpkg -l | grep kube
ii  kubeadm                              1.21.2-00                         amd64        Kubernetes Cluster Bootstrapping Tool
ii  kubectl                              1.21.2-00                         amd64        Kubernetes Command Line Tool
ii  kubelet                              1.21.2-00                         amd64        Kubernetes Node Agent
ii  kubernetes-cni                       0.8.7-00                          amd64        Kubernetes CNI

이제 마스터 노드가 정상적으로 스케줄 예약이 가능하도록 uncordon 해줍니다.

[root@manvscloud-k8s-m ~ (kube:default)]# kubectl uncordon manvscloud-k8s-m
node/manvscloud-k8s-m uncordoned

kubectl get nodes로 마스터 노드 버전을 보시면 마스터 노드의 버전이 1.21.2로 올라 가있는 것을 보실 수 있습니다.

[root@manvscloud-k8s-m ~ (kube:default)]# kubectl get nodes
NAME                STATUS   ROLES                  AGE   VERSION
manvscloud-k8s-m    Ready    control-plane,master   23d   v1.21.2
manvscloud-k8s-w1   Ready    <none>                 23d   v1.21.1
manvscloud-k8s-w2   Ready    <none>                 23d   v1.21.1
manvscloud-k8s-w3   Ready    <none>                 23d   v1.21.1

CKA(Certified Kubernetes Administrator) 공부 시 참고한 링크 모음


Personal Comments

지금까지 CKA 시험에 대비한 kubectl 명령어에 대해 간단하게 알아보았습니다.
다음 포스팅은 etcdctl 명령어로 CKA 공부를 이어서 진행해보도록 하겠습니다.

긴 글 읽어주셔서 감사합니다.

IT/Linux/Kubernetes

[K8S] CKA(Certified Kubernetes Administrator) Study 참고 링크 모음

안녕하세요. ManVSCloud 김수현입니다.

해당 포스팅은 CKA(Certified Kubernetes Administrator)를 공부하며 참고했던 링크들의 모아둔 글입니다.

이 포스팅은 CKA 시험 합격 포스팅이 올라오기 전까지 주기적으로 업데이트 됩니다.


※ A collection of links that have been referenced

🎹 kubectl Commands Reference Docs


Personal Comments

이 포스팅은 주기적으로 업데이트되니 확인하실 때마다 링크가 추가될 수 있습니다.

읽어주셔서 감사합니다.

Certificate

NAVER Cloud Platform Certified Professional (NCP) 합격과 시험 후기

안녕하세요. ManVSCloud 김수현입니다.

드디어 Naver Cloud Platform Professional 시험에 합격하였습니다.
2020.06.30 NAVER Cloud Platform Certified Associate 응시 이후
Professional 은 약 10개월만에 시험을 보게되었습니다.

Naver Cloud Professional 시험은 총 3번의 시험을 합격해야 Professional 자격을 얻게됩니다.

200 – NCP(Overview, Compute/Storage) – 2021.05.11 (화)
207 – NCP(Troubleshooting) – 2021.04.15 (목)
202 – NCP(Network/Media, Database/Management/Analytics) – 2021.04.13 (화)

위 3개의 시험을 나누어 보게되었고 아래 자격증을 얻게되었습니다.

◈ NAVER Cloud Platform Certified Professional (NCP)
Issue Date : 2021-05-12


시험 TIP

간단하게 Naver Cloud Platform Professional 시험의 Tip을 적어볼까합니다.

우선 Professional 시험부터는 필기 시험뿐만이 아니라 실기 시험도 존재합니다.
어느정도 사용 경험이 있지 않으면 합격할 수 없으니 실습도 병행하여 준비하셔야겠습니다.
(각 시험별 필기 문제는 약 40문제이며, 실기 문제는 3문제입니다.)

우선 공통적으로 아래 두 사이트를 참고하실 필요가 있는데 설명서의 경우
Overview, Compute/Storage(200)와 Network/Media, Database/Management/Analytics(202) 시험에 필수적으로 과목별 내용을 정독 후 시험 보시는 것을 권장드립니다.

아래 edwith 사이트에서 “Authorized Course – Professional level” 영상 강의를 참고하실 수도 있는데 Troubleshooting(207) 과정을 준비하실 때에 필수적으로 봐주시면 좋을듯합니다.

물론 기존에 현장에서 엔지니어로 일하고 계실 경우Troubleshooting 과목이 가장 쉬운 난이도로 느껴지실 수 있을 것입니다.

개인적으로 느낀 시험 난이도는 아래와 같습니다.

필기 : 200 > 202 > 207
실기 : 200 = 207 > 202

전반적으로 실기 시험의 난이도는 높지 않습니다.
다만 202 시험은 당황하면 자칫 한 문제를 놓칠 수도 있겠구나 싶었습니다.
그리고 200 시험의 경우 서버 생성이 필요하여 서버 생성 시간이 약 20분 정도 소요되는데 여기서부터 이슈가 생깁니다. 나머지 두 문제는 첫번째 문제를 해결해야 풀 수 있으므로 첫 번째에서 막히면 사실상 탈락이라 보아도 될 것같습니다. 필기+실기의 총 시간이 1시간인데 필기에서 많은 시간을 소요하여 실기를 못보는 경우가 생기지 않도록 필기를 잘 준비해야 할 것입니다.

또한 필기를 적절히 풀었는데 서버 생성 시간이 다소 오래 걸려 이에 대해 시험관에게 말할 경우 추가적인 시간을 준다고도 하니 참고하여 당황하지 않길 바랍니다.

실습의 경우 비용이 부담되신다면 위 네이버 클라우드에서 진행하는 교육에 참가해보시기 바랍니다.

네이버 클라우드에서 진행하는 교육을 참가하실 경우 교육 당일부터 그 주의 일요일까지 실습 계정을 사용할 수 있어 교육 후에도 시험을 대비한 실습 테스트가 충분히 가능합니다.

또한 기본적인 실습 감각을 익히기 위해서 “NAVER CLOUD PLATFORM Hands-on Lab” 교육을 신청하시는 것을 추천드립니다. 실습에 대한 경험이 없는 분들이 시작하기 좋은 교육이며 Hands-on Lab의 경우 매달 1,2차로 나누어 자주 하는 교육인만큼 접근성에 있어 상당히 좋은 교육이라 생각됩니다.

실기 준비는 Compute/Storage/Database/Networking/Media/Analytics 카테고리에 있는 제품들을 위주로 실습해보시기 바라며 핵심적인 팁으로는 시험 시간이 필기+실기 합쳐서 1시간으로 정해져있어 한 문제당 시간 소요가 상당히 소모되는 제품은 나오지 않는 것같습니다?
(실습은 VPC 환경에 익숙해지도록 해보시면 좋을듯합니다.)

후기

목표했던 Naver Cloud Platform Professional 자격증을 드디어 얻게되었습니다.
Naver Cloud 시험의 경우 올해 후반기에 출시 예정인 Expert 시험까지 생각중에 있습니다.

코로나로 어디 나가지도 못하고 제한되다보니 가끔 공부에 대한 의지가 꺽일 때가 많습니다.
“나는 원래 카공족이고 집에서는 원래 공부가 안되는데…”라고 하면서.

하지만 한창 공부와 거리가 먼 때에는 코로나가 아니었음에도 불구하고 그럴싸한 이유를 만들어서 하지 않았던 걸로 기억합니다.
만약 지금도 하지 않는다면 앞으로도 어떻게든 이유를 만들어서 안하겠구나.. 생각했습니다. 또, 그런 핑계를 만들어서 하지 않을 사람도 있겠다라는 생각도 듭니다.
이런 때에 열심히 한다면 그것 또한 기회라고 생각합니다.
현재 자신이 처한 상황을 핑계로 아무것도 하지 않는 것보다 기회로 생각하고 나아간다면 이 상황이 끝났을 때 보다 나은 자리에 있으리라 믿습니다.

올해 목표해둔 자격증까지 총 4가지 정도가 남은듯합니다.
남은 자격증도 열심히 준비해서 합격 후 후기로 포스팅해보겠습니다.

긴 글 읽어주셔서 감사합니다.

NCP

[NCP] NAVER Cloud Platform Certified Professional 도전

안녕하세요. ManVSCloud 김수현입니다.

오랜만에 포스팅을 하게되는 것같습니다.
올해도 2020년도와 같이 바쁜 4월을 보내고 있어 벌써부터 연말이 기대됩니다.

요즘엔 NCP의 Associate의 다음 단계인 Professional Level의 시험을 진행하고 있습니다.


NAVER Cloud Platform Certified Professional

Professional 시험은 Associate의 시험과 다르게 3번의 시험을 치르게 됩니다.
각 과목별 5만원의 비용이 발생하며 과목의 종류는 아래와 같이 나뉩니다.

또한 기존 NCA 시험과 차이가 있다면 Pro 시험부터는 실기 시험이 포함된다는 점입니다!
이론 뿐만이 아니라 충분한 실습 경험이 있어야 쉽게 시험에 합격하실 수 있을 것입니다.

  • Overview
    Compute/Storage
  • Network/Media
    Database/Management/Analytics
  • Troubleshooting

현재 3개의 시험 중 2개의 과목은 합격하였으며 Overview/Compute/Storage 시험만 남겨두고 있습니다.

처음 본 시험은 Network/Media/Database/Management/Analytics 시험이었는데
무난히 필기를 보고 실기에서 조금 당황하여 시간 내에 겨우 마무리 하게 되었습니다.
하지만 두번째 시험은 Troubleshooing 시험은 대체로 실무자 입장에서는 난이도가 낮은 편이라 편한 시험이었습니다. 확실히 Troubleshooting 시험을 합격하기 위해서는 어느정도 실무경험이 없는 상태에서 시험을 보게 된다면 문제를 보자마자 조금 당황할 수 있겠구나라는 생각이 들었습니다. 말 그대로 Troubleshooing 시험이었습니다.

각 시험마다 실기 시험이 있다보니 평소에 실습을 많이 해보는 것이 필요합니다.

네이버 클라우드에서는 교육 및 행사 일정을 보게되면 꽤 많은 교육이 무료로 이루어지고 있습니다. NAVER CLOUD PLATFORM Hands-on Lab부터 차근 차근 실습이 이루어지는 교육을 들어보시고 기본적인 생성과 각 서비스의 사용법을 터득하셨다면 Professional에 도전해보셔도 될 것같습니다.


Helpful Sites


앞으로의 시험 일정

5월 11일에 NAVER Cloud Platform Certified Professional 마지막 시험이 진행될 것같습니다.

이후 6월에 일정상 미뤄왔던 AWS Solutions Architect Professtional을 마무리 지을 생각이며
7~8월에 Certified Kubernetes Administrator 시험을 계획하고 있습니다.

학점이 필요해 국내 시험도 같이 준비할까하여 최근에 네트워크 관리사 2급도 알아보았습니다. 올해 2월 시험을 한 번 풀어봤는데 따로 준비 없이 합격이 되어 5월 30일에 있는 시험을 보러다녀올 생각입니다.

올해말까지 AWS Advanced Networking과 Security까지 생각중이며
내년부터는 개발쪽을 추가적으로 공부해볼 예정입니다.

NAVER Cloud Platform Certified Professional 자격증과 이후 추가적인 포스팅으로 찾아뵙겠습니다.

긴 글 읽어주셔서 감사합니다.

Certificate

CKA (Certified Kubernetes Administrator) 시험 도전

안녕하세요? ManVSCloud (김수현)입니다.
다음 자격증 시험 준비는 CKA(Certified Kubernetes Administrator)로 정했습니다.

CKA (Certified Kubernetes Administrator) 시험이 올해 9월 1일 새로 개편되어 나온다는
소식을 듣고 새로 바뀐 시험에 도전해보기로 했습니다.

시험에 대한 자세한 내용은 다음과 같습니다.

CKA (Certified Kubernetes Administrator)

CKA 2020 : 2020 년 9 월 1 일 00:00 UTC에 사용 가능
시험 기간 : 2 시간
소프트웨어 버전 : Kubernetes v1.19

◈  클러스터 아키텍처, 설치 및 구성 – 25 %

☞ 역할 기반 액세스 제어(RBAC) 관리
☞ Kubeadm을 사용하여 기본 클러스터 설치
☞ 고 가용성 Kubernetes 클러스터 관리
☞ Kubernetes 클러스터를 배포하기위한 기본 인프라 프로비저닝
☞ Kubeadm을 사용하여 Kubernetes 클러스터에서 버전 업그레이드 수행
☞ etcd 백업 및 복원 구현

◈ 서비스 및 네트워킹 – 20 %

☞ 클러스터 노드의 호스트 네트워킹 구성 이해
☞ 포드 간의 연결 이해
☞ Cluster IP, NodePort, LoadBalancer 서비스 유형 및 엔드 포인트 이해
☞ 수신(Ingress) 컨트롤러 및 수신(Ingress) 리소스 사용 방법 파악
☞ CoreDNS 구성 및 사용 방법 이해
☞ 적절한 컨테이너 네트워크 인터페이스 플러그인 선택 


◈ 문제 해결 – 30 %

☞ 클러스터 및 노드 로깅 평가
☞ 응용 프로그램 모니터링 방법 이해
☞ 컨테이너 stdout 및 stderr 로그 관리
☞ 응용 프로그램 오류 문제 해결
☞ 클러스터 구성 요소 오류 문제 해결
☞ 네트워킹 문제 해결 


◈ 워크로드 및 일정 – 15 %

☞ 배포 및 롤링 업데이트 및 롤백 수행 방법 이해
☞ ConfigMaps 및 Secrets를 사용하여 애플리케이션 구성
☞ 애플리케이션 확장 방법 파악
☞ 강력한 자가 복구 애플리케이션 구현에 사용되는 기본 요소 이해
☞ 리소스 제한이 포드 스케줄링에 미치는 영향 이해
☞ 매니페스트 관리 및 일반적인 템플릿 도구에 대한 인식

◈ 저장 – 10 %

☞ 스토리지 클래스, 영구 볼륨 이해
☞ 볼륨 모드, 액세스 모드 및 볼륨 회수 정책 이해
☞ 영구 볼륨 클레임 기본 이해
☞ 영구 스토리지로 애플리케이션 구성 방법 이해

시험 준비 기간은 9~10월 정도로 예정 중이며,
튜토리얼을 참고하여 차근차근 하나씩 실습해볼 예정입니다.

▶ https://kubernetes.io/ko/docs/tutorials/

CKA (Certified Kubernetes Administrator) 시험은 실기 시험이라 매우 흥미를 느끼고 있습니다.
저 같은 경우 이론 시험이라도 실습을 해보지 않으면 이해하는 데에 어려움을 겪는 편이라
이번 쿠버네티스 시험은 상당히 재밌을 것 같고 기대가 됩니다.

9월 1일부터 공부를 시작할 예정이며,
CKA (Certified Kubernetes Administrator) 시험도 합격 후 개편 시험 후기로 찾아뵙도록 하겠습니다.

읽어주셔서 감사합니다.

AWS

AWS Database – Specialty(DBS-C01) 합격 후기

안녕하세요? ManVSCloud (김수현)입니다.

2020-08-23 15:00 DBS-C01 시험을 보고 왔습니다.
AWS DBS-C01 첫 번째 후기가 되어 영광입니다.

시험 준비는 7월 28일부터 시작했습니다.
첫 주는 FAQ 정독을 하는 시간을 가졌는데 제가 FAQ 정독 시간을 가진 것은
이번 시험에 아주 큰 도움이 되었습니다.

FAQ는 DBS 시험에 필요한 기본적인 부분을 다 채워줍니다. 
물론 FAQ가 시험의 전부는 아니지만, FAQ를 한 번 정도 읽고 시험을 본다면 
시험의 난이도가 상당히 내려갈 것입니다.

▶ AWS DataBase
https://aws.amazon.com/ko/products/databases/

AWS Database – Specialty(DBS-C01)에서 가장 중요한 포인트였다고 생각되는
DMS FAQ도 링크로 아래에 남깁니다.
다른 건 몰라도 DMS는 꼭 짚고 넘어가시길 바랍니다.

▶ AWS DMS FAQ
https://aws.amazon.com/ko/dms/faqs/

DBS는 AWS의 데이터베이스 스페셜 자격증인데 뭐랄까… 
데이터베이스 아키텍처 자격증이라고 하는 것이 조금 더 알맞을 것 같습니다. 
Solutions Architect Associate(SAA)를 이미 경험하였다면 시험을 도전하시는 데
조금 더 쉽게 다가갈 수 있을 것입니다.


도메인별 시험 비중은 다음과 같습니다.

**도메인 1: 워크로드별 데이터베이스 설계**
1.1 특정 유형의 데이터 및 워크로드에 알맞은 데이터베이스 서비스 선택
1.2 재해 복구 및 고가용성을 위한 전략 결정
1.3 성능, 규정 준수 및 확장성을 목표로 데이터베이스 솔루션 설계
1.4 데이터베이스 솔루션의 비용 비교

**도메인 2: 배포 및 마이그레이션**
2.1 데이터베이스 솔루션 배포 자동화
2.2 데이터 준비 및 마이그레이션 전략 결정
2.3 데이터 마이그레이션 실행 및 검증

**도메인 3: 관리 및 운영**
3.1 유지 관리 작업 및 프로세스 결정
3.2 백업 및 복원 전략 결정
3.3 데이터베이스 솔루션의 운영 환경 관리

**도메인 4: 모니터링 및 문제 해결**
4.1 모니터링 및 경고 전략 결정
4.2 일반적인 데이터베이스 문제 해결
4.3 데이터베이스 성능 최적화

**도메인 5: 데이터베이스 보안**
5.1 보관 및 전송 중 데이터 암호화
5.2 감사 솔루션 평가
5.3 액세스 제어 및 인증 메커니즘 결정
5.4 데이터베이스 솔루션의 잠재적인 보안 취약성 인식


위 도메인에 해당되는 [사례 연구]들을 참고하면 작은 도움이 될 수 있습니다.

[사례 연구]는 시나리오별 트러블 슈팅 및 아키텍처에 잘 다루고 있기때문에 
전부 다 보는 것까지는 아니라도 심심할 때 봐두면 생각보다 도움이 될 것입니다.

샘플 문제와 연습 시험 후 1. 문제 패턴 파악, 2. DBS가 요구하는 것 파악, 3. 오답 노트 
시험을 준비할 때 큰 도움이 됩니다.

FAQ를 정독하여도 시험 문제에 대한 패턴과 요구하는 것을 알지 못하면 당황할 수 있습니다.

샘플 문제와 연습 시험을 본 뒤 “아 대충 기능별로 이런 것들을 묻겠구나” 정도는
알고 가시는 것이 좋습니다. 


저같은 경우 이번 시험 준비를 하면서 시험 준비 기간이 너무 길었다라고 느껴졌습니다.
솔찍히 시험 날짜를 조금 더 앞당겨 보고싶었습니다.
약 3~4주씩이나 준비할만큼 난이도가 높은 시험은 아니었습니다.

결론 : AWS Database – Specialty(DBS-C01) 시험은 아키텍처에 대한 기본적인 개념 + FAQ 1회 
정독이면 DBS 시험은 큰 문제없이 합격할 수 있을 것으로 생각됩니다.
(샘플 문제 + 연습 시험 후 1. 문제 패턴 파악, 2. DBS가 요구하는 것 파악, 3. 오답 노트는 필수)


이상 지금까지 AWS Database – Specialty(DBS-C01) 최초 시험 후기였습니다.

감사합니다.

마지막으로 저 스스로 시험을 볼 수 있도록 능력을 끌어올려주신 리눅서님께 감사의 인사올립니다.

linuxer.name