본문 바로가기

학원

2023/08/30 AWS

 



어제 했던 NAT와 Web Server가 잘 되어있나 확인해보고 Launch an instance에서 DB서버를 만들어 줄 것 이름은 DB server라고 주었고 AMI는 Ubuntu로 실행한다.

 

 

 

Network settings는 이런식으로 진행했다.

 


DB서버는 프라이빗 서브넷인데 어떻게 원격으로 관리하지?
1) 인터넷에서 퍼블릭 서브넷으로 들어간다
2)Bastion Host 서버를 퍼블릭 서버에 만든다. (점핑 호스트, 커맨드 호스트 라고도 불린다.)

베스쳔 호스트를 통해서 접근할 때 베스쳔호스트에 키가 있어야하는데 그럼 베스쳔이 뚫리면 다 끝나게된다. 이걸 막기 위해 키 페어 방식을 사용한다.
1) 키페어 인증방식 대신 패스워드 방식으로 접근
2) VPN - SSH 터널링을 통해 관리자 PC에 접근


 

 

설정대로 만들어 주고 만들어진 DB를 웹서버에 정보를 알려줘야한다.
putty gen을 사용할 것이다. 만들어진 Key와 함께 두면 편하게 사용할 수 있을 것


 

 

PuTTY gen을 사용해 저장해두었던 Key를 넣어준다. 넣어줄 때는 위쪽에 Conversions에서 넣어주면 된다. 이렇게 넣어주면 오른쪽에 Save private key를 눌러 똑같은 이름으로 생성해준다. 그럼 여기서 해야할 것은 끝이고 PuTTY를 실행한다.


 

 

PuTTY에 공인IP주소를 복사해서넣어줌 그리고 여기로 와서 아까 gen에서 만들어주었던 ppk를 넣어준다. 그리고 Open을 통해 접속 요청을 해준다 .




 

 

ID는 ubuntu로 접속하면 패스워드 없이 로그인이 가능할 것


 

 

여기에 DB 접속 경로가 있다.

 

 

 

root를 통해서 dbconn.php로 들어와서 맨 위에는 DB의 주소를 바꿔준다.
이런식으로 들어가지면 Web에서 로그인과 글의 작성이 가능해진다.



 

 

보안 그룹과 네트워크 ACL 비교


 


모듈4. 컴퓨팅


 

컴퓨팅의 발전 과정


 

 

우리는 대표적인 EC2를 알아볼 것


 

 

EC2의 태그
태그를 기준으로 필터링할 수 있어서 관리적 측면에서 좋다.
만약 정체불명의 서버가 켜져있으면 태그가 없다면 어디에 쓰는 무엇인 서버인지 모를 수 있다.


 

 

AMI은 우리가 수동으로 직접 생성할 수 있다.
내가 원하는 이미지를 고르고 인스턴스 타입을 선택한다.


 

 

EC2 인스턴스는 테넌시 방식을 사용한다.
공유 테넌시가 기본 설정이다.


 

 

인스턴스용 스토리지 EBS


 

 

EBS의 볼륨 유형


 

 

EBS의 볼륨 유형에 특성


 

 

인스턴스 스토어 볼륨



 




[ 실습 ] 

특정 리전에 Amazon VPC 생성

 

 

Create VPC로 구성한다.

 

 


이렇게 설정을 해주고 Create VPC로 선택한다.


 

 

Actions에서 Edit VPC settings를 선택하고 설명설명 Save해준다.


 

 

! 이렇게 하면 VPC 성공적으로 생성하고 가상 네트워크에서 AWS 리소스 시작할 수 있다.

 

 



퍼블릭 서브넷 생성

 

 


Subnets를 선택하고 이런식으로 해서 Create subnet을 선택한다.

 

 

 



Public Subnet선택하고 Actions에서 Edit subnet settings를 선택하고 설명설명해서 save해준다


 

 


프라이빗 서브넷 생성

 


Create subnet선택하고 이런식으로 설정 해서 Create subnet을 해줌

! 이렇게 되면 Lab VPC에서 퍼블릭 서브넷과 프라이빗 서브넷을 생성했다.

 

 




인터넷 게이트웨이 생성

 


왼쪽 탐색 창에서 Internet gateways를 선택하고 설명설명해서 생선한다.

 

! 이렇게 하면 Lab VPC에 인터넷 게이트웨이를 연결할 수 있다.

 

 



Actions를 선택하고 Attach to VPC를 선택한다.

 

 

이렇게 해주고 Attach internet gateway를 선택함

 

 

 


! 이렇게 하면 인터넷 트래픽이 퍼블릭 서브넷에 액세스할 수 있도록 인터넷 게이트웨이를 생성했다.



 


퍼블릭 서브넷의 인터넷 트래픽을 인터넷 게이트웨이로 라우팅

 

 


