패스트캠퍼스 챌린지 08일차

AWS CLI도구 설치 및 사용

  • AWS CLI 소개  - AWS CLI 소개 및 설치
  • AWS 엑세스 키 발급 - AWS계정에 접속하여 엑세스 키 발급
  • AWS CLI 설정 - 발급받은 엑세스 키를 통해 AWS CLI를 설정하는 방법을 알아 볼 것
  • AWS CLI 사용방법 - 간단한 사용 방법을 알아 볼 것
 원래라면 본 강의가 MacOS기반이기 떄문에 바로 Ubuntu로 넘어가야겠지만 AWS CLI에 대한 설명이 대부분 여기에 되어 있기 때문에 본 강의에 집중하도록 한다. 그리고 오늘 내가 내시경을 받고 와서 엄청 힘들다. 

 

 

AWS CLI 소개
  • AWS서비를 관리하기 위한 명령어 도구
  • 2013.09 버전 1 출시, 2020.02 버전 2 출시(v.2에서는 AWS SSO를 통한 인증방식을 채택)
  • 파이썬 기반으로 작성되어 Boto패키지를 이용( - AWS API와 통신)
  • CLI v.2는 Python3.6과의 의존성 있음.
  • 콘솔상에서 AWS서비스를 관리하거나 자동화 스크립트를 활용하는데 도움이 됨. 
AWS CLI 설치(Ubuntu)

추후(내일) 설치 해 봄. 

AWS 엑세스 키 발급(In ACCESS 키 발급)

AWS CLI로 본인 계정의 AWS 서비스를 관리하기 위해서는 자격증명을 진행해야 함! 이떄 진행해야 하는 자격증명이 AWS Access key이며 Access Key의 종류가 다음과 같음. 

- Access Key ID: 자격증명 주체를 가리킴: 인증 요청한 사람이 누구인가? 
- Secret Access ID: 자격증명 주체 본인임을 인증: 인증 요청한 사람이 정말 A가 맞는가?

(예. Access Key ID(ID): 인증을 A가 하였음. Secret Access ID(PW): 정말 A가 하였다니까)

1. AWS로그인 > ID클릭> 내 보안 자격증명

2. ACCCSS키 > 새 액세스키 만들기

3. 키 파일 다운로드


AWS CLI 설정 자격증명 설정방법(우선순위 있음)

- 여러가지 설정하는 방법이 있으나 번호가 높아 질 수록 우선순위 있음. - 

1. CLI 설정 파일을 통한 설정

~/.aws/config 설정: 기본 설정과 추가 사용자 프로파일을 지정(대부분 이렇게 설정)

2. CLI 명령어를 통한 설정: 선호하지 않음

