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

AWS를 이용하여 NAT Gateway만들기

- Private subnet까지 접근 하였음. => 패치 다운로드, 외부 프로그램 다운로드 등 작업을 하기 위해서는

- NAT Gateway필요

- NAT Gateway 설치 

- NAT Gateway로 Private EC2에 Mysql설치


SQL 설치 

1) PUTTY로 EC2-public에 로그인

하려고 했는데 에러 

- 에러 해결

PUTTY fatal error라면서 접속이 안 됨. - auto login을 ec2-user로 해주거나 로그인 할 때 ec2-user로 로그인 해 주면 됨. 

sudo yum install mysql을 쳤으나

응답이 없음. => NAT 게이트웨이 생성필요


NAT Gateway 생성

1) VPC > 가상 프라이빗 클라우드 > NAT 게이트웨이 

NAT 게이트웨이 생성

=> NAT 게이트웨이는 프라이빗 서버가 우회적으로 인터넷을 하기 위한 (통신하기 위한) 수단이기 떄문에 Public subnet에 위치해야 함. 

2) 연결 설정

이름: 아무거나 입력

서브넷 public subnet선택

연결 유형: ? (일단 Public)

탄력적 ip를 할당해야 NAT 게이트웨이가 IP를 할당해 줌. 

게이트 웨이 생성


 

sudo yum install mysql을 쳐도 안 됨.

- sudo yum install mysql을 치는 것은 나는 외부로 나가서 통신 하고 싶다는 것임. 

- 그러나 private routing table에서 10.0.0.0/16인 ip는 모두 local에서만 도는 것으로 규칙을 만들어 놓았음. 

따라서 

0.0.0.0/0 인 것, 즉, 기존의 규칙 외의 모든 것을 NAT 게이트웨이로 보내는 규칙을 만들어야 함. 

 

 

설치하려고 했으나 나는 SSH 를 통해 Private subner에 아직 접속이 안 됨. 뭐가 문제인지 모르겠음ㅠ 어쨌든 NAT GATEWAY 생성과 정책 바꾸는 것 까지는 완료 하였다. 

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

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

VPC Bastion HOST 만들기

 

Bastion HOST 외부 유저가 Private subnet에 접속하는 것 - public subnet을 우회해서 private subnet에 접속

Story

- Private EC2생성

- Public EC2생성(Bastion Host)

- Bastion Host를 통해 Private host에 접근 using putty


Public EC2 생성

1) EC2접근

2) EC2 생성(Linuc or Ubuntu - 프리티어)

상세 설정은 위와 같이 

customVPC에서 / PublicVPC를 생성하고 / 퍼블릭 IP자동할당에서 서브넷 사용설정(활성화)를 설정하면 된다. 

다른 건 건드릴 필요 없음. 

다음 클릭

스토리지 볼룸 유형 - 마그네틱 - 변경 / 다음 클릭 - 마그네틱 뭐지

네임태그 추가 - public-ec2입력 / 다음 클릭

  • 보안 그룹 이름 변경
  • 보안 규칙 추가, IPV4 규칙 추가, 
  • 모든 포트 범위에 대해서 0.0.0.0/0 에 대해 접근을 허용하는 것으로 설정

- 검토 및 시작 클릭

다음 클릭

시작하기 클릭

새 키페어 생성(public-ec2-keypair) - 키페어 다운로드 - 인스턴스 시작

Private EC2생성

CustomVPC의 private subnet을 선택하고

private subnet이니 IP할당은 하지 않음 / 다음 클릭

볼륨 유형 - 마그네틱으로 변경 / 다음 클릭

name태그 추가 - private-ec2 / 다음 클릭

보안 정책은 모두 같은데 소스로 public-sg에서 온 것만 inbound로 받아 들이는 것으로 설정 / 검토 및 시작

private-ec2-keypair - 키페어 다운로드 - 인스턴스 시작


SSH를 통한 접근

1) PUTTY 다운로드

- pageant putty 검색

- putty.exe / pageant.exe / puttygen.exe 3개 다운로드

- pagent.exe를 연다. 키를 등록해야 하는데 .ppk만 등록이 된다. (우리가 AWS에서 다운 받은 것은 .pem 임.)  

- puttygen 이 pem -> ppk로 바꿔줌, 