Route Tables를 선택하고 이런식으로 설정 후 Create route table을 선택해서 구성한다.

 

 

아래에서 Routes탭을 선택한다. Edit routes를 선택하고 Add route를 선택한다.

이렇게 설정해주고 Save changes를 선택한다.

 

 

 

Subnet associations탭을 선택하고 Edit subnet associations를 선택해서 이렇게 해준다. 

 

 

 

 

! 이렇게 해주면 라우팅 테이블을 구성한 것

 




퍼블릭 보안 그룹 생성


security groups를 선택하고 Create security group을 선택한다.

 


친절히 나와있는대로 해주고 Create security group을 선택해준다.

 

 

 

! 이렇게 된다면 HTTP 트래픽을 허용하는 보안 그룹을 성공적으로 생성했다. 

 

 




퍼블릭 서브넷에서 Amazon EC2 인스턴스 시작

 

 


Ec2검색해서 Launch instance를 선택한다. 위 사진에 나온대로 친절히 해주고 아래에 Launch instance를 해준다.



 

 

View all instances를 선택해서 이런식으로 될때 까지 기다린다.
! 이렇게 되면 퍼블릭 서브넷에서 Amazon EC2 인스턴스를 시작했다.

 

 



HTTP를 통해 퍼블릭 인스턴스에 연결



 

Public Instance를 선택에 아래에 Networking을 눌러서 Public IPv4 DNS의 주소를 복사해서 새 탭에서 열어준다.


이렇게 되면 퍼블릭 서브넷에서 Apache 웹 서버를 성공적으로 시작하고 HTTP 연결을 테스트 했다.


 


Session Manager를 통해 퍼블릭 서브넷의 Amazon EC2 인스턴스에 연결


 

EC2를 검색하고 Instances를 선택한다. Public Instance선택 후 Connect를 선택한다.


 

 

Session Manager에서 Connect를 해준다.

 

 

 


콘솔창에서 
cd ~
curl -I https://aws.amazon.com/training/
를 하게 되면 이런식으로 출력이 된다.

이렇게 되면 Session Manager를 사용하여 퍼블릭 인스턴스에 연결했다.

 




NAT 게이트웨이를 생성하고 프라이빗 서브넷에서 라우팅 구성



VPC를 검색하고 NAT gateways를 선택하고 Create NAT gateway를 선택한다.


 

 

83~ 설명설명 해주고 Create NAT gateway를 해준다.
그러면 이렇게 된다.




 

Route tables를 선택하고 Create route table을 선택하고 구성한다.


 

 

이런식으로 설정 해주고 

 

 

 

Routes에서 Edit routes를 선택하고 Add route를 해줌

 

 

 

Subnet associations탭에서 Edit subnet associations를 선택해서 이렇게 해준

 

 

 

이렇게 하면 NAT 게이트웨이를 생성하고 프라이빗 라우팅 테이블을 구성했다.

 




프라이빗 리소스용 보안 그룹 생성


 

Security groups를 선택하고 Create security group을 선택함


 

 

99~ 설명설명 해주고 Create security group을 해주면 아래 사진처럼 나오게된다.

 

 




프라이빗 서브넷에서 Amazon EC2 인스턴스 시작

 



EC2검색해주고 Launch instance를 눌러주고 108~

 

 

다 설정하고 나면 이런 화면으로 바뀌게 된다.

 



프라이빗 서브넷에서 Amazon EC2 인스턴스를 시작한 것



프라이빗 서브넷의 Amazon EC2 인스턴스에 연결


 

선택 후 Connect를 선택한다.


 

 

이러한 콘솔 창이 뜨면 복사해서 넣어준다.

 



이렇게 되면 Session Manager를 사용하여 프라이빗 인스턴스에 연결했다.




퍼블릭 인스턴스에서 프라이빗 인스턴스 연결 테스트


 

내 Private Instance를 선택해서 Details탭에서 Private IPv4 addresses를 복사해서
Public Instance를 선택하고 Connect를 선택해서 창에 핑을 해보면 안가는걸 확인할 수 있다.


프라이빗 인스턴스에 대한 ping요청이 실패합니다. 이 과제에서는 콘솔을 사용해 프라이빗 인스턴스로의 ping을 실행하려면 Private SG에 필요한 올바른 인바운드 규칙을 파악해야한다.

 



인스턴스 메타데이터 검색

 

Public Instance를 선택해서 Connect를 선택해서 이렇게 해주면 
이것은 실행중인 Amazon EC2 인스턴스에서 인스턴스 메타데이터를 검색하는 방법을 알았다.

 



[ 실습 종료 ]



 



AWS Lambda


1. 시간이 짧다
2. 관리 부담이 없다
3. 실행할 때만 비용 발생( 기존 서버는 미사용 시에도 비용발생 )



 

서버리스 컴퓨팅

 

 

 

