패스트캠퍼스 챌린지 13일차
네트워킹의 기본
- VPC관련 서비스 사용이 수월활 것임.
IP Address?
컴퓨터 사이에 통신을 하려면 위치 값을 알아야 하는데, 각 컴퓨터의 위치 값을 IP주소라고 하며 주소는 일반적으로 아직까지는 ipv4를 많이 사용하며 다음과 같은 형식을 따른다. (예. 172.16.1.1 에서 .(octat) 과 . 사이의 숫자를 모두 사실은 8비트로 처리 함.)
=> 대략 42억개 정도의 IP주소를 처리 가능함. => 그런데 IP주소가 모자름. => IP주소를 나눠서 사용하는 것은 추후 설명할 서브넷으로 해결(현재는 IPV6사용)
IPV4 Class
IPV4 는 클래스로 구분됨. (첫번째 옥텟의 앞자리 숫자를 바탕으로 구분)
A - 0.~
B - 10.~
C - 110.~
A Class
_____________._____________._____________._____________
Network Bit . Host Bit
host는 특정 network안에 종속
- (예. A라는 NETWORK에 HOST가 10개 있으면 A NETWORK에 IP가 10개 있다는 것과 동일한 의미.)
- A class에는 하나의 네트워크가 2^24개의 ip(___.___.___)를 보유 할 수 있다는 것을 알 수 있음.
- 그리고 최대 이런 네트워크가 2^7 만큼 있음.(Class 식별자 제외)
=> 네트워크 하나 당 규모는 굉장히 크지만 그 네트워크의 개수는 상대적으로 적음
B Class
_____________._____________._____________._____________
Network Bit . Host Bit
- A Class와 달리 Network Bit가 두 번째 옥탯까지 확장 됨.
- 따라서 하나의 네트워크가 2^16개의 ip(___.___)를 보유 할 수 있다는 것을 알 수 있음.
- 그리고 최대 이런 네트워크가 2^14 만큼 있음.(Class 식별자 제외)
C class
_____________._____________._____________._____________
Network Bit . Host Bit
- 1개의 네트워크가 2^8 개만큼의 IP를 보유
- 이런 NETWORK가 2^21 개만큼 있음.
=> 필요와 구성하려고 하는 서비스의 규모에 따라서 A/B/C 클래스를 골라야 함.
=> 일반적인 데스크탑은 규모가 작은 B/C클래스를 사용. => 큰 네트워크가 필요 없기 떄문임.
=> A Class는 국가 단위의 서버나 큰 작업을 요구하는 경우 사용
211.11.124.2는(C 클래스) 어떤 네트워크 안에 포함되어 있는가?
- C클래스는 3번째 옥탯까지가 네트워크를 표현하고 마지막만이 호스트를 표현(___.2)
=> 211.11.124.0 ~ 211.11.124.255
=> 최대가 255이므로 => 왜 최대가 255? => ____.____.____을 다 1로 채우면 255가 됨. (식별자 제외)
네트워크 나누기(subnet)
- 211.11.124.0~211.11.124.255라는 네트워크를 서브넷으로 나눠보자. 우측은 비트로 표현한 것이다.
- 비트로 표현했을 때 특이한 점은 빨간색 부분만 변화한다는 것이다. => 따라서 서브넷으로 표현할 수 있음!
- 단, 주목할 점은 처음에는 빨간색 바로 좌측의 비트가 0이었다가 1로 변한다는 점이다.
그런데 보기가 영 불편해서 위와 같이 '/'로 표현했다. 이것을 CIDR표현 이라고 한다.
- 일단 고정되어 있단 비트를 구해본다. 8*3+1 = 25 => /25
- 좌측 고정된 비트를 10진수로 표현하면 211.11.124.0 => 211.11.124.0/25
4개나 8개 기타 등등으로도 나눌 수 있음
이런식의 네트워크 개념을 AWS에서 활용할 것임.
=> 이후의 VPC를 하는데 있어서 수월할 것임.
=> 이것을 AWS로 확장 하는 것이 앞으로의 개념!
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
패스트캠퍼스 챌린지 12일차
AWS 기초와 VPC 소개(어마어마하게 다양한 서비스)
- 가상 컴퓨팅 서비스
- 네트워킹 서비스
- DB 서비스
- 인공지능 서비스
컴퓨팅 서비스
가상으로 제공하는 컴퓨팅 서비스
빈도별 정리
EC2(Elastic): 사양과 크기를 마음대로 조절할 수 있는 컴퓨팅 서비스
AWS Lightsail: 가상화 프라이빗 서버 EC2와 비슷한데 프라이빗하게 서버를 구성해 준다.
[보안이 좀 더 강하다는 의미인가]
AWS Auto Scailing: 서버의 특정 조건에 따라 서버를 추가/삭제 할 수 있게 하는 서비스
예) 웹 서비스 하나를 EC2에서 사용 중. (Traffic을 100명 정도로 예상 중) -> 서비스 너무 좋아서 Traffic갑자기 만 명으로 폭증 -> 하나의 서버로 감당하던 것을 여러 대의 서버를 만들어서 Traffic 분산시켜 줌 -> 시들시들해지면 서버 삭제하고 EC2하나만 다시 사용.
> AWS Workspace(Dropbox같은 것)
사내 pc를 가상화로 구성하여, 문서를 개인 pc에 보관하는 것이 아니라 서버에서 보관하게 하는 서비스.
네트워킹 서비스
AWS Route53 DNS 웹 서비스 - 원래 IP주소인, 숫자(127.0.0.1등)을 특정 도메인 이름과 맵핑 해 주는 역할을 해 주는 서비스.
AWS VPC: 가상네트워크를 클라우드 내에 생성/구성(실제로 네트워크를 깔려면 선 까는 등 사전 작업이 많이 필요 이런 것을 클릭으로 AWS는 해결)
AWS Direct Connect on-premise인프라와 aws를 연결하는 네트워킹 서비스 - 현실상에서 사용하고 있는 인프라와 AWS를 연결
AWS ELB 부하 (로드 밸런싱) 서비스
스토리지/DB 서비스
AWS S3: 여러가지 파일을 형식에 구애받지 않고 저장(한글, 워드 등등..)
AWS RDS: 가상 SQL=> MySQL, MongoDB....데이터베이스 서비스
AWS DynamoDB: 가상 NoSQL 데이터베이스 서비스
AWS ElasticCache?: 빠른 속도를 필요로 하는 서비스와 연계
데이터 분석 및 AI
AWS Redshift: 데이터 분석에 특화된 스토리지 시스템
AWS EMR: 대량의 데이터를 효율적으로 가공하고 처리함.
AWS Sagemaker: 머신러닝 & 데이터 분석을 위한 클라우드 환경(주피터 노트북)을 제공
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
AWS/Redshift (0) | 2021.11.15 |
---|---|
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online! - Part2(AWS기반 소규모 & 중규모 아키텍트 설계) ch1_3 (0) | 2021.11.14 |
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online! - Part2(AWS기반 소규모 & 중규모 아키텍트 설계) ch1_1 (0) | 2021.11.12 |
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online! - Course3, Ch(3_10) (0) | 2021.11.11 |
한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online! - Course3, Ch(3_9) (0) | 2021.11.10 |
패스트캠퍼스 챌린지 11일차
클라우드 컴퓨팅
클라우드 컴퓨팅이 없었을 때는 데이터 센터가 있었는데 일단 그 떄는 비용이 엄청 많이 들었음. 은행을 회사가 하나씩 가지고 있었던 개념임. 무척 돈이 일단 많이 듬. (아직 어르신 들은 다른 사람한테 돈을 맡겨 둔 다는 것에 꺼리낌이 좀 있어서 이런 걸 설득하는 데 문제가 있음.)
내 경험을 좀 섞어서 강사의 말에 클라우드 컴퓨팅에 대해 정의를 좀 해 보았다. 그렇다면 클라우드 컴퓨팅에 대한 장단점을 알아 보자.
장점
단점
- 맞말이지. 그런데 이 AWS서비스가 한둘인가. 강사가 무척 쉽게 말한다. 개념만 알면 AWS를 사용할 수 있다나. 솔직히 말이 되나. 그러면 다 클라우드 컴퓨팅 전문가지. AWS Certificate는 왜 있겠는가.
- 일단 클라우드 컴퓨팅이 중요하다는 것에는 동의한다.
클라우드 컴퓨팅을 배워야 하는 이유
많이 쓰고 많이 쓰게 될 것임.
- 여러 서비스를 지원하기 때문에 관리적 측면에서 배워야 함. (DevOps)
- 그리고 호환성이 좋기 때문에(예. RDS -> RDS로 전환 가능하고 RDS -> 바정형 DBS로도 전환 가능) 사용
- Bigdata 및 AI를 사용하기 때문에 다양한 Data를 처리하기 위해서 클라우드 컴퓨팅이 우선이 되어야 함.
- AI 개발자라고 언제까지나 데이터 분석이나 AI 개발만 하고 있을 수는 없지 않은가. DevOps까지는 아니더라도 본 과목을 수강해서 AWS의 눈꼽만큼이라도 배워보는 게 목표이다. 그러면 클라우드 컴퓨팅을 배우는 이유가 되겠다. 엉엉
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
패스트캠퍼스 챌린지 10일차
AWS 비용 이슈 대처법
- 리소스를 지우지 않음
- 해킹 사고 발생: 막대한 비용 발생
- 기타 이슈 해결
Index
프리티어 사용량 알림 설정
1. AWS 로그인 > 아이디 옆의 종 모양 아이콘 클릭 > 결제 기본 설정
2. 결제 기본 설정 클릭> 프리 티어 사용량 알림 받기 체크 > 이메일 주소 입력
결제 알림 설정: 알림 기능 활성화
- AWS 결제 정보를 CloudWatch 서비스로 전송
- CloudWatch서비스에서 결제 경보 생성
- 이메일을 통한 구독
1. 결제 알림 받기 체크 박스 체크. ('CloudWatch 서비스에 전송을 하겠다'는 기능을 활성화)
2. 결제 알림 관리 링크 클릭 > CloudWatch 서비스로 이동
3. 경보 > 결제 > 경보 생성
4. 경고 조건 설정
$5 이상 사용 시 알림 설정, 다음 클릭
5. 이메일 입력과 알람 구성
알람을 구성하고 , 원래는 이메일 위에 주제 생성 버튼이 있었는데 주제 생성 버튼을 누르면 다음과 같은 이메일이 계정 생성시 입력한 이메일(아마 나는 다 동일한 이메일을 사용하니까, 햇갈린다.)로 온다.
정상적으로 된듯
6. 다음. 이름 등 간단한 정보 입력
7. 미리보기 > 대시보드에서 확인
테스트 전 비용 검토 방법
AWS 서비스 별 요금 페이지 -> AWS 각 서비스 별 요금 페이지 제공(https://aws.amazon.com/ko/vpc/pricing)
- AWS VPC요금
AWS비용 계산기(https://calculator.aws)
사용할 AWS 리소스와 옵션을 기입하여 예상 금액 시뮬레이션
테스트 후 리소스 정리 방법
오픈소스 도구 사용: aws-nuke
프리티어 계정이 만료된 후 대처법
별 도움이 안 됨. 내가 방법을 찾아 봐야지.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
패스트캠퍼스 챌린지 10일차
AWS 걔정 MFA 활성화
MFA소개(MFA란)
다단계 인증! : 정규 자격증명 방법 이외에 추가적인 보안인증을 수행하는 것을 의마함. OTP나 ARS인증을 떠올리면 그 개념을 쉽게 알 수 있음.
그렇다면 AWS MFA에는 뭐가 있을까?
AWS루트 계정이랑 IAM사용자에 모두 적용가능하다. 웹 콘솔 로그인 및 CLI사용자 모두에 MFA활성화 가능한데 어떤 유형이 가능하냐 하면 1) 가상 MFA 디바이스 유형 2) U2F 보안 키 3) 다른 하드웨어 MFA디바이스 4)SMS문자 메시지 기반 MFA
1) 가상 MFA 디바이스 유형
- 본 디바이스가아닌 스마트폰과 같은 디바이스로 물리적인 MFA디바이스를 에뮬레이트 하는 개념.
2) U2F 보안 키
- Yubikey와 같이 Fideo 스펙에 맞는 물리 하드웨어 장비가 있음. 해당 장비를 USB에 연결하고, 인증이 필요할 때 손가락만 대면 인증을 수행
3) 다른 하드웨어 MFA디바이스
- OTP와 비슷. 동기화된 1회성 여섯자리 숫자 코드를 생성하는 하드웨어 디바이스.
4) SMS문자 메시지 기반 MFA
- 문자 인증. 루트 계정은 사용 불가. SMS는 상대적으로 보안 방식이 취약하기 때문에 모든 권한을 주지 않음.
본 강의는 가상 MFA를 적용하는 실습을 해 볼 것인데 이에 대한 소개를 해 보겠다. 가상 MFA앱 역시 Google Autenticator, Authy, Azure autenticator, 1Password 등으로 매우 다양한데, 이 중에 Google Autenticator는 핸드폰 분실이나 핸드폰 교체 시 OTP 복구가 불가능. 1Password는 유료. 따라서 Authy가 가장 경쟁력이 있는 듯.
AWS에 MFA적용
1. 아이디 클릭 > 내 보안 자격증명 클릭
2. 멀티 팩터 인증 > MFA활성화 > 계속
3. Authy 설치
이 이후 급하게 하느라 캡쳐 못함...ㅠ
1. 일단 글로 설명하자면 Authy다운 받은 다음 계정을 생성하라고 함. (계정 생성하는데 SMS로 인증할래? 전화로 인증할래? 이러는데 나는 SMS로 인증했음. 글이 편하니까)
2. 그리고 AWS에 표시된 QR코드를 찍으면 PASSWORD를 입력하라고 하는데 나는 그게 AWS PASSWORD인 줄 알아서 그걸 입력했는데 아니라고 함.
3. 그래서 혹시나 해서 SMS로 받은 코드를 입력하니까 되네. 뭐야 이러면 코드라고 바꾸지 왜 PASSWORD라고 쓴 거지..
4. 그 다음 QR코드 아래에서 MFA가 활성화됨.
MFA 테스트
끝
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성 되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online!
오토인코더의 종류는 다양하다. Single Auto Encoder, Deep Auto Encoder, Stacker Auto Encoder, Denoising Auto Encoder. 그리고 경우에 따라서는 Auto Encoder를 합칠 수도 있고 이러한 어플리케이션을 Google에서 볼 수 있다.
여기에서는 각각의 단일 경우에 대해서만 그림과 간단한 설명으로 살펴 보도록 한다.
Auto Encoder
: Encoder와 Decoder - 즉, 입력과 출력이 대칭이 되도록 네트워크를 디자인 한 오토인코더
Stacked Auto Encoder
: Latent space역시 단층이 아니라 여러 층이 될 수 있다. 이에 따라 이러한 네트워크를 Stacked layer라고 이름을 붙였다. 이러한 네트워크는 일반적으로 Single Auto Encoder보다 좋은 성능을 보인다. (Deep learning이 layer가 깊어 질 수록 성능이 좋아지는 것 처럼)
Deep Auto Encoder
더 이상 그리기가 힘들어서 캡쳐로 대체한다. (https://wiki.pathmind.com/deep-autoencoder)
딥 오토안코더는 네트워크를 최소 4개 사용해야 한다. 그리고 Encoder와 Decoder를 대칭으로 사용해야 함.
Denoising Auto Encoder
그림이 별로 없다. 설명을 많이 보충해야 할 것 같다.
- 일단 상기의 그림을 보면 Encoder쪽 그림이 깨끗하지 못하다. 즉. Noise가 섞여 있다. Network에 Keras에서는 Gaussian잡음을 넣는 것는 코드를 지원하는 것으로 기억한다.
- 그리고 가우시안 Noise를 넣은 다음에는 Encoder에 잡음이 섞인 Input'를 넣은 다음 압축(Copressed represenation)을 한다.
- 그리고 Decoder는 해당 Compressed representation을 어떻게든 깨끗하게 처음처럼 Gaussian Noise가 섞이지 않은 처음 Input(주의!....Input'가 아님) 으로 복원하는 것을 목표로 한다.
Sparse Encoder도 있는데 이건 시간나면 해 보겠다. 지금은..잘 모른다. =_ㅠ
끝
RNN의 개념 (0) | 2021.12.29 |
---|---|
오토인토더란(3) - Deep Auto Encoder With MNIST DATA (0) | 2021.11.09 |
Auto Encoder란(2) - Denoising Auto Encoder/Stacked Auto Encoder (0) | 2021.11.05 |
Auto Encoder란(1) (0) | 2021.11.04 |
Keras로 딥러닝 만들고 파라미터 튜닝하기(Grid Search (0) | 2021.01.26 |
# library import
from keras.datasets import mnist
from keras.layers import Input, Dense
from keras.models import Model # <=기존 모델의 인풋 값과 내 모델의 아웃풋 값을 전달
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
==========================
#data load
(X_train, _), (X_test, _) = mnist.load_data()
#chage types as a real value
X_train = X_train.astype('float32')/255
X_test = X_test.astype('float32')/255
#reshape the data from (60000, 28,28) , (10000, 28,28)to (60000, 784), (10000, 784)
X_train = X_train.reshape(len(X_train), np.prod(X_train.shape[1:]))
X_test = X_test.reshape(len(X_test), np.prod(X_test.shape[1:]))
print(X_train.shape)
print(X_test.shape)
#set input layer
input_img= Input(shape=(784,))
#===================encoder================================#
encoded = Dense(units=128, activation='relu')(input_img)
encoded = Dense(units=64, activation='relu')(encoded) ###
encoded = Dense(units=32, activation='relu')(encoded)
#===================decoder================================#
decoded = Dense(units=64, activation='relu')(encoded)
decoded = Dense(units=128, activation='relu')(decoded)
decoded = Dense(units=784, activation='sigmoid')(decoded)
중간에 네트워크 짜는 개념은 알고 가야 할 것 같아서 설명을 넣는다.
- 상기와 같이 초기에 전처리한 Input layer를 넣고 그 다음에 차차 압축해 가면서 Encoder를 넣는다.
- 그리고 그 다음에 압축된 데이터를 복원하기 위해 Latent space(여기서는 32)로부터 차차 다시 올라가도록 한다.
- 그리고 이러헤 복원시키는 이미지를 사용하는 오토인코더를 만든다. (최종모델)
#####################################
autoencoder=Model(input_img, decoded) # decode를 거쳐 복원하는 최종 모델 (auto encoder)???????(확인 필요) Model의 의미
autoencoder.compile(optimizer='adam', loss='binary_crossentropy',metrics=['accuracy'])
autoencoder.fit(X_train, X_train,
epochs=50,
batch_size=256,
shuffle=True,
validation_data=(X_test, X_test))
#####################################
encoder = Model(input_img, encoded) # encode를 거쳐 lated space로 압축하는 모델(확인 필요)
다음은 실수로 오토인코딩 하는 코드 살펴 보는 것으로 하는 것으로
끝
RNN의 개념 (0) | 2021.12.29 |
---|---|
오토인코더란(4) - 그림으로보는 오토인코더의 종류 (0) | 2021.11.10 |
Auto Encoder란(2) - Denoising Auto Encoder/Stacked Auto Encoder (0) | 2021.11.05 |
Auto Encoder란(1) (0) | 2021.11.04 |
Keras로 딥러닝 만들고 파라미터 튜닝하기(Grid Search (0) | 2021.01.26 |