220527

HyeonKi Jo·2022년 5월 27일
0
post-thumbnail

AWS

IAM

  • 계정, 사용자, 사용자 그룹을 다루는 서비스
  • 사용자 계정을 만들고, 비밀번호, Credential.csv파일을 생성할 수 있었다.
  • 또, 사용자 그룹을 생성해서, 사용자들의 권한을 관리했다.

인스턴스

  • AWS 컴퓨트서비스
  • AWS 스토리지 서비스
  • AWS 이미지 서비스
  • AWS 네트워크 서비스
  • 위 네가지 서비스들을 모두 사용해서 인스턴스 하나를 생성할 수 있었다.

AWS서비스 요금

  • AWS결재 대시보드를 확인한다.
  • 청구서를 확인해볼 수 있다.
  • Data Transfer는 한국에서서는 개념이 익숙하지 않지만,
    내 서버에서 나가는 데이터의 요금을 말한다.
    • 즉, 서버에서 제공하는 데이터, 웹페이지등의 요금을 뜻한다.
    • 이부분이 생각외로 요금이 많이 나갈 수 있다.

4. AWS 스토리지 서비스

  • AWS 클라우드 스토리지는 데이터 스토리지를 서비스로서 관리하고 운영하는 클라우드 컴퓨팅 공급자를 통해 데이터를 인터넷에 저장하는 클라우드 컴퓨팅 모델이다.
  • 객체스토리지 : URL로 데이터에 접근 가능
  • 파일스토리지 : 네트워크 공유 폴더 (NFS, SAMMBA)를 마운트해서 파일을 공유하는 것
  • 블록스토리지: 레고 블록처럼 (주로 4096Byte) 데이터를 저장하는 스토리지, OS, App설치
    가 있다.

먼저 인스턴스 생성

  • 이름 : WEB02
  • AMI (OS 이미지, 이미지에서 복사본을 가져와 사용하게 된다. == 클라우드 이미지) : Amazon linux2 Kernel5
  • 인스턴스 유형 : t2.micro
  • 키페어 : My-key.pem (어제 만든것)
  • 서브넷 : ap-northeast-2a
  • 스토리지 : 8Gb gp2 + 스토리지 추가를 눌러서 하나를 더 연결해준다.
  • 보안그룹 : SG-WEB
  • 위 설정으로 인스턴스를 생성해준다.
  • 접속 확인
  • df -f를 확인해보면 추가 스토리지가 연결이 되지 않았다.
  • lsblk를 확인하면 인식은 되지만 mount가 되지 않았다.
  • sudo mkfs -t ext4 /dev/xvdb : /dev/xvdb device모음에서 xvdb를 ext4타입으로 포맷한다.

볼륨생성



볼륨연결



  • 처음 인스턴스 생성시 볼륨과 추가된 볼륨들이 모두 연결되어 있다.
  • MobaXterm에서도 확인할 수 있다.
  • 이름이 조금 달라졌지만, 결국 아까 포맷한 디스크 드라이브를 새로 폴더를 만들어 거기에 마운트했다.

웹서버 설치

  • 사용자 데이터로 httpd를 설치했고, echo명령어로 간단한 html을 만들었다.
  • 그러나 에러가 나온다.
  • 어제, 보안그룹에서 SG-WEB에서 HTTP접속을 ELB-ALB에서만 접속이 가능하게 설정했기 때문이다.
  • 수정보다 삭제하고 생성하는것이 더 삐르다.
  • 이렇게 HTTP접근은 모든 IPv4주소에서 들어올 수 있도록 허용한다.

AWS.tar파일 압축해제

  • sudo tar -xvf aws.tar -C /var/www/html/ 압축파일을 해제한다.

WEB02 생성

  • WEB02
  • Ubuntu 18
  • Subnet ap-northeast 2-c 로 만들어준다.

볼륨 수정

  • 볼륨을 클릭하고, 수정을 누르면
  • 이렇게 용량을 증가시킬 수 있다.
  • 볼륨에 용량이 증가된것을 볼 수 있다.
  • sudo growpart /dev/xvda 1
    • 여기서 xvda의 1파티션을 growpart한다.
  • lsblk
    • 위 이미지에서 10Gb로 늘어난 것을 볼 수 있다.
    • 우분투의 경우지만 가용공간은 10Gb지만 /볼륨이 8Gb밖에 사용하지 못한다.
  • df -Th
    • 그러나 아직 실제 사용공간은 8Gb밖에 사용하지 못한다.
  • sudo xfs_growfs -d /
    • XFS 파일 시스템 확장
    • /볼륨을 xfs_growfs 명령어로 최대 10Gb의 가용공간을 최대로 사용하게 한다.
  • df -Th
    • 다시 확인하면 10Gb로 잘 나온다.