2) Puttygen

-  load - allfiles - pem 선택 - save private key

3) pageant에 key등록

4) PUTTY 오픈

- Public EC2를 통해 Private EC2에 접근 할 것이므로 일단 Public EC2에 접근

Public EC2의 아이피 주소를 일단 집어 넣음

- connection - data - auto-login username: fastcampus-user

- connection - ssh - Auth - Authentication parameter - 체크 Allow agent Fowarding

Open

DOS창? 같이 로그인 됨, 


Private subnet에 접근

 

1) private EC2의 PRIVATE IP를 찾음

2) 접속한 PUTTY에 다음과 같이 침

SSH [PRIVATE SUBNET의 IPV4주소]

 

그러면 접속 되야 하는데??? 왜 안 되지????

ㅠㅠㅠ 질문해야 할듯 아니면 혼자 트러블 슈팅이나ㅠ어제부터 이상하네

덧) connect to host 10.0.1.111 port 22: Connection timed out 이라고 나오는 거 보니 연결 설정이 잘못 된듯. 보안 그룹을 잘못 만들었을 수도 있으나 오늘은 시간이 부족하여 나중에 다시 살펴 보는 것으로 하자!

 

끝!

 

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

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

https://bit.ly/3FVdhDa

 

나만의 특별한 일상과 여행 드로잉 | 패스트캠퍼스

9명의 강사님과 9가지 드로잉, 나만의 특별한 일상과 여행 드로잉.

fastcampus.co.kr

 

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

 

1) VPC의 SUBNET내부에 EC2의 생성에 대한 이해

- PUBLIC SUBNET의 Inbound, Outbound규칙을 따를 것임. 

2) Inbound와 Outbound규칙의 수정에 따른 엑세스 거부와 허용의 살펴 봄. 


 

EC2생성과 보안 정책 연결

1) 인스턴스 시작 클릭

2) EC2생성

실습에서는 Linux를 생성한다. 저번에는 우분투를 생성하였는데 이번에는 Linux를 생성한다. 

그리고 사양으로는 프리티어에서 사용 가능한 t2.micro를 선택하고 다음을 클릭

3) 인스턴스 세부 정보(VPC, 서브넷 등) 입력

- 강사가 Subnet에서 별도로 ip자동할당 작업을 해줬는데 현재는 별도로 자동할당해주는 작업을 해주지 않아도 그냥 선택이 됨. 따라서 별도로 포스팅 하지 않음. 

네트워크 - customvpc

서브넷 - publicvpc

퍼블릭 IP 자동 할당 - 활성화

 

사용자 데이터에 다음과 같은 코드 입력

#!/bin/bash
yum install httpd -y 
service httpd start

그런데 위 코드가 무엇을 뜻하는 는 모름 <= (이해 필요)

현재는 강사가 이해 필용 없다고 하면서 설명하지 않았음. 

다음 클릭 

3) 다음 클릭

4) 네임 태그 생성

다음 클릭

5) 보안 그룹(Security Group) 세팅

최초에는 22번 포트밖에 허용되지 않아 있음. 따라서 이에 대한 세팅 필요. 

다음과 같이 80번 포트와 443번 포트에 대해 통신 가능하도록 설정하였다

(주. 80: http, 443: https)

그리고 검토 및 시작 클릭

개략적인 정보의 확인이 가능함. 

시작하기 클릭

6) 키-페어 다운로드

인스턴스 시작 클릭

7) 확인

인스턴스가 적절하게 만들어졌는지 확인

네트워킹 탭에서 서브넷이 내가 만든 CustomVPC와 연결되었느지 확인

네트워킹 탭에서 서브넷이 내가 만든 Publics subnet과 연결되었느지 확인

 

브라우저 창에 IpV4주소를 입력하여 실제로 잘 연결이 되었는지 확인

 

???????????

 

트러블 슈팅은 일단 나중에 해보고 포스팅을 계속해 보기 위해 강의를 봄. 이후는 실습없이 강의를 보는 것으로 대체함. 

분명히 80번 포트 Allow되어 있는데 강의와 달리 안 됨.

강의에서는 우선순위에서 Deny했을 경우에 접근이 안 되는 것을 보여줌. 