3. EC2인스턴스 프로파일 설정

 인스턴스 프로파일은  EC2머신이 IAM역할을 부여하기 위해 사용, (예. EC2머신위에 어플리케이션이 올라가는데 해당 어플리케이션이 S3버킷에 파일을 업로드하고자 함. EC2머신에 인스턴스 프로파일을 통해 S3버킷 권한이 있는 IAM권한을 부여하게 되면 이러한 일을 수행할 수 있게 됨 

CLI 설정 파일을 통한 설정(실습 in mac) - 우분투는 내일 설정

본인은 MAC이 없기 떄문에 그냥 강의 하는 도중 스크린샷을 떠왔다. 양해 바란다. 이렇게 에디터로 아까 AWS에서 만든 파일을 열어서 Access랑  Secret키를 추가하면 되는 듯 하다. 

TEST

 

내 계정 id랑 동일해야 함. (aws sts get-caller-identify)


- AWS CLI 기본 리전 설정

 위의 첫번째 명령어에서는 region을 설정하지 않아서 오류가 나므로 두번째에서 리전을 설정하는 것임. 그러나 이렇게 하면 CLI에 접속할 때마다 region을 설정해 줘야 하는 번거로움이 있으므로 기본 리전을 설정해 주면 편리함. 

config파일에 region을 설정함. 


- AWS결과 출력 형태 방식 

- 기본은 JSON이나 yaml, yable, text모두 지원

- 출력방식 변경방법[output = ""]

- 일시적으로 출력방식 변경하는 방법 --output ""


- AWS CLI 사용자 프로파일 설정

config파일에 [profile name] 섹션을 추가하여 여러 사용자 프로파일 등록 가능

- 여러 AWS 사용명 등록 및 관리 하는 법

  • 하나의 기업이 여러 AWS계정을 운영해서 여러 사용자 Profile이 있어서 그 Profile들을 등록해야 할 경우가 있음.
  • 하나의 계정에서 여러 리전을 운영해서 그 Profile들을 등록헤야 할 경우가 있음.  
  • 동일 계정 내 여러 IAM역할 전환 수행
  • AWS SSO수행 등

 

  • aws-configure get region : 현재 설정된 region을 가지고 오는 명령어(여러 region이 설정되어 있을 경우 기본  region)
  • aws-configure get region -- profile eu-west-1: profile[이름으로]을 사용하여 region변경
  • export AWS_PROFILE=ap-northeast-1: 환경변수를 사용하여 region 변경

 

인증샷

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

패스트캠퍼스 챌린지 07일차

벌써 힘들어진다. 대장 검사라서 쫄쫄 굶고 있기 때문이라서 그런지 모르겠다. 그래도 포기 할 수는 없지. ㅎㅎ 오늘 따라 갈 목차는 다음과 같다. 

AWS SSH 키 등록 및 EC2접속 방법

  • AWS SSH 키 등록 
  • EC2 머신 생성
  • EC2머신 접속
  • EC2머신 종료

- 시나리오: ECS머신을 생성한 것으로 SSH키로 접속하고 머신을 종료한다. 

 


AWS SSH 키 등록

1. EC2 대시보드에 접속

2. 좌측메뉴의 네트워크 및 보안 섹션의 키 페어 선택

3. 키페어 생성 클릭

4, 키 생성

키페어 생성을 클릭하먄 로컬에 키가 다운로드 된다.  EC2와의 연결을 위해서 안전한 장소에 잘 보관하는 것을 추천한다. 그런데 이름이 왜 키-페어인가? 하면, SSH가 비대칭키이기 때문에 그렇다고 한다. 즉, 비대칭키는 개인키와 공개키로 이루어져서 키-페어 라고 한다.  정확히는 하기와 같은 구조이다. EC2의 개인키는 아직 EC2를 설치하지 않아서 설치가 되지 않았지만 공개키(EC2머신의 PUBLIC KEY) - 개인키(내가 가지고 있는 키), 이런 구조이다. 

EC2 머신 생성

 

1. 인스턴스 > 인스턴스

2. 인스턴스 시작

3. Ubuntu 20.04 선택(프리티어)

4. 프리티어 스펙인 t2 mirco 선택

5. public ip 자동 할당(ssh 연결)

6. 4단계는 SKIP

7. EC2머신을 입력하기 위해 키 입력

8. 새 보안 그룹을 생성하고 SSH 그룹을 모든 IP 대역(0.0.0.0)에 대해서 연다. 

9. 검토 및 시작하기 - 시작하기

SSH키를 선택하도록 함. - 이전 단계에서 만든 키-페어 파일을 선택. (하기의 체크박스 선택)하고 인스턴스 시작. 

EC2머신 접속

1. 연결버튼 클릭

2. 연결 버튼 클릭

3. 연결됨.

EC2 머신 종료

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

 

 

 

 

 

 

 

 

 패스트캠퍼스 챌린지 06일차  

 

Ch 3_5) AWS 프리티어 소개

프리티어란 무엇인가? 

  • AWS가 첫 사용자를 위해 서비스를 무료 체엄할 수 있게 제공하는 서비스. 제공하는 유형에 따라 언제나 무료, 12개월 무료, 평가판으로 구분 가능. 
  • 100가지가 넘는 제품을 사용 가능. 

예)

  • EC2(12개월 무료) - 컴퓨팅 파워/S3(파일 업로드나 다운로드 구현) - 5GB 12개월 무료
  • Amazon RDS - 관계형 데이터베이스 월별 750시간 사용 가능(12개월 무료)
  • 이외에도 많은 프리티어를 제공하므로 사이트에서 확인 바람  

본 강의에서는  이외에 AWS가격 모델 및 AWS 프리티어를 소개하고 AWS프리티어 사용 시 유의사항, 그리고 대표적인 무료 서비스를 소개한다. 

AWS의 가격모델(EC2를 위주로)

 AWS는 기본적으로 사용량에 따른 종량제 과금방식을 채택하고 있다. 하지만 서비스가 무척 많기 떄문에 기업에서 사용하려면 매니저 등에게 상담을 받고 사용하는 것을 추천한다. 물론 개인이 사용하는 것에서는 AWS 요금정책에 대한 페이지(https://aws.amazon.com/ko/pricing)를 참조하면 될 것 같다.  (예. saving plan: S3의 경우 더 많이 사용하면 할인을 해 주므로 더 싼 가격에 사용 가능. 또는 약정을 맺으면 할인을 해 줌. 등 참조 바람.) 즉, EC2의 경우 다름과 같은 과금방식을 가지고 있으나 일반적으로 On-Demand방식으로 사용을 함. 


프리티어 사용 시 유의사항
많은 AWS 서비스를 프리티어로 제공하지만 모든 AWS서비스가 프리티어를 제공하지는 않으므로 한도 확인
각 프리티어 서비스는 한도가 있음.
주의) 프리티어 사용 중 요금이 발생하였다면 체크 할 것
  • 하나 이상의 서비스에서 월별 프리티어 사용량의 한도 초과하였나 체크
  • 프리티어가 아닌 서비스를 사용하였나 체크
  • 프리티어 기간이 만료되었나 체크