그 안에 있는것이 람다서비스이다.
이 람다도 개발자가 코드만 잘 짜면 딱히 할것은 없다.
람다의 핵심 구성요소는 이벤트 소스와 함수이다.


 

 

람다의 이벤트 소스 예제

 

 

람다의 사용 사례

 






모듈 5 : 스토리지


 

스토리지는 크게 3가지로 나눠진다.



 

이런 스토리지에는 이런 서비스들이 있다.

 

 

그 중 객체 스토리지에 S3는 내구성이 굉장히 뛰어나다는 장점이 있다.

 

 

 

S3의 사용 사례
인터넷이 연결되어있다면 저장되어있는 데이터에 접근할 수 있다.

 

 

 

S3에서 가장 먼저 버킷을 만든다.
버킷이름은 전세계적으로 유일한 이름을 써야한다.


 

 

S3의 액세스 제어 기본 설정으론 본인만 쓰게 하는 것
퍼블릭 설정은 인터넷에 모두 노출되기 때문에 조심해야함
여기서 액세스 정책이 아니라 번역오류이다. 원래는 액세스 리스트이다.


 

 

서버 측 암호화 키 유형


 

 

S3 스토리지 클래스
저장비용으로는 왼쪽으로 갈수록 높은 비용에 액세스 빈도 높음 오른쪽으로 갈수록 낮은비용에 액세스 빈도가 낮다.
요청처리비용은 왼쪽으로 갈수록 저렴하고 오른쪽으로 갈수록 비싸진다.


 

 

S3 버전 관리
무언가 잘못했을 때 돌아가게 해주는 기능이다.
코드형 인프라를 통해 정의



 



[ S3 실습 ]


 

저 움직이는 사진을 바꾸고싶을 때 S3를 사용해서 바꾸고싶다.


 

 

두개의 움짤을 다운받아 같은 파일명으로 해주고 같은 파일명이면 같이 못두니까 새 파일에 넣어준다.


 

 

S3의 대시보드로 와서 Buckets을 만들것이다.


 

 

Bucket name은 글로벌하게 중복이 안되게 해야한다. 이게 중복이 아니게끔 빌어야지 뭐..
그리고 ACL을 켜준다. 


 

 

 

만들어지면 이렇게 보인다.

 

 

 

드래그 앤 드랍으로 파일을 업로드할 수 있고 그 업로드한 파일의 정보를 보면 URL도 있는데 그 URL을 복사해서 새 탭에서 하면 파일이 보이지 않는다. 권한이 없어서 볼 수 없는 것
그것을 보기 위해서 퍼블릭 설정을 해준다. 체크해주고 Action에서 Make public을 해준다.
그리고 새로고침을 해주면 움짤을 확인할수 있다.

 

 

 

아까 var/www/html/basic/company에 와서 URL을 내가 저장한 움짤로 바꿔준다.

 



 

그 Web Server에서 새로고침을 해주면 내가 저장한 짤로 할 수 있다.

 


아까 저장한 같은 파일명의 다른 움짤을 업로드를 해서 올려주고 확인해보면 안된다.



 

이쪽으로 들어와서 Bucket policy에서 정책을 추가해줄것이다. 우리가 항상 자료를 받아오던 그 페이지에서 복사해서 가져온다. 정책에서 버켓이름은 우리 버켓으로 바꿔줘야한다.

 


[ 실습 완료 ]

 



S3의 파일이 업로드 속도가 느릴 때

 

 

파일의 한개의 크기가 너무 클 때 - 멀티파트 업로드라는 기능을 사용한다. 파일 하나를 여러개로 쪼갠다. 그리고 쪼개진 파일을 여러파트로 동시에 업로드한다.

 

 

 

거리가 너무 멀다 - 우선 가까운 엣지 로케이션을 사용해 업로드를 한다. 그 엣지 로케이션이 Amazon 네트워크를 사용해서 전송을 해준다. 


 




공유 파일 시스템


 

여러 인스턴스에서 실행되는 애플리케이션이 동일한 파일 시스템을 사용해야하는 경우


 

 

NFSv4는 리눅스에서는 지원하지만, Window에서는 지원하지 않는다. 그렇기 때문에 window에서 EFS 사용이 어렵다.


 

 

EFS의 이점


 

 

Window에서 EFS 사용이 불가하니 나온것이 FSx이다.
FSx는 사용하기가 복잡하다. 리눅스는 EFS, 윈도우는 FSx 사용하면 된다.

'학원' 카테고리의 다른 글

2023/09/01 AWS  (0) 2023.09.01
2023/08/31 AWS  (0) 2023.08.31
2023/08/29 AWS ( 내용 날아감 )  (0) 2023.08.30
2023/08/28 AWS  (0) 2023.08.28
2023/08/24 파이썬(함수)  (1) 2023.08.24