- 강사에게 질문을 하거나 구글링을 해보도록 하자. (근데 질문 하는게 가능한가?) 

 

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

 

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

AWS에서 NACL설정하기
  • 보안에 대한 개념 설명
  • AWS에서의 실습

AWS에서 instance에 대한 보안을 설정하는 방법은 크게 2가지가 있음

  • NACL - statelss
  • Security group - stateful

이것에 대한 차이는 다음과 같음. 

주) 오른쪽이 Server

테이블(강사는 패킷으로 쓴 것 같다.) 의 의미 - 클라이언트가 Request를 쏠 때는 80번 Port로 쏘고 받을 때는 Server가 Response로 Client의 1025 Port로 달라는 의미 

주)임시 포트의 범위는 1024~65535

  • Server입장에서 생각했을 때 Response가 80번 포트로 들어 오는 것이므로 Inbound
  • Server입장에서 생각했을 때 1025로 Response를 쏴줘야 하므로 Outboud

반대 방향의 흐름(Response)은 위와 같다. 즉, 전체적인 네트워크 구조는 위와 같다. 


Stateful(Security Group)

 

먼저 위 그림의 정책 Inbound: 80 / outbound: none의 의미는 다음과 같다. 

  • 80으로 Client가 쏴주는 것은 허용, 나머지 포트는 불허용
  • outbound(Server입장에서 쏘는 것)는 아예 어떠한 포트도 허용하지 않음. 

그러나 Stateful은 상태를 기억을 하고 있음 => 즉, 원래 80으로 inbond통신해서 request를 서버로 주는 것은 가능하지만 정책상 Response는 아무대도 가면 안 되지만, 패킷에서 1025PORT정보를 기억하고 있음. 따라서 1025로 갈 수 있음. (확인 필요)

- Stateful: Session을 통해 유용한 정보를 기억하고 있다.  

Stateless(NACL)

Stateful과 달리 룰에 따라서만 행동하는 정책으로 위에 따르면 패킷에 상관없이 Outbound를 내보내지 않는다. 


NACL 실습

1. AWS 로그인 > VPC > 보안 > 네트워크 ACL

- 기본 생성된 NACL이 있어서 햇갈릴 수 있지만 서브넷 연결란에서 내가 생성한 NACL을 확인할 수 있다. (이전 시간에 내 Custom subnet과 연결해 놨기 때문에)

- 내 NACL의 이름을 private-nacl로 바꾼 다음

2) 네트워크 ACL 생성 클릭

3) 정보 입력

- 이름 입력 후 NACL이 들어 갈 VPC 입력 - 생성

4) 서브넷을 연결하기 위해 먼저 public-nacl을 클릭하고 - 작업 - 서브넷 연결 편집 클릭

public subnet과 연결 후, 변경사항 저장

5) 확인

 

6) 인바운드 규칙 편집

7) public_nacl 인바운드 규칙 편집

8) 확인

규칙번호에 따라 Allow와 Deny가 있음. 규칙번호는 규칙의 우선순위임. 확인을 위해 아래와 같이 101번 규칙을 설정하고 확인

- 101번에서 거부하려고 했으나,

- 100번에서 이미 들어오라고 허용했기 떄문에

- 101번 규칙은 거부됨. 

(유형과 프로토콜에 대한 설명은 없었음. 추가적으로 공부해야 할듯)

9) public_nacl 아웃바운드 규칙 편집

- 임시 포트는 1024~65535이므로 나가는 포트는 전부 있어야 함!

-끝-

 

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

 

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

AWS를 활용하여 Internet Gateway와 Routing Table의 생성
 저번에 VPC와 Public Subnet, Private Subnet을 만들긴 했으나 어차피 Routing table에 따라서 Internet Gateway로 가느냐 마느냐가 규정되기 때문에 VPC에서는 Routing table이 가장 중요하다. 

Internet Gateway만들고 설정하기

1) AWS 로그인 > VPC입력

 

2) 인터넷 게이트 웨이 생성 > 정보 입력

3)상태 조회 - Detached(주의 아래는 기본 VPC의 igw)

Detached - 어떤 VPC에도 연결이 되어 있지 않다! - 연결시켜주기 위해서 아레와 같이 작업 > VPC에 연결 클릭