<=> 대처 방법

  • 프리티어 적용여부 확인
  • 요금 발생 리소스 추적(결제 대시보드 - 서비스 별 상세 내역 조회)
  • 요금 지불 의향 없는 서비스 종료
  • 리소스 사용량 모니털링
  • 일반적으로 AWS에 문의하면 환불해 줌. 

AWS의 대표 무료 서비스

- EC2 - 

  • t2.micro 인스턴스
  • 윈도우 및 리눅스 운영체제를 지원하며 각각 계산
  • 월별 750시간 무료 - (전체 인스턴스 사용의 총합)

유의사항)

  • EC2는 EBS저장소도 함께 사용하므로 EB2의 한 달 사용량이 프리티어 수준인지 사전에 확인 필요
  • 공인 IP를 위해 Elastic IP + EC2를 같이 사용할 때 Elastic IP는 무료이지만 Elastic IP만 독자적으로 사용 될 때는 과금이 됨. 따라서 EC2를 종료 할 때는 Elastic IP도 반드시 종료해야 함. 
  • 네트워크 사용량이 무료 제공량(수신 무제한/송신 1GB) 를 초과하지는 않는 지 사전에 확인
  • T2계열 인스턴스의 Unlimited Credits옵션을 체크하지는 않았는지 확인

- S3 - 

  • 매달 무료 사용량 제공
  • 표준 스토리지 5GB제공
  • 15GB의 데이터 송신
  • 20000건의 GET요청
  • 2000건의 PUT/COPY/POST/LIST 요청

- VPC - 

언제나 무료 서비스 제공

가상 네트워크를 구성하기 위한 서비스로 네트워크를 구성만 하고 실제 Traffic이 발생하지 않는다면 많은 리소스를 생성하더라도 과금되지 않는 경우가 많음. 예외의 서비스는 아래에 있음. 

유의사항)

  • 네트워크 사용량(traffic)은 과금될 수 있으니 주의
  • 대표적인 VPC과금 서비스: NAT Gateway/PrivateLink/Client VPN/Site-To-Site VPN/Elatic IP

- IAM(접근 제어 서비스) - 

AWS를 이용하기 위한 서비스이므로 당연히 무료임.

AWS 계정 및 서비스(User/Group/Role/Policy)에 대한 접근 제어 서비스.

많은 리소스를 생성하더라도 과금되지 않음.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

패스트캠퍼스 챌린지 05일차

Ch3_4) AWS 소개 및 실습 계정 생성

 

1. AWS 소개

AWS =! Amazon 

잘 모르는 사람들이 그냥 AWS를 아마존이라고 부르는데 AWS는 아마존이 아니라 아마존의 자회사이다. 아마존은 쇼핑몰임. 그리고 AWS에서 2016년 서울리전을 출시함. 그리고 한국지사도 있어서 고객 지원을 받을 수 있음.

AWS가 인프라 자체를 구축하려면 확실히 PaaS나 IaaS 측면에서 좋다(SaaS는 다른 회사도 좋은 게 많지만). 왜냐하면 엄청나게 많은 서비스를 제공하고 있기 때문이다. (무슨 서비스가 무슨 서비스인지 모를 정도임) GCP나 Azure도 있긴 하지만 아직 AWS에 비해서는 부족하긴 하고 GCP는 약간 비싸다고 예전에 주워 들었다. (근데 나는 Gmail을 비롯하여 안드로이드 관련 서비스를 많이 사용해서 왠지 구글에 정이 감)

그림1. AWS 서비스

어질어질하다. 확실히 매니저의 도움을 받지 않으면 아키텍쳐를 만들기는 어려울 것 같지만 도움을 받으면 효율적인 아키텍쳐의 구성은 가능할 것 같다. 

2. 탄력적 종량 과금제 방식

사전 획약금이나 장기 약정 없이 사용한만큼 비용 부과

  • EC2/EBS: 초당 요금 부과
  • Lambda: 밀리 초당 요금 부과

(이건 다른 클라우드도 동일한 거 아닌가?)

그림2. 탄력적 과금 방식 설명


AWS 실습용 계정 생성