볼륨 분리하고 다른 인스턴스에 연결해보기

  • WEB01에 루트볼륨 외의 나머지 볼륨을 umount 해준다.
  • mount는 안되어있지만 볼륨이 연결은 되어있다.
  • 루트볼륨을 제외한 다른 볼륨을 분리해준다.
  • 그냥 우분투에 연결은 할 수 없고,
  • 스냅샷을 생성하여 붙인다.
  • 스냅샷을 그대로 생성하고, 아래 WEB01-ADD-SNAPSHOT이라는 Name태그를 붙혀준다.
  • 스냅샷으로 볼륨, 이미지, 복사등을 할 수 있다.
  • 우리는 스냅샷을 이용해 매우 큰 용량의 데이터를 옮기기 위해, 볼륨 자체를 옮기는 작업을 하는 것이다.
  • 그냥 볼륨을 분리하고 연결하는 작업은, WEB01(ap-northeast-2a)에서 WEB02(ap-northeast-2c)로 옮길 수 없다.
  • 그래서 WEB01에서 볼륨의 스냅샷을 만들어 WEB02의 볼륨으로 만드는 것이다.
  • 스냅샷으로 볼륨 생성 클릭 후, 이처럼 볼륨을 생성해준다.
    • 가용역역은 WEB02가 존재하는 2c로 연결해 준다.
    • 또, 알아볼 수 있도록 태그로 이름을 연결해준다.
  • 스냅샷으로 볼륨을 생성하고, 그 볼륨을 연결하면, 연결할 수 있는 인스턴스가 WEB02밖에 나오지 않는다.
    • 서브넷을 ap-northeast-2c로 했기 때문에 같은 영역의 인스턴스만 나오기 때문이다.
  • Ubuntu에서 잘 연결이 된것을 볼 수 있다.
  • 연결이 되었음을 확인하였으니, 디렉토리에 잘 마운트 시켜준다.

인스턴스 자기 IP 확인하기

  • 그냥 IP주소를 확인하면 내부 IP주소만 나오고 , 1:1 NAT로 연결된 외부 IP주소는 나오지 않는다.
  • curl http://169.254.169.254/latest/meta-data
    • 이 명령어를 입력하면 이미지와 같은 정보들을 얻을 수 있다.
    • IP주소를 출력할 수 있고, max주소 ami, block-device, hostname등 여러 정보를 텍스트로 얻을 수 있다.
  • curl http://169.254.169.254/latest/meta-data/public-ipv4
    • public-ipv4를 추가하면 자신의 IP주소가 출력된다.

볼륨 이름달기

  • 볼륨에 각각의이름을 달아서 구별하기 쉽게 만들어 준다.

루트볼륨 스탭샷 찍어주기

  • 대기중이다.

스냅샷 복사하기

  • 스냅샷 복사, 보내기로 리전을 이동할 수 있다.
  • ap-northeast-1 (도쿄)리전으로 스냅샷을 복사한다.
  • 여기서 10Gb를 전송하는 것이기 때문에 Outbound 비용이 청구될 것이다.
  • 도쿄리전으로 이동해서 스냅샷을 확인하면 스냅샷이 생성되어있는것을 볼 수 잇다.

도쿄리전에서 인스턴스 생성하기

  • 스냅샷에서 이미지 생성을 눌러준다.
  • 이 이미지로 인스턴스를 생성 할 수 있게 된다.
  • 이미지 이름을 SEOUL-IMAGE로 생성하고, AMI에서 확인해본다.
  • 인스턴스 생성에서 확인해보면, 내 AMI, 내 소유에서 방금 만든 SEOUL-IMAGE 이미지를 확인할 수 있다.
  • 키 페어는 리전 단위로 생성되기 때문에 새로 키페어를 만들어준다.

  • 도쿄의 네트워크 서브넷은 a, b, c 3가지가 있는것을 확인할 수 있다.
  • 보안그룹을 새로 만들어준다.
  • 사용자 데이터
    • 사용자 데이터는 이미 설치된 인스턴스를 복제한것이기 때문에 사용자 데이터 명령어가 필요 없다.
  • 실행중이다.

Route52

  • 각 리전의 ELB를 로드밸런싱한다.
  • 서울 ELB 영역이 Active중인데, 서울 ELB영역에 모두 문제가 생기면 FailOver상태에 빠지고, 도쿄의 ELB영역이 Stanby중이다가 Acrive상태로 들어가며 서비스를 이어간다.

도쿄 인스턴스 정리하기

  • 인스턴스 종료
  • 이미지 삭제
  • 스냅샷 삭제
    • 이미지를 삭제하지 않으면 스냅샷을 삭제할 수 없다.
    • AMI는 스냅샷을 바르게 설치하기 위해 있는 스냅샷의 껍데기와 같다.
    • AMI를 사용하면, 인스턴스 루트 볼륨에 스냅샷을 복사하게 되는 것이다.

EFS (Elastic File System)

  • NFS와 매우 똑같다.
  • 특히 마운트 하는 방법이 닮았다.
  • 마운트
	sudo yum install -y amazon-efs-utils
    sudo mkdir efs
    df -h
    sudo mount -t efs -o tls fs-cab386ab:/ efs
    df -h
  • EFS서버에 보안그룹을 따로 생성해야 한다.
    • 보안그룹을 통과하는 서버만 EFS서버를 마운트 할 수 있게 사용한다.
  • 또, EFS서버는 리전 영역 밖에서 존재하기 때문에 리전 별로 보안그룹을 관리할 수 있다.
profile
Talking Potato

0개의 댓글