VPC 선택


현재 상태

- VPC(Public subnet/ Private subnet) / IGW 생성

- VPC와 IGW는 연결했지만 IGW와 Subnet을 연결해 주지는 않은 상태

- 즉, 루트테이블을 연결하지 않았음. 

- 명시적으로 지금까지 루트테이블을 만든 적은 없지만 VPC를 만듦으로써, 기본적인 루트테이블 양식은 만들어져 있음. 그러나 인터넷으로 나가지는 못함.

Routing table 설정 필요

라우팅 테이블 설정

1) 라우팅 테이블 생성

라우팅 테이블은 Public으로 가는 라우팅 테이블, Private으로 가는 라우팅 테이블이 각각 설정되어야 함. 그런데 현재 기본 라우팅 테이블을 보면 

위 사진과 같이 무조전 10.0.0.0/16으로 가게 되어 있음. 따라서 따로 라우팅 테이블을 만들어야 함. 먼저 public에 해당하는 라우팅 테이블을 생성해 주자. 

private라우팅 테이블은 어차피 내부에서만 연결하는 것(10.0.0.0/16)이므로 기본 라우팅 테이블의 이름을 바꿔주자.

 그런데 여기서 public 라우팅 테이블이 아직 어떠한 서브넷에도 연결되어 있지 않으므로 연결시켜 줘야 함. 

=> 서브넷 연결 편집

 

현재 public 라우팅 테이블을 편집하고 있으므로 public subnet으로 연결

2) 라우팅 테이블 편집

- private에 대해서는 별다른 정책이 필요 없지만 public은 기존의 것 외에는 igw로 나가야 하므로 새로운 row의 추가가 필요함. 

 

라우팅 추가 클릭

참고) 정책은 위에서 아래로 순서대로 적용

3) 확인

 

현재 상황

NACL 설정 - 및 실습

 

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

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

https://bit.ly/3FVdhDa

 

마이페이지 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr

 

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

AWS를 활용하여 VPC와 Private, Public Subnet만들기

 

1. AWS 로그인

2. VPC 검색

3. 가상 프라이빗 클라우드 > VPC 선택

172.31.0.0/16은 AWS계정 만들면 존재하는 Default VPC, 이제부터 커스텀 VPC를 생성하자.

4. VPC 생성 클릭

5. 정보 입력

이름은 내가 구별 할 수 있는 것으로 입력하고, IPV4 CIDR 블록은 IP의 범위를 입력해 주고, IPV6는 사용안 할 거고, 테넌시는 뭐지..(?), 태그는 이름을 추가하면 자동으로 추가된다. 그리고 VPC 생성을 누르면 성공적으로 VPC가 생성이 된다. 


public subnet 생성

서브넷을 생성하기 전에 VPC ID를 기억해 두고 넘어가도록 하자. 

그리고 서브넷을 생성하기 위해 가상 프라이빗 클라우드 > 서브넷으로 이동하자

해당되는 ID가 없다. 즉, DEFAULT로 생성이 되지 않는다는 것을 알 수 있다. 다른 것들도 확인해 보고 싶으면 클릭해서 들어가 보면 된다. 확인이 끝났으면 

1) 서브넷 생성을 클릭하자

2) 그리고 해당하는 정보를 입력하자

VPC ID: 내가 서브넷을 생성할 ID를 기억하고 있다가 선택

3) 서브넷 정보를 입력하자

서브넷 이름: 서브넷을 구분할 수 있는 이름

가용 영역: AZ

IPV4 CIDR: VPC에서 부분(SUB)이 되는 IP를 설정(여기서는 24로 나눔)

4) 서브넷 생성 완료

 

private subnet 생성

1) 정보 입력

 

2) 서브넷 생성

 

 

종합 Diagram

- NACL 자동생성

- Route Table 자동생성

- IGW 생성해야 함

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

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

저번포스팅에 이어서 계속

AWS기초와 VPC(AWS네트워킹의 동작원리)

NAT(Network Address Translation) Instance/gateway

 

NAT이 왜 필요한가? - 원래는 Private subnet은 Route table이 막아서 IGW를 못 벗어남. => 인터넷 통신 못하므로 강력한 보안을 가짐. => DB와 같은 서비스를 저장해야 함. 

=> 하지만 가끔 인터넷의 연결이 필요할 때가 있음. 이럴 때는 다음과 같이 우회를 해야 함. 

=> TRAFFIC을 직접갈 수는 었으니 대리인으로 Public 사용. 

 

 

EC2에서 MYSQL을 다운로드 하고자 함. 그러나 인터넷이 끊겼으니(Private subnet) 직접 다운로드 못 함.

Public subnet을 통해 다운로드 하고자 함. 대신 접근해서 MYSQL을 다운로드 받아서 EC2로 다운로드. 

NAT instance: public subnet에 있는 EC2

NAT gateway: AWS에서 제공하는 특화된 서비스로 우회하기 위해서 있어야 함. 

NAT Instance와 Gateway는

Private subnet안에 있는 private instance가 외부의 인터넷과 통신하기 위한 방법

  • nat instance는 단일 instance(EC2)
  • nat gateway는 aws에서 제공하는 서비스

nat instance는 public subnet에 있어야 함

---

Bastion host

s

관리자는 Internet(VPC Private subnet의 바깥)에 위치함. -> private subnet에 접속 불가 -> public subnet을 통해 우회해서 접속할 필요 있음. -> Bstion host 사용

즉, IGW에서 Private subnet에 접근하기 위한 방법. 

- 실습을 통해 알아 볼 것

--

VPC Endpoint

- 서비스에 비공개로 연결하고 싶을 떄 VPC endpoint를 사용한다. 

- VPC endpoint를 사용하면  퍼블릭 ip주소가 필요가 없다. 

즉, vpc endpoint는

- AWS의 여러 서비스들을 연결시켜 주는 중간 매개체 역할을 한다. 

- Private subnet같은 경우 격리된 공간(internet사용 불가 == aws사용 불가)인데 이런 경우에도 AWS서비스를 이용하게 해 줌.

- interface endpoint: private ip를 만들어서 서비스로 연결

- Gateway endpoint: 라우팅 테이블에서 경로의 대상으로 지정하여 사용(어디로 가야 할 지 알려 줌.) => S3, Dynamodb 등 지원. 

Interface end point

 Gateway endpoint

1) Private subnet내에서 S3에 접근하고 싶다

2) PRIVATE TO Route table 

3) Route table To Route To Gateway Endpoint 

4) Gateway Endpoint to S3

 

인증샷 고고고

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

 

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

저번포스팅에 이어서 계속

AWS기초와 VPC(AWS네트워킹의 동작원리)
  • Network Access Control List(NACL)
  • Internet Gateway
  • Route Table - VPC와 인터넷 외부의 네트워킹 또는 VPC내부의 객체들 간의 네트워킹에 필요한 테이블)

Internet Gateway(IGW)

- 이전 시간에 VPC의 구성요소 몇 가지를 학습했지만 Internet Gateway를 거치지 않고서는 외부와 소통할 수 없다. 

- 단 Private subway는 외부와 소통하지 않기 때문에 IGW와 연결되어 있지 않음. (즉, IGW는 VPC to VPC의 연결만 관여)


Route table

- VPC를 생성하면 자동으로 만들어짐. 

- 위의 테이블의 요약은 다음과 같음

: 10.0.0.0/16으로 요청이 들어오면 Local로 가라(VPC내부로 가라)

: 0.0.0.0/0 즉, 10.0.0.0/16외의 IP로 요청이 들어오면 igw-id를 통해서 가라(VPC외부로, 인터넷으로 가라)

예)

1. Public subnet의 객체가 10.0.0.0/3 으로 요청

2. 라우팅 테이블에서 어디로 가야 하나 찾아봄

3. 10.0.0.0/16내에 해당되므로 VPC내부에서 찾아 봄. 


NACL/Security Group

Access block? : 특정 IP가 Inboud로 오는 것(우리 IP로 들어오는 것)

 

SUBNET이 요청 > 적절한 요청인지 NACL이 검사 > 어디로 가야 할지 Route table이 검사 (참고 > PRIVATE의 경우 VPC내부에서 밖에 못 놈)

  • NAT
  • VPC endpoint

 

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

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

https://bit.ly/3FVdhDa

 

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

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

fastcampus.co.kr

 

+ Recent posts