1. AWS 웹페이지 접속(https://aws.amazon.com)

2. id/pw/계정 이름/확인 문자 입력

그림3. 회원가입 첫 화면

3. 개인 정보 입력(개인 선택)

4.  결재 정보 입력(정상카드인지 확인하기 위해 소액결재 이후 환불)

5. 전화번호 인증

6. 지원 플랜 선택 - 현재는 학습용아므로 무료 선택

7. 끝


 

로그인 후 콘솔 처리

그림4. 콘솔화면

1. Root관리자로 로그인. 

2. 그림4의 ID옆에 도시 표시 되어 있는 곳을 서울로 변경 (Region임)

오늘 학습은 여기까지, 다음부터 본격적으로 프리티어로 학습하도록 하겠다.

 

 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

패스트캠퍼스 챌린지 04일차

Ch3_1 강의 운영 체제 환경 설정 소개 

Ch3_2에서는 macOS에서어떻게 환경설정을 하는지 소개하고 Ch3_3에서는 Windows에서 WSL2활성화를 통한 우분투 20.04구성을 소개한다. 그리고  AWS운영체제 환경을 설정하는지 알게 된다. 그리고 Ch3_4부터는 AWS소개부터 본격적인 실습환경 구성부터 프리티어 소개, 그리고 도구 설치 등에 대해서 알게된다. 

AWS 실습환경 구성에 대해서 말하면 다음과 같다. 
  • 프리티어 소개
  • AWS 실습 계정 생성
  • AWS SSH KEY등록 및 ACCESS KEY 발급
  • AWS CLI 설치 및 이용방법 소개
  • AWS비용 이슈 대처법 소개 

강의는 기본적으로 MacOs로 진행되나 굳이 MacOs를 살 필요까지는 없으니 Windows에서 WSL를2를 설치하는 것을 따라하여 볼 것이다. 

그러면 WSL2를 구성하여 보자. 

Ch3_3 WSL2 + Ubuntu 20.04 LTS구성(Windows)

(Ch3_2가 MacOs이니 찾아보기 바란다.)

WSL란 - (Windows Subsystem for linux)
  • Windows에서 linux를 실행할 수 있게 해주는 것
  • 여러 리눅스(CentOs, RedHat, Ubuntu...)를 실행할 수 있게 해주는 것.

1. Power shell을 관리자 권한으로 실행

2. 명령어 입력

3. 재부팅 진행

4. powershell을 관리자 권한으로 다시 실행하고 wsl입력하고 다음과 같은 메세지 확인(wsl정상적으로 기동)


Ubutu 설치 (in microsoft store)

마이크로소프트 스토어에서 ubuntu검색 ubuntu 20.04 lts 다운로드, 시간이 좀 지나면 사용자 계정이랑 password 입력하라고 나옴. 


  • powershell에서 제대로  ubuntu가 제대로 설치 되었는 지 확인하기 위해 wsl 명령어 wsl -l -v입력
  • wsl -l -v 은 현재 설치된 리눅스 배포판을 보는 명령어 보는 명령어 임. 설치된 리눅스 배포판과 상태, 버전이 나옴.
  • wsl2로 업데이트 하고 싶으면 링크는 찾아 보세용. 이건 아마 배포하면 안 될 것 같아서 배포하지 못합니다. 

변환은 powershell에서 진행하고 변환 시간은 꽤 걸립니다. 

아무튼 결과적으로 위와 같이 2로 변환하였는데 실제로 wsl을 써보니 다시 ubuntu가 실행되는 걸 알 수 있었음. 

wsl2를 기본으로 사용

  • wsl --set-default-version 2

윈도우 터미널의 사용(CMD가 아님)
  • CMD와/Powershell과 다름
  • CMD/Powershell/SSH/WSL을 같이 쓰고 싶을 때 사용 가능(어떻게? - 다중 탭을 지원하므로, 함께 킬 필요 없음.)
  • MS 스토어에서 설치 가능

오오 신기함 좀 더 편리하게 개발을 할 수 있겠음. 

 

 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다

 #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

패스트캠퍼스 챌린지 03일차

 

  • DevOps엔지니어 로드맵
  • DevOps엔지니어 신입
  • 문제를 대하는 자세
  • 신입 가능한가

를 주제로 다룬다. 따라서 신입이 아닌 사람은 SKIP하여도 좋을 것 같다. 솔직히 나도 이 강의를 들으면서 긴가민가하다. 그런데 강의가 30분이나 되는 거 보니 뭔가 있나 보다. 일단 들어보자. (다 듣고 보니 필수 수강이다. 오히려 경력직이 SKIP이다.)

Ch2_3 DevOps엔지니어 성장 전략
먼저 DevOps엔지니어의 로드맵(2020을 살펴보자) - 번역본

https://velog.io/@exploit017/2020-%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A1%9C%EB%93%9C%EB%A7%B5

DevOps엔지니어 로드맵(2020)

엄청 많지만 요약해 보면 다음과 같다. 

1. 먼저 프로그래밍 언어를 익히는 것을 추천한다. 역자는 Go 언어를 추천했고 강사 역시 Go 언어를 추천했지만 나는 Python을 이미 익히고 있다. Node.JS도 풀스택에 활용할 수 있어서 좋은 언어다(지금도 배우고 있음.) 강사도 추천하였다. 

2. 운영체제에 대한 이해시스템에 대한 이해(프로세스 관리/쓰레드 및 동시성 관리/네트워크의 기초적인 내용/POSIX 표준에 대한 개념/네트워크 개념/입출력 관리/가상화 기본/메모리 저장소 개념/파일 시스템 기본)

+ Systemd(?) / initid (?) - 이해 필요

3. 서버에 대한 학습을 하기 위해서는 OS에 대한 학습을 해야 한다. 주로 리눅스를 사용하므로 리눅스 계열(우분투, CentOS)등에 대해서 학습하는 것을 추천(구형 노트북 하나 사서 패캠에 있는 리눅스 강의 들을 것 - 본인 구매하였음)하고 그 다음에 천천히 윈도우를 공부하는 것을 추천.  

4. Vim/Nano/PowerShell등을 통한 터미널 접근방법을 학습하는 것을 추천한다. 

5. Text manipulation tool(awk, sed, grep...)을 학습하며 업무의 효율성을 증진시킬 수 있다. 

6. Process monitoring tool 7. Network tool 8. System performance tool 9. Others

6,7,8,9를 학습하면 운영상 이슈/network이슈/ performance이슈/ os이슈/ process이슈/ volume작업 가능여부를 볼 수 있음. 따라서 각각에 어떤 명령어 있고, 어떤 상황에서 사용 가능한지 학습해야 한다. 

10. terminal multiplex(tmux)는 하나의 터미널에서 여러 세션을 열어서 동시 작업을 할 수 있게 하는 것으로 TMUX가 최신에 나온 것으로 많은 기능을 지원함. 

11. Netwoking protocol과 보안에 대한 개념에 대해서 이해해야 함. 즉, 1)기본적으로 웹 관련해서 HTTP를 이해하고 이에 TLS를 적용해서 2) HTTPS개념을 이해할 필요가 있다. 그리고 파일 전송에서 3)FTP개념을 이해하고 서버 접근을 위한 3)SSH, 보안을 위해서 4)SSL/TLS를 이해, 방화벽 접근을 위한 개념인 5)Port Fowarding개념을 이해해야 한다. 

12(Optional) Email과 관련된 Protocol을 학습해야 함. SMTP와 IMAPS, POP3프로토콜이 기본적으로 Email과 연계되어 있음. 그리고 관련보안을 이해하고 도메인을 위해서 DMARC/SPG/Domain keys를 이해해야 함. 

13(중요). 방화벽에 대한 내용을 이해하기 위해서 Reverse proxy와 Caching server, Fowad proxy, Load balancer

14. Web server는 최근 Nginx를 많이 사용하나 자바 계열에서는 Tomcat을 아직까지 대부분 사용하고 있음. 뿐만 아니라 Apache도 사용하고 있으므로 Nginx를 먼저 익히고 그 다음으로 Tomcat과 Apache를 학습해야 함.  


IaC에 대한 내용

15. CI/CD툴에 대한 학습

 Gitlab CI/Jenkins/Github Action/Circile CI와 같은 툴에서 전통적으로 Jenkins를 많이 사용하긴 하지만 너무 비싸므로 오픈소스가 있는 Circile CI를 알아 보는 것을 추천. 

16. 설정관리는 Ansible본 강좌에서 다룸. 

17. 컨테이너 오케스트레이션은 kubernetes를 사용해보자. 가볍게 사용해 보려면 Nomad를 학습. 

18. Infastructure provisioning을 하기 위해서는 Terraform을 학습하는데 본 강의에서도 다룸. Terraform은 클라우드에 종속적이지 않고 코드로 AWS및 다른 리소스들도 관리 할 수 있다. (Cloud Formation은 AWS만 관리 가능)


Software and Infrastructure monitoring

19. Log관리는 Elastic stack을 이용하여 관리하는 것을 추천하므로 관련내용을 공부해야 함. Elastic Stack이 log관리에 특화되어 있긴 하지만 Application monitoring, infrastructure monitoring도 가능해서 기술 stack을 일원화하는 것도 가능함. 기업에서 Granfana를 주로 사용하고 있다면 로키(?)를 함께 사용하여 Infastructure와 log의 monitoring을 함께 실시하여 이를 일원화 하는 것도 가능함. (?)

21. Application monitoring은 퍼포먼스나 매트릭을 측정할 수 있는 도구이며 마이크로 서비스 아키텍쳐 상에서는 각 마이크로 서비스 아키텍쳐 사이의 네트워크 통신들을 측정하는 분산 트래싱 기술이 적용되어 있는 제품: Jaeger, OpenTracing: 오픈소스이고 상용제품으로는 Datadog도 좋음. -> Datadog이 제일 비쌈. 

22. Infastructure monitoring은 기업에서 쓸 수 있는 예산이 많을 경우 즉, 쉽게 Monitoring을 구축할 수 있는 경우 Datadog를 통해 구축/그렇지 않을 경우 즉, 오픈소스를 활용하여 직접 구축해야 할 경우 Prometheus와 Grafana를 활용


Cloud Provider

23. AWS(본 강의에서 다룸)를 익힌 다음 GCP를 익히고 AZURE를 익히면 쉽게 익힐 수 있을 것임. 

24. Cloud Design patten은 서비스의 가용성과/데이터 관리/설계 및 구현/관리 및 모니터링에 대한 내용을 학습해야 하는데 각각은 1) 어떤 식으로 디자인을 설계를 해서 고가용성을 확보하고 2) 데이터관리를 어떻게 해서 데이터 라이프사이클을 가져가고, 3) 어플리케이션을 구성할 때 어떤 설계 방식과 구현을 가져갈 수 있는지, 3) 어떤 식으로 모니터링을 해서 가시성을 확보 할 수 있는지. 등을 공부해야 함. - 실제 프로젝트에 투입이 되고 실무에서 경험을 쌓을 수 있음. 

 이렇게 보면 엄청나게 많은 기술을 익혀야 할 것 같다. 백엔드로 조금 지식을 가지고 있다고 해도 추가적으로 공부해야 할 양이 엄청나게 많다. (더구나 주니어나 1년차나 나같이 다른 분야에서 DevOps일을 하려면.) 여기서는 하나의 기술 스택을 이해하면 쉽게 다른 스택을 이해 할 수 있다고 하는데 과연 그럴까=_=

 

DevOps엔지니어 신입은 가능한가

 DevOps신입은 거의 불가능한 거 같다. 강사의 말도 백엔드 엔지니어나 시스템엔지니어가 인프라를 공부하다가 DevOps엔지니어로 넘어오는 경우가 많다고 한다. 역시 필요하다면 당장은 AWS자체는 개발을 내가 하되, DevOps가 필요하면 외주를 맡겨야 겠다. (아니면 인원을 뽑거나) DevOps엔지니어는 단기간에 될 수 있는 것은 아니고, 상당 기간의 공부를 필요로 하는 것이고 주로 경력직을 요하는 것이라고 한다. 그런데 지금 당장 DevOps엔지니어가 필요 할까? 이것부터 일단 결정해야 할 것 같다. 

DevOps엔지니어 성장 전략(문제를 대하는 자세)

1. 시스템을 도입하여 단순 기능만 동작하게 가는 것(초보)

2. 기능의 확보를 넘어 고장에 대한 대비, 즉 안정성을 확보 하는 것. (중급)

3. 사내 표준에 따른 자동화를 수행하는 것. (상급)

4. 시스템의 접근제어와 데이터에 보안을 적용하는 것. (여기부터 최상급)

5. 최적화를 통해 동일한 머신에서 비용 대비 좋은 성능을 내는 것

> 이를 위해서 어떤 기술이나 도구를 사용해야 하는가? 또는 직접 만들어야 하는가? 

> It depends on situation

장애 대응은 어떻게 해야 하는가

장애가 발생하면 근본원인(Root Cause)을 찾고 장애기록(Post-mortem)을 남기는 습관을 기르자. 

- 저장 공간이 다 찼네, 볼륨확장하고 끝. 이 아님

- 저장 공간이 계속 다 차네, 왜 다 차지? 아 Log파일이 굉장히 크네, 이에 대한 해결을 하도록 하자. 

지금 조직에서 한 번 깊이 문제를 다뤄 보자.

Stack overflow같은 데서 처리하는 버릇을 좀 버리자. 이거 내가 잘하는 건데, 모든 정보는 인터넷에 있지만, 모든 문제를 인터넷에서 대충 처리하고 해결하다 보면 신뢰를 잃기 쉽다. 

- 영어! 영어!  

 

DevOps 엔지니어는 해야 할 일이 정말, 정말 많다. 단 시간에는 될 수 없을 거 같다. 당장 DevOps엔지니어를 목표로 하는 것 보다는 꾸준히 공부를 하다 보면 어느새 DevOps 엔지니어의 스펙을 만족하는 사람이 되어 있지 않을까? 

일단 당장 내가 할 수 있는 것은 빨간 줄과 노란색 배경색으로 나타내보니 6개 정도 된다. 공부해 봐야겠다. 가능하면 네트워크도 병행해서 공부해 봐야겠다. 쉬운 거 부터 해야지 쉬엄쉬엄. 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

패스트캠퍼스 챌린지 02일차  

인증과 함께 출발!


 Ch2_2) DevOps 엔지니어의 역할 

이번 강에서는 DevOps와 DevOps엔지니어의 하는 일, 그리고 DevOps팀의 핵심지표에 대해서 알아 보도록 한다. 

DevOps라면 Development 와 Operation의 합성어이기 때문에 개발과 운영을 둘 다 한다라고 착각하기 쉽다. 하지만 정확히 DevOps Engineer가 하는 일은 다음과 같다. 

개발자가 개발 뿐만 아니라 운영에도 참여 할 수 있도록 환경을 만들어 주는 사람. 즉, 조직에 DevOps문화를 정착 시키는데 도움을 주는 역할을 수행. 

그런데 여기서 의문이 들 수 있다. 그러면 개발자가 그냥 개발과 운영을 다 수행하면 되지 왜 DevOps 팀이 존재하는가. (돈 낭비 되게) 여기서 상기에 언급한 DevOps Engineer의 역할을 살펴보자. 환경을 만들어 주는 사람이라고 하였다. 즉, 개발자가 개발한 결과물을 Test하고, 배포하고 로그나 매트릭을 관측하는데 필요한 환경을 만드는 사람이다. 

그런데 이 환경이 없으면? 개발자가 구축해야 하지 않겠는가? 이 무슨 시간의 낭비이고 돈의 낭비인가. DevOps가 하는 일을 보고 깜짝 놀랐다. 엄청 많다. 개발자가 하기에는 일단 불가능하다. 개발자는 개발만 해야지 요즘에 Fullstack만 찾아서 전부 Fullstack만 공부하는데=_=

잡설을 좀 넣었다. 

다시 본론으로 들어가서 DevOps 엔지니어의 역할을 살펴보자. 

1) 네트워크(회사 인원에게 사설 네트워크 사용 가능하도록 함)

  • 가상 N/W, 물리 N/W 구성
  • 프록시 VPN 서버 운영
  • DNS서버 운영

2)개발 및 배포 플랫폼 

  • 깃허브나 깃랩과 같은 버전관리 및 개발협업 플랫폼
  • CI/CD 파이프라인 시스템 운영/관리
  • QA테스트 및 성능 테스트를 위한 환경 제공
  • 저장소 운영 및 관리

3) 오케스트레이션 플래폼(?)

  • 쿠버네티스/ECS/NOMAD와 같은 오케스트레이션 시스템 구축/운영
  • Airflow/Argo worflow와 같은 워크플로우 엔진 구축/운영

4) 관측 플랫폼

  • 로그/매트릭/업타임/APM정보를 관측할 수 있는 중앙화된 시스템 구축/운영
  • 주요 이벤트에 대한 알림 시스템 구축

5)클라우드 플랫품

  • 개발자들이 사용할 수 있는 클라우드 환경운영(자체 클라우드나 Public Cloud)

6)보안 플랫폼

  • LDAP, AD, SAML등을 활용하여 통합된 임직원 계정계 운영(직원 입퇴사 등 접근 관리)
  • 서버 및 DB 접근 제어 System 구축 및 운영
  • 네트워크 방화벽 정책 관리

7) 데이터 플랫폼

  • MYsql/DynamoDB/Redis와 같은 DB 구축/운영
  • Raddit MQ/Kafka/SQS등과 같은 메시징 서비스
  • DW/BI 구축/운영

8) 기타 서비스 운영

 8가지나 된다. 일견 내가 DevOps를 하려고 하면 8가지를 모두 섭렵해야 하는가. 하고 생각을 할 수도 있지만 그렇지는 않다. 일단 기업별로 전문가가 모두 있을 것이고 소규모 기업은 8가지 중 소규모 만큼만 구축하면 될 것으로 생각된다. 

하지만 기본적으로 8가지가 모두 유기적으로 연관이 되어 있으므로 CI/CD를 구축하기 위한 1) Git과 2) Cloud, 3) Network, 4) AWS, 4) 전반적인 IT Infra는 모두 섭렵해야 하는 것으로 생각이 된다. 본 강의에서 확실히 익힐 것은 AWS, Network이고 추가적으로 Ansible도 제공하는데 이도 섭렵하면 도움이 될 것이다. 

 

오늘은 2개 이상 하기는 글렀고 솔직히 앞으로도 2개 이상 할 자신이 없어졌음. ㅎㅎ

시간이 너무 오래 걸림

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

 

 

 

 

 

 

 

 

 

 

 먼저 해당 강의를 구매하기 까지 약간 망설임이 있었다고 하고 싶다(그리고 강의를 구매 할 사람들도 참고 바란다). 왜냐하면 AWS에 유료 서비스를 사용해야 했기 때문이다. 하지만 어쩔 수 없지 않은가. 일단 사용해 봐야 알 수 있고 그러면 내 가치를 올릴 수 있을 지도 모르기 때문에 ..지르고 봤다! 

 실제로 본인은 일단 급하게 AWS환경에서 설비 예지정비를 구현해야 하는데 AWS를 너무 모르는 거 같아서 한 번에 끝내는 AWS인프라 구축과 DevOps 운영 초격자 패키지 Online강의를 구매했다. AWS 백서로 공부하는 것도 많이들 추천 하지만 일단 믿고 한 번 가보자. 

 패스트캠퍼스 챌린지 01일차  


Ch1_1) 오리엔테이션 

  • Course1-DevOps 기본 개념
  • Course2-AWS기반 중소 규모 아키텍트 설계
  • Course3-AWS기반 대 규모 아키텍트 설계
  • Course4-코드를 통한 IaC 인프라 관리
  • Course5-도커와 쿠버네티스를 통한 운영
  • Course6-CI/CD를 통한 지속적 운영/지속적 통합 구현
  • Course7-모니터링 서비스 구축
  • Course8- AWS기반 구축
  • Special Course: Kuberetese에 AWS EKS(?)

 모르는 것도 있지만 대부분 내가 구현하는 아키텍쳐에 필요한 것이다. 대부분의 아키텍쳐가 거기서 거기이기 때문에 그럴 수도 있지만 일단 오리엔테이션에서는 패스트 캠퍼스 합격점! 물론 Special Course처럼 모르는 점도 있지만 자세히 진행 하다 보면 알 게 되지 않을까 싶다. 그리고 강사도 실무에 적용하는 것을 목표로 교수를 진행한다고 한 덕분에 실제 적용하는 것도 가능하지 않을까


아, 그리고 Challenge는 매일 2개에서 많으면 5개까지 Chapter를 듣는 것을 목표로 하고 있다. (그냥 학습이 가능하면 끊어지지 않는 선에서 포스팅 하겠다.) 


Ch2_1) DevOps개요

  • Devops의 정의 

개발(Dev)와 운영(Ops)의 합성어로 개발과 운영을 효율적으로 하여 제품의 변경사항을 빠르게 반영, 품질을 높이는 것

- 자세한 사항을 알아 보기 위해서는 소프트웨어 생애주기(SDLC)를 알아 봐야 하는데, 이 SDLC에서 개발팀과 운영팀, 그리고 PM과 다양한 아키텍트 사이에 불협화음이 있었음. 이전의 SDLC아키텍쳐는 다음과 같음. 

이전의 개발 아키텍쳐

  • Service와 Deploy까지는 PM/디자이너/개발자가 함께 상호간 커뮤니케이션을 해야 했고
  • Deploy와 Operation까지는 개발자/테스트 엔지니어/운영자가 상호간 커뮤니케이션을 해야 했다. 

 따라서 이에 모두 속하고 시스템을 만든 개발자가 차라리 Service, Deploy, Operation까지 모두 할 수 있다면 품질이 훨씬 개선 되지 않을까 하는 패러다임이 DevOps이다. 

 

이러한 패러다임을 구현하기 위한 기술에는 어떤 것이 있을까

1. 지속적 통합

개발자의 변동사항을 Build 및 Test후, 중앙 Code 저장 장치에 저장, 빠르게 버그를 발견하는 것을 목표로 한다. 

- 품질의 향상

2. 지속적 배포. 

- 개발의 산출물을 자동으로 개발 및 운영 환경으로 배포하는 자동화된 파이프라인을 구현

가장 기본적인 DevOps기능은 1, 2라고 함. 

3. 마이크로 서비스

- 대규모 서비스 Build하는데 병목 현상을 없애기 위해 Complie을 마이크로화하고 쪼개 Build time을 감소시킴

4. IaC(InfraStructure As Code)

- 인프라를 코드로 관리하여 변경사항을 자동화

5. 모니터링 및 로깅

- 개발자들에게 monitoring과 metric을 중앙에서 확인할 수 있도록 함. 

6. 소통 및 협업

- Slack등을 사용하여 소통 및 협엽을 유용하게 함. 


이외에 버전관리 등으로 다양한 기술을 활용하여 DevOps를 구현할 수 있음. 

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online

https://bit.ly/3FVdhDa

 

수강료 100% 환급 챌린지 | 패스트캠퍼스

딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

+ Recent posts