나의 성장기 보안/코딩$

AWS Cloud Practitioner Essentials M3-1

AWS Cloud Practitioner Essentials
@2021-02-24 10:14:59

AWS의 통합형 서비스

-AWS 클라우드의 일부인 통합 서비스에 중점을 둔다. 내용을 쉽게 이해할 수 있도록 통합 서비스는 각각의 동영상에서 논의한다.

 

학습 목표 : AWS 플랫폼의 핵심 서비스와 일반적인 사용 사례에 대해 설명할 수 있다.

 


Elastic Load Balancer 서비스 (Application Load Balancer)

  • Application Load Balancer는 Elastic Load Balancer의 두 번째 로드 밸런서 유형이다.
  • Classic Load Balancer가 제공하는 대부분의 기능을 여전히 제공하지만 고유한 사용 사례에 맞는 몇 가지 기능과 개선사항이 추가되었다.
  • 새롭게 향상된 기능에는 다음과 같다.
    1. 추가 지원되는 요청 프로토콜
    2. 향상된 지표 및 액세스 로그
    3. 더 많은 대상 상태 확인
  • Application Load Balancer의 추가 기능은 다음과 같다.
    1. 경로 또는 호스트 기반 라우팅
    2. VPC의 기본 IPv6지원
    3. AWS 웹 애플리케이션 방화벽 통합 등을 사용하여 요청에 대한 추가 라우팅 매커니즘을 활성화하는 기능

Application Load Balancer를 사용하는 이유?

1. 하나는 컨테이너를 사용하여 마이크로 서비스를 호스팅하고 단일 로드 밸런서에서 해당 애플리케이션으로 라우팅하는 기능이다. Application Load Balancer를 사용하면 여러 요청을 동일한 인스턴스로 라우팅할 수 있지만 포트 기준의 경로는 다를 수 있다. 다양한 포트에서 수신하는 다른 컨테이너가 있는 경우 원하는 백엔드 애플리케이션에만 트래픽을 배포하는 라우팅 규칙을 설정할 수 있다.


Application Load Balancer를 사용할 때 알아야 할 용어 정리

Listener - 리스너는 구성한 Protocol 및 Port를 사용하여 연결 요청을 확인하는 Process이다. 리스너에 대해 정의한 규칙에 따라 로드 밸런서가 하나 이상의 대상 그룹에 있는 대상으로 요청을 라우팅하는 방법이 결정된다.

 

대상 - 대상은 설정된 리스너 규칙에 따른 트래픽의 목적지이다.

 

대상 그룹 - 각 대상 그룹은 지정된 Protocol과 Port 번호를 사용하여 하나 이상의 등록된 대상으로 요청을 라우팅한다. 대상은 여러 대상 그룹에 등록될 수 있다. 상태 확인은 대상 그룹별로 구성될 수 있다.

 

★ Application Load Balancer는 인스턴스 대신 대상을 등록하므로 대상 그룹은 대상을 로드 밸런서에 등록하는 방법이다.

 

Application Load Balancer가 백엔드 대상을 라우팅하고 구성하는 방법

  • 로드 밸런서에 대한 리스너를 구성할 때 로드 밸런서가 수신한 요청을 백엔드 대상으로 라우팅하는 방법을 지정하기 위한 규칙을만든다.
  • 이러한 대상을 로드 밸런서에 등록하고 로드 밸런서가 대상에 사용할 상태 확인을 구성하려면 대상 그룹을 만든다. 여기에서 볼 수 있듯이, 대상은 여러 대상 그룹에 속할 수도 있다. 

Application Load Balancer의 기능

- 향상된 기능과 추가된 기능을 모두 포함한다.

  • Application Load Balancer는 HTTP2 및 WebSocket 지원을 추가하여 이러한 지원 Protocol을 개선했다.
  • 지표 차원을 추가하고, 세부적인 상태 확인을 수행하고, 액세스 로그에 세부 정보를 추가하여, 모니터링 기능이 향상되었다.
  • 현재 지원되는 추가 기능에는 경로와 호스트 기반 라우팅이 있다.
    경로 기반 라우팅을 통해 요청의 URL을 기반으로 대상 그룹에 라우팅하는 규칙을 만들 수 있다.
    호스트 기반 라우팅을 사용하면 동일한 Load Balancer가 여러 도메인을 지원할 수 있고 요청한 도메인을 기반으로 대상 그룹에 요청을 라우팅할 수 있다.
  • 요청 추적을 사용하여 클라이언트에서 대상으로 요청을 추적하고 EC2 Container Service 예약 컨테이너를 사용할 때 동적 호스트 포트를 활성화하는 기능을 사용할 수 있다.

 

 

AWS Cloud Practitioner Essential M2-3

AWS Cloud Practitioner Essentials
@2021-02-23 13:46:14

Amazon Virtual Private Cloud(VPC)

-AWS 클라우드는 종량제 온디맨드 컴퓨팅뿐 아니라 관리형 서비스도 제공하며 모두 웹에서 액세스 할 수 있다. 이러한 컴퓨팅 및 리소스는 익숙한 네트워크 구조로 구현된 정상 IP 프로토콜을 통해 액세스 할 수 있어야 한다. 고객은 네트워킹 모범 사례를 준수하면서 규제 및 조직의 요구 사항도 충족해야 한다.

Amazon Virtual Private Cloud(Amazon VPC)는 네트워킹 요구 사항을 충족하는 AWS 네트워킹 서비스이다.

Amazon VPC를 통해 온프레미스 네트워크와 동일한 개념 및 구조를 많이 사용하는 AWS 클라우드 내 프라이빗 네트워크를 생성할 수 있으며, 나중에 살펴보겠지만 네트워크 설정의 복잡성 대부분이 제어, 보안 및 유용성을 희생하지 않고 추상화되었다.

  • Amazon VPC를 사용하면서 네트워크 구성을 완벽하게 제어할 수 있다.
    고객은 IP주소 공간, 서브넷 및 라우팅 테이블과 같은 일반 네트워킹 구성 항목을 정의할 수 있다.
  • 이를 통해 사용자는 인터넷에 공개할 수 있는 항목과 Amazon VPC 내에서 격리할 항목을 제어할 수 있다.
  • Amazon VPC를 네트워크의 보안 제어 계층에 배포할 수 있다. 여기에는 서브넷 격리, 액세스 제어 목록 정의, 라우팅 규칙 사용자 지정이 포함된다.
  • 수신 트래픽과 발신 트래픽의 허용 및 거부를 완전히 제어할 수 있다.
  • Amazon VPC에 배포된 후 고객의 클라우드 네트워크에 구축된 보안 이점을 누릴 수 있는 다양한 AWS 서비스가 있다.
  • Amazon VPC는 AWS 기초 서비스이며 다양한 AWS 서비스와 통합된다.
    ex) Amazon EC2 인스턴스는 고객의 Amazon VPC에 배포된다. 마찬가지로 Amazon RDS 데이터베이스 인스턴스는 고객의 VPC에 배포되며, 여기서 데이터베이스는 온프레미스 네트워크와 같이 네트워크 구조로 보호된다.
  • Amazon VPC를 이해 및 구현하면 다른 AWS 서비스를 완벽하게 사용할 수 있다.

Amazon VPC의 기능

1. AWS 리전 및 가용 영역(AZ)의 고가용성을 기반으로 구축

  • Amazon VPC는 리전 및 가용 영역(AZ)의 글로벌 인프라에 구축되어 AWS 클라우드에서 제공하는 고가용성을 손쉽게 활용할 수 있다.
  • Amazon VPC는 리전 내에 상주하고 여러 가용 영역에 걸쳐 존재할 수 있다.
  • 각 AWS 계정은 환경을 구별하는 데 사용할 수 있는 여러 VPC를 생성할 수 있다.
  • VPC는 IP주소 공간을 정의한 다음 서브넷으로 나눈다.

2. 서브넷

  • 가용 영역 내에 배포되어 VPC가 여러 가용 영역으로 확장된다.
  • 한 VPC에 많은 서브넷을 생성할 수 있다.
  • 네트워크 토폴로지의 복잡성을 제한하기 위해 적은 수의 서브넷을 권장하지만, 이는 전적으로 사용자에게 달려있다.
  • 서브넷과 인터넷 간의 트래픽을 제어할 수 있도록 서브넷용 라우팅 테이블을 구성할 수 있다.
  • 기본적으로 VPC 내 모든 서브넷은 서로 통신할 수 있다.
  • 서브넷은 일반적으로 퍼블릭 또는 프라이빗으로 분류된다.
    퍼블릭은 인터넷에 직접 액세스할 수 있고 프라이빗은 인터넷에 직접 액세스할 수 없다.

3. 라우팅 테이블

  • 서브넷을 퍼블릭으로 설정하려면 인터넷 게이트웨이를 VPC에 연결하고 퍼블릭 서브넷의 라우팅테이블을 업데이트하여 로컬이 아닌 트래픽을 인터넷 게이트웨이로 보내야 한다.
  • EC2인스턴스도 인터넷 게이트웨이로 라우팅하기 위한 퍼블릭 IP주소가 필요하다.

4. 인터넷 게이트웨이(GW)

5. NAT 게이트웨이

6. 네트워크 액세스 제어 목록(NACL)


VPC 예제

-컴퓨팅 리소스 및 AWS 서비스를 배포하기 위해 사용할 수 있는 Amazon VPC 예제를 설계해보자.

  • 고 가용성을 지원하고 여러 서브넷을 사용하는 네트워크를 생성할 것이다.

1. VPC는 리전 기반이므로 리전을 선택해야 한다.

2. VPC를 생성한다. (이름을 Test-VPC)

3. VPC의 IP 주소 공간을 정의한다. (10.0.0.0/16)
    10.0.0.0/16은 CIDR 형식이며 VPC에서 사용하는 IP주소가 65,000개 이상임을 의미한다.

4. 이름이 Subnet A1인 서브넷을 생성한다.
    256개의 IP 주소가 포함된 IP 주소 공간을 할당했다. 또한 이 서브넷이 가용 영역 A에 상주할 것임을 지정한다.
    10.0.0.0/24

5. 이름이 Subnet B1인 서브넷을 또 하나 생성한다.
    IP 주소 공간을 지정한다. 10.0.0.0/23
    하지만 이 서브넷은 512개의 IP주소를 포함한다.

6. Test-IGW라는 인터넷 게이트웨이를 추가한다.

7. Subnet A1은 퍼블릭 서브넷이 된다. 여기서 로컬이 아닌 트래픽이 인터넷 게이트웨이를 통해 라우팅된다.

8. Subnet B1은 프라이빗 서브넷이 된다. 이 서브넷은 인터넷에서 격리되어 있다.

VPC 네트워크 구조

자세한 내용은 aws.amazon.com/VPC를 참조하면 된다.


AWS 보안 그룹

- AWS Security Group는 Amazon Web Services에서 가장 중요하다. 또한 AWS 클라우드에서 데이터를 안전하게 보호할 수 있는 여러 강력한 보안 옵션을 제공한다.

  • AWS에서 보안 그룹은 가상 서버를 위한 내장된 방화벽과 같은 역할을 한다. 보안 그룹을 통해 인스턴스에 얼마나 쉽게 액세스할 수 있는지 완벽하게 제어할 수 있다.
  • 가장 기본적인 수준의 경우 인스턴스로 트래픽을 필터링하는 또 다른 방법이다.
  • 보안 그룹은 어떤 트래픽을 허용할지 거부할지 제어할 수 있다.
  • 인스턴스에 액세스할 수 있는 사용자를 결정하려면 보안 그룹 벽을 구성해야 한다.
  • 규칙은 인스턴스를 완전히 사적으로, 공개적으로 또는 그 중간으로 유지하는 것까지 다를 수 있다.

AWS 멀티 티어 보안 그룹의 예시

멀티 Tier Security Group의 예시

  • 위의 아키텍처에서는 이 멀티 티어 웹 아키텍처를 수용하기 위해 여러 보안 그룹이 생성된 것을 알 수 있다.
  • 웹 티어부터 시작하면 인터넷 어디에서나 웹 트래픽을 허용하는 규칙을 설정한 것을 알 수 있다.
    HTTP는 포트 80이고 HTTPS는 포트 443이다.
    인터넷 어디에서나 트래픽을 수용하기 위해 0.0.0.0/0 소스를 선택했다.
  • 앱 티어로 이동하면 웹 티어의 트래픽만 허용하는 보안 그룹이 있으며, 마찬가지로 데이터베이스 티어도 앱 티어의 트래픽만 수용할 수 있다.
  • 마지막으로 SSH포트 22를 통해 회사 네트워크에서 원격으로 관리할 수 있도록 생성된 규칙이 있음을 알 수 있다. 이제 콘솔로 전환하여 보안 그룹을 생성하는 법을 살펴보자

Amazon Security Group 생성

1. AWS Management Console로 이동하여 EC2 서비스를 클릭한다.

2. 탐색창에 Network & Security Group이 존재한다.

Network & Security

3. 클릭해서 보면 네트워크 보안 그룹을 확인할 수 있다.

4. 보안그룹을 생성하기 위해 Create Security Group를 클릭하면 팝업창이 표시된다.

5. 해당 창에서 이름, 설명 및 마지막으로 몇 가지 규칙을 만들 수 있음을 알 수 있다.

  • 다음으로 규칙을 따라가면 기본적으로 모든 인바운드 트래픽이 거부되고 모든 아웃바운드 트래픽이 허용되는 것을 확인할 수 있다.

  • 편집하려면 규칙을 추가하면 된다.
  • 트래픽 유형, 프로토콜, 포트 범위 및 소스별로 편집할 수 있다.

모범 사례는 인스턴스에 필요한 트래픽을 파악하고 해당 트래픽만 특별히 허용하는 것이다.

6. Web Server Security Group를 생성해보자.

  • 0.0.0.0/0 은 접속하는 모든 트래픽을 허용한다.
  • ::0은 Ipv6정책에 대해서 설정하는 것이다.

AWS Cloud Practitioner Essential M2-2

AWS Cloud Practitioner Essentials
@2021-02-23 12:14:45

Amazon Elastic Block Store(EBS)

- EBS 볼륨은 EC2인스턴스의 스토리지 단위로 사용될 수 있다.

 

  • AWS에서 실행 중인 인스턴스에 디스크 공간이 필요할 때마다 EBS 볼륨을 생각하면 된다.
  • 이러한 볼륨은 하드 디스크 또는 SSD 디바이스가 될 수 있다.
  • 사용한 만큼만 지불할 수 있고 볼륨이 더 이상 필요하지 않게 되면 언제라도 삭제하여 요금을 지불하지 않을 수 있다.
  • EBS볼륨은 안정성과 가용성을 목표로 설계된다.
    볼륨에 있는 데이터는 가용 영역에서 실행 중인 여러 서버에 자동으로 복제된다.
  • EBS 볼륨과 하드 디스크 또는 SSD 등과 같은 물리적 미디어 디바이스를 비교했지만, EBS 볼륨이 블록 수준 복제 덕분에 더욱 안정적이다.
  • EBS 볼륨 생성 시 요구 사항에 가장 적합한 스토리지 유형을 선택할 수 있다.
    성능 및 요금 요구 사항을 기반으로 마그네틱 또는 SSD 중에서 선택할 수 있다.
  • 적절한 작업에 맞춰 적절한 도구를 선택하는 것이 중요하다.
    ex) 데이터베이스 인스턴스를 실행 중인 경우 데이터에 대한 보조 볼륨으로 사용할 데이터베이스를 구성할 수 있다. 이는 운영 체제에 할당된 볼륨보다 빠른 성능을 발휘할 수 있다.
    또는 로그용으로 마그네틱 볼륨을 할당할 수도 있다. 마그네틱이 훨씬 저렴하기 때문이다.
  • Amazon EBS는 보다 높은 수준의 데이터 내구성을 제공하기 위해 볼륨의 특정 시점을 스냅샷을 생성하는 기능을 제공하며 AWS를 사용하면 언제든지 스냅샷에서 새 볼륨을 다시 생성할 수 있다.
  • 개선된 재해 복구 보호를 위해 스냅샷을 공유하거나 다른 AWS 리전으로 스냅샷을 복사한다.
    ex) 스냅샷을 암호화하고 버지니아에서 도쿄까지 공유할 수 있다.
  • 추가 비용 없이 EBS 볼륨을 암호화할 수 있다. 암호화는 EC2 측에서 이루어진다.
    따라서 EC2 인스턴스와 AWS 데이터 센터 내부의 EBS 볼륨 간에 이동하는 데이터는 전송 중에 암호화된다.
  • 회사가 성장함에 따라 EBS 볼륨에 저장되는 데이터의 양도 늘어날 것이다. EBS 볼륨은 용량을 늘리고 다른 유형으로 변경할 수 있으므로 하드 디스크에서 SSD로 변경할 수 있다.
    ex) 50GB 볼륨에서 16TB 볼륨으로 변경할 수 있다.
  • 인스턴스를 종료할 필요 없이 즉시 이 크기 조정 작업을 수행할 수 있다.

EBS Volume 시연

EC2 Management Console에서 EC2 인스턴스와 EBS볼륨은 EC2 콘솔에 존재한다.

EBS

  • 인스턴스를 클릭하면 현재 실행중인 인스턴스, 대기중인 인스턴스 등을 볼 수 있다.
  • 볼륨은 위의 빨간 박스의 볼륨 사이드바에 위치한다.
  • 새 볼륨을 생성하고 이 새 볼륨을 인스턴스에 연결할 수 있다.
  • EBS 볼륨을 인스턴스가 상주하는 곳과 동일한 가용 영역에 생성해야 한다.

  • 따라서 볼륨을 생성할 때 인스턴스가 ap-northease-2c에 있다면 볼륨도 동일한 가용영역에 생성해야 한다.

볼륨 동일한 가용 영역

  • 여기에 볼륨 유형을 마그네틱 또는 SSD와 같이 볼륨을 지정하는 옵션으로 선택할 수 있다.
  • 범용 SSD는 GB크기에 대해서만 요금이 청구된다.
  • 25GB 볼륨을 생성하고자 하는 경우 크기에 25GB를 지정하면 된다.
  • 만약 스냅샷이 존재한다면 스냅샷 ID를 선택하여 복원할 수 있다.

그 후 Attach Volume 버튼을 클릭하여 연결할 인스턴스를 지정할 수 있다.

  • EBS 볼륨을 생성하고, EC2인스턴스에 연결하고, 형식을 지정하는 것이 얼마나 쉬운지 알 수 있다.
  • 볼륨연결을 인스턴스와 해제하더라도 사용가능(available)이라고 표기괸다.
  • 현재 인스턴스와 연결되어 있다면 사용중(in-use)이라고 표기된다.
  • 언제든 같은 가용영역에 존재하는 인스턴스와 연결하고 해제할 수 있다.
  • 볼륨에 태그도 지정할 수 있다. 데이터베이스에서 이 볼륨을 사용 중인 경우 데이터베이스 볼륨이라는 태그 값을 지정할 수 있다.
  • 태그가 매우 중요한 이유는 AWS 리소스에 태그를 지정할 경우 태그 기준으로 비용을 분석할 수 있기 때문이다.
    즉, 태그 키 이름과 태그 값 데이터베이스 볼륨이 포함된 모든 볼륨에서 특정 시간 동안 얼마나 비용이 발생하는지 알 수 있다.
  • 같은 방법으로 EC2 인스턴스, EBS 스냅샷, 그리고 태그를 지원하는 모든 것의 비용을 알 수 있다.

Amazon Simple Storage Service(S3)

- 데이터를 저장하고 검색할 수 있는 간단한 API를 제공하는 완전 관리형 스토리지 서비스이다.

즉, Amazon S3에 저장하는 데이터는 특정 서버와 관련이 없으므로 사용자가 인프라를 직접 관리할 필요가 없다.

  • Amazon S3 객체를 원하는 만큼 추가할 수 있다.
  • Amazon S3는 수조 개의 객체를 보유하면서 초당 최대 수백만 개의 요청을 처리한다.
  • 객체는 이미지, 동영상 또는 서버 로그와 같은 거의 모든 데이터 파일이 될 수 있다.
  • Amazon S3는 최대 몇 테라바이트 크기의 객체를 지원하므로, 데이터베이스 스냅샷까지도 객체로 저장할 수 있다.
  • Amazon S3는 HTTP 또는 HTTPS를 통해 인터넷에서 데이터에 대한 지연시간이 짧은 액세스를 제공하므로 언제 어디서나 데이터를 검색할 수 있다.
  • 또한 가상 사설 클라우드 엔드포인트를 통해 Amazon S3에 비공개적으로 액세스할 수 있다.
  • Identity and Access Management 정책, S3 버킷 정책 및 객체별 액세스 제어 목록을 사용하여 데이터에 액세스할 수 있는 사용자를 세밀하게 제어할 수 있다.
  • 기본적으로 사용자 데이터는 공개적으로 공유될 수 없다.
  • 또한 전송 중인 데이터를 암호화하고 객체에서 서버 측 암호화를 사용하도록 지정할 수 있다.

동영상 파일을 가져온다고 가정해 보자

1. 먼저 파일을 저장할 위치가 필요하다.

2. Amazon S3에서 데이터를 보관할 버킷을 생성할 수 있다.

3. 해당 동영상을 버킷에 객체로 추가하기 위해서는 키를 지정해야 한다.

4. 해당 키는 나중에 객체를 검색할 때 사용할 수 있는 문자열이다.
일반적인 방법은 파일 경로와 유사한 방식으로 문자열을 설정하는 것이다.

동영상을 해당 키가 포함된 객체로 Amazon S3에 저장해보겠다.

  • 5. Amazon S3에 버킷을 생성하면 해당 버킷은 특정 AWS 리전에 연결된다. 버킷에 데이터를 저장할 때마다 해당 데이터는 선택한 리전의 여러 AWS 시설에 중복 저장된다.
    Amazon S3 서비스는 2개의 AWS 시설에서 동시에 데이터가 손실되는 경우에도 데이터를 안정적으로 저장하도록 설계되었다.
  • Amazon S3는 데이터가 증가하더라도 버킷 뒤에서 스토리지를 자동으로 관리한다. 이를 통해 사용자는 즉시 시작하고 애플리케이션 요구에 따라 데이터 스토리지를 확장할 수 있다.
  • 또한 Amazon S3는 많은 양의 요청을 처리할 수 있도록 확장된다.
  • 스토리지 또는 처리량을 프로비저닝할 필요가 없으며 사용한 양에 대해서만 비용이 청구된다.
  • Amazon S3는 AWS Management Console, AWS CLI 및 SDK를 사용하여 액세스할 수 있다.
  • REST 엔드포인트를 통해 버킷 내 데이터에 직접 액세스할 수 있다.
  • HTTP 또는 HTTPS 액세스를 지원한다.

버킷 이름, 선택한 리전의 Amazon S3 엔드포인트, 객체를 저장할 때 사용한 키로 구성된 URL

위 그림의 URL 기반 액세스를 지원하려면 S3 버킷 이름이 전역적으로 고유하고 DNS를 준수해야 한다. 또한 객체 키는 URL에 안전한 문자를 사용해야 한다.


사실상 무제한의 데이터를 저장하고 어디서든 해당 데이터에 액세스할 수 있는 이러한 유연성 덕분에 Amazon S3 서비스는 광범위한 시나리오에 적합하다.

 

S3의 일반 사용 사례

1. 애플리케이션 자산 저장

  • 모든 애플리케이션 데이터의 위치로서, S3버킷은 EC2 또는 기존 서버의 애플리케이션을 비롯하여 애플리케이션 인스턴스가 액세스할 수 있는 객체를 저장하기 위한 공유 위치를 제공한다.
  • 이는 사용자 생성 미디어 파일, 서버 로그 또는 애플리케이션에서 공통 위치에 저장해야 하는 다른 파일에 유용할 수 있다.
  • 또한 웹에서 직접 콘텐츠를 가져올 수 있기 때문에 애플리케이션이 해당 콘텐츠를 제공할 필요 없이 클라이언트가 Amazon S3에서 직접 데이터를 가져오도록 할 수 있다.

2. 정적 웹 호스팅

  • S3 버킷은 HTML, CSS, JavaScript 및 기타 파일을 포함하여 웹 사이트의 정적 콘텐츠를 제공할 수 있다.

3. 백업 및 재해 복구

  • Amazon S3는 뛰어난 내구성 덕분에 데이터 백업을 저장할 수 있다.
  • 가용성 및 재해 복구 기능을 한층 강화하기 위해 Amazon S3는 한 리전의 S3 버킷에 들어있는 데이터를 다른 S3리전으로 자동 복제할 수 있는 교차 리전 복제를 지원하도록 구성할 수도 있다.

4. 빅 데이터를 위한 스테이징 영역

  • Amazon S3의 확장 가능한 스토리지 및 성능 덕분에 다양한 빅 데이터 도구를 사용하여 분석하려는 데이터를 준비하거나 장기간 보관할 수 있다.
    ex) Amazon S3의 DataStage는 Amazon RedShift로 로드되어 Amazon EMR에서 처리되거나 Amazon Athena와 같은 도구를 사용하여 쿼리될 수 있다.
  • 또한 Snowball과 같은 AWS Import/Export디바이스를 사용하여 대량의 볼륨을 Amazon S3로 가져오거나 내보낼 수 있다.

5. 그외 다수

  • Amazon S3를 사용하여 데이터를 저장하고 액세스하는 것이 매우 간단하므로 AWS 서비스 및 애플리케이션의 다른 부분에 자주 사용되는 것을 쉽게 발견할 수 있다.

AWS에서 애플리케이션을 빌드할 때 Amazon S3가 어떻게 도움이 되는지 살펴볼 수 있다.


Amazon S3 시연

Amazon S3 섹션

  • 새 버킷을 생성한 다음 데이터를 추가하고, 이 데이터를 검색해보자

버킷 이름

  • 버킷 이름은 DNS를 준수해야 한다.
  • 다음은 리전을 설정해야 한다. 이 경우에는 Amazon EC2 인스턴스에서 실행 중인 애플리케이션이 이 데이터에 액세스해야 하고 해당 EC2 인스턴스 세트가 서울리전에 있음을 알고 있으므로 리전을 서울로 설정한다.
  • 해당 시점에서 버킷 생성에 필요한 모든 결정을 내렸다.
  • 다른 설정기능들은 버킷의 버전 관리 또는 기본 권한 변경과 같은 것들이다.
    권한 변경을 통해 버킷에 대한 액세스를 퍼블릭 인터넷 사용자 또는 특정 AWS 사용자에게 할당할 수 있다.
  • 여기서는 기본값을 사용하기 때문에 생성버튼을 눌러주면 된다.

버킷 생성

이제 버킷이 생성된 것을 확인할 수 있고 이름은 amazing-bucket-55임을 확인할 수 있다.

  • 버킷을 클릭하면 버킷이 비어 있다는 메시지가 표시되고 새 객체를 업로드할 수 있다.
  • 또한 이 버킷에 대한 속성 정보도 볼 수 있다.

업로드 버튼

  • 업로드 버튼을 클릭하여 Amazon Management Console에서 파일을 끌어다 놓고 파일에 대한 권한을 수정할 수 있다.
  • 하지만 AWS CLI를 통하여 파일을 업로드 하는 것을 선호한다.
  • AWS CLI 터미널 창을 열고 test파일을 나중에 EC2인스턴스에서 액세스할 수 있도록 S3 버킷에 복사해보자

asw s3 cp demo.txt s3://amazing-bucket-55/test.txt

 

위의 명령어를 사용하여 demo.txt를 S3 버킷에 복사할 수 있다.

 

aws s3 sync some-folder s3://amazing-bucket-55/files

 

  • 로컬 시스템에 있는 폴더의 내용을 가져올 수도 있고 sync명령을 사용하여 해당 폴더를 동기화시킬 수도 있다.
    그러면 AWS CLI가 각 파일을 처리하고 버킷에 있는지 확인한 다음, 버킷에 없는 경우 업로드한다.
  • 계속해서 EC2 인스턴스에 대해 SSH를 수행하고, 인스턴스가 계정의 모든 S3 버킷에 대한 읽기 액세스를 제공하는 IAM 역할로 프로비저닝되었는지 확인할 수 있다.

ssh -i ../secret/xxxx.pem ec2-user@ec2-35-163-224-121.us-west-2.compute.amazonaws.com

 

  • 그러면 이 EC2 인스턴스에서 Amazon S3 amazing-bucket-55에 무엇이 있는지 확인해보겠다.
  • S3 amazing-bucket-55에 aws s3 ls를 수행하고 이를 반복하여 모든 경로를 확인한다.

aws s3 ls s3://amazing-bucket-55 --recursive

 

  • 파일이 3개가 있음을 확인할 수 있다.
  • 전과 같이 copy명령을 수행할 수 있지만 지금은 반대로 버킷 이름부터 지정한다.

파일 다운로드

aws s3 cp s3://amazing-bucket-55/test.txt

 

  • 버킷에서 test.txt파일을 복사했다.
  • 계속해서 로컬 EC2 인스턴스 스로티지에서 ls를 수행하면 S3의 객체가 표시되는 것을 확인할 수 있다.

aws s3 sync s3://amaing-bucket-55/file folder

 

  • 해당명령을 수행하면 EC2 인스턴스의 로컬 폴더로 동기화할 수 있다.
  • 이제 해당 폴더를 다운로드 할 수 있고 해당 폴더에 2개의 파일이 있음을 확인할 수 있다.

이것으로 데이터를 저장하고 데이터를 백업하는 간단한 Amazon S3 시작하기를 살펴봤다.

Amazon Management Console로 돌아가 새로 고침을 하면  S3버킷에 새로운 파일이 추가된 것을 확인할 수 있다.

이들은 관리 콘솔 및 AWS CLI에서 본 것과 동일한 파일이다.

 


AWS Global Infra

- AWS 기반 IT 호스팅에 대한 모든 것, 그리고 AWS를 설정하는 방식이 왜 중요한지에 대한 얘기

  • AWS 글로벌 인프라는 다음 세 가지 주제로 나눌 수 있다.
    AWS 리전
    AWS 가용영역
    AWS 엣지 로케이션

Region

  • 리전은 2개 이상의 가용 영역을 호스팅하는 지리적 영역이고, AWS 서비스에 대한 구성 수준이다.
  • 리소스를 배포할 때 리소스가 위치하는 리전을 선택한다.
    이때, 어느 리전이 비용을 최소화하고 규제 요구 사항을 준수하면서도 지연시간을 최적화하는 데 도움이 되는지 고려하는 것이 중요하다.
  • 비즈니스 요구 사항을 더 잘 충족하기 위해 여러 리전으로 리소스를 배포할 수도 있다.
    ex) 개발자 리소스를 한 리전에 배포해야 하지만 기본 고객 기반이 다른 리전에 있는 경우 개발 자산을 한 리전에 배포하고 고객용 솔루션은 다른 리전에 배포할 수 있다.
    ex) 또는 동일한 리소스를 여러 리전에 배포하여 고객의 위치와 상관없이 전 세계적으로 일관된 경험을 제공할 수 있다.
  • 최소의 비용으로 짧은 시간 내에 지연 시간을 최소화하고 조직의 민첩성을 향상시킬 수 있다.
  • 리전은 서로 완전 분리된 개체이다. 한 리전의 리소스는 다른 리전으로 자동복제되지 않으며, 모든 서비스가 모든 리전에서 이용 가능한 것은 아니다.
    물론 Amazon S3 또는 Amazon EC2와 같이 모든 리전에서 이용 가능한 서비스도 있다.
  • aws.amazon.com/about-aws/global-infrastructure해당 페이지에서 각 리전에서 사용 가능한 서비스를 확인할 수 있다.

Available Zone(가용 영역)

- 가용 영역은 특정 리전에 존재하는 데이터 센터들의 모음을 의미한다.

  • 각 가용 영역은 물리적으로 서로 격리되어 있지만 빠르고 지연 시간이 짧은 네트워크로 서로 연결되어 있다.
  • 각 가용 영역은 물리적으로 구분된 독립적인 인프라이다.
  • 물리적은 물론 논리적으로 분리되어 있다.
  • 자체적으로 개별 무정전 전원 공급 장치, 현장 예비 발전기, 냉각 장비 및 네트워크 및 연결 장치를 보유하고 있다.
  • 독립적인 전력 회사의 망을 통해 전력이 공급되며, 여러 개의 티어 1 전송 서비스 공급업체를 통해 네트워크 연결된다.
  • 가용 영역을 격리함으로써 다른 영역의 장애로부터 보호되고 특정 리전에서 고가용성 및 데이터 중복성이 보장된다.
    그러므로 하나의 영역이 중단되더라도 다른 영역에서 요청을 처리할 수 있다.
  • 이것은 AWS가 여러 가용 영역에 데이터를 프로비저닝하는 것을 모범 사례로 추천하는 이유이기도 하다.

 

Edge Location(엣지 로케이션)

- AWS Edge Location은 Amazon CloudFront라고 하는 콘텐츠 전송 네트워크(CND)를 호스팅한다.

  • CloudFront는 고객에게 콘텐츠를 전송하는 데 사용된다.
  • 콘텐츠에 대한 요청이 자동으로 가장 가까운 엣지 로케이션으로 라우팅되므로 콘텐츠가 더욱 빨리 최종 사용자에게 전송된다.
  • 엣지 로케이션의 글로벌 인프라를 사용하면 최종 고객이 더욱 빠르게 콘텐츠에 액세스할 수 있다.
  • 일반적으로 엣지 로케이션은 가용 영역의 리전과 마찬가지로 인구 밀도가 높은 지역에 위치하기 때문이다.

AWS Cloud Practitioner Essential M2-1

AWS Cloud Practitioner Essentials
@2021-02-23 09:23:37

AWS 핵심 서비스

 

- 핵심 서비스에 대한 소개

여러 AWS 클라우드 서비스에 대한 대략적인 정보를 제공하는 동영상들로 구성

내용을 더 쉽게 이해할 수 있도록 핵심 서비스는 각각 동영상에서 제공

 

※ 모듈 완성 시

AWS 서비스 및 관련 일반 사용 사례를 설명할 수 있다.

 


1. Amazon Elastic Cloud Compute(EC2)

1.1. Amazon EC2의 개요

- 제품에 대한 몇 가지 기본 정보를 보여준 후 Amazon EC2 인스턴스를 빌드 및 구성하는 방법을 보여준다.

 

1.2. EC2란 무엇인가?

Elastic Compute Cloud의 약자이다.

Compute(컴퓨팅)는 제공되는 컴퓨팅 또는 서버 리소스를 나타낸다. 서버를 활용하여 여러 가지 흥미로운 활동을 수행할 수 있다.

ex) 애플리케이션 서버, 웹 서버, 데이터베이스 서버, 게임 서버, 메일 서버, 미디어 서버, 카탈로그 서버, 파일 서버, 컴퓨팅 서버, 프록시 서버, 기타...

Cloud(클라우드)는 클라우드에서 호스팅되는 컴퓨팅 리소스라는 사실을 나타낸다.

Elastic(탄력적)은 올바르게 구성된 경우 애플리케이션의 현재 요구 사항에 따라 해당 애플리케이션에 필요한 서버의 양을 자동으로 늘리거나 줄일 수 있다는 것을 의미한다.

 

하지만 이제 서버라는 이름 대신 Amazon EC2 인스턴스라는 적절한 이름으로 부른다.

 

인스턴스에는 종량 과금제가 적용된다.(사용량에 따라 지불)

즉, 실행한 인스턴스에 대해서만 실행 시간 동안만 요금을 지불하는 방식이다.

광범위한 하드웨어와 소프트웨어가 제공되고 인스턴스를 호스트할 위치를 선택할 수 있다.

이에 대한 정보가 굉장히 많다.

aws.amazon.com/ec2에 접근하면 해당 정보를 찾아볼 수 있다.


Amazon EC2를 빌드하는 방법 시연

 - 지금까지 다른 주제를 자세히 살펴보자

1. AWS 콘솔에 로그인

2. 인스턴스를 호스팅할 리전을 선택

Region선택

3. EC2 마법사를 시작

EC2 마법사를 실행
인스턴스 시작을 클릭

4. 인스턴스에 대한 소프트웨어 플랫폼을 제공하는 AMI(Amazon 머신 이미지)를 선택

- 첫 번째 선택 기준은 Amazon 머신 이미지(AMI)이다.

이것은 시작 후 인스턴스에 동반되는 Software Load를 말한다.

 

빠른 시작을 통해 다양한 Linux 및 Windows 서버 목록이 제공된다.

또한 타사 이미지를 제공하는 마켓플레이스가 있고, 자체 AMI를 빌드한 경우 나의 AMI를 선택할 수 있다.

여기서는 Amazon Linux AMI를 선택한다.

AMI 선택 환경

 

5. 하드웨어 기능을 참조하여 인스턴스 유형을 선택

- 하드웨어를 선택할 수 있는 목록이 나타난다.

이를 인스턴스 유형이라고 한다.

여기서 확인할 수 있는 것은 8Core, 32GB 메모리, 64Core와 같은 목록을 확인할 수 있다. 종류가 다양하다.

 

여기서는 T2.micro 저사양을 사용할 예정이다.

T2.micro 선택 및 다음:인스턴스 세부 정보 구성탭으로 이동

 

6. 네트워크를 구성

인스턴스 개수

  • Number of instances : 동일한 하드웨어 및 소프트웨어 빌드를 공유하는 이미지를 수 없이 생성할 수 있다.
    10만개로 제한되어 있다.

네트워크 구성

  • 네트워크 구성 : 여기서는 기본 설정을 유지
    기본 가상 사설 클라우드(VPC), 기본 서브넷, 그리고 자동 할당 설정을 사용하면 DHCP 주소가 제공된다.

나머지는 문제가 없으니 건너뛴다.

 

7. 스토리지를 구성

루트 볼륨 크기를 설정

  • 루트 볼륨 크기를 늘릴 수 있다.

디스크 유형을 변경

  • 디스크 볼륨 유형을 변경할 수 있다.

새 볼륨을 추가할 수도 있다.
종료시 해당 볼륨을 삭제하게 설정할 수 있다.

8. 태그 설정

  • 기본적으로 EC2서비스에 암호 같은 식별자가 제공되지만 익숙한 이름을 제공하고자 하는 경우

태그 추가
이름 및 값을 클릭

  • 태그 추가, 이름 및 값을 클릭

9. 보안 그룹을 구성

- 보안 그룹은 방화벽 규칙 Set임

  • 이 보안 그룹이 SSH 연결에 대한 기본 규칙을 자동으로 생성한다.
  • 단순 웹 연결을 허용하는 또 다른 규칙을 추가할 수도 있다.
  • 보안 그룹이 어떤 정책을 제공하는지 보안그룹이름을 명명할 수 있다.

보안그룹 생성
검토 및 시작을 눌렀을 때

  • 검토 및 시작탭을 누르게 되면 자신이 지금까지 설정했던 사항을 볼 수 있는 개요를 제공해 준다.

10. 시작 및 연결 후 인스턴스에 연결할 수 있도록 해주는 키 페어를 구성

Key Pair 선택

  • SSH를 사용하여 시스템에 연결하도록 Key Pair를 생성해야 한다.
    - New Key Pair 선택, 기존 Key Pair선택을 할 수 있다.
  • 해당 키는 SSH를 통한 연결에 절대적으로 필요하다.

인스턴스 실행 중 확인


EC2 인스턴스에 액세스

  • 인스턴스 Check Box를 클릭하고 요약탭에 보면 인스턴스의 퍼블릭 DNS와 퍼블릭 IP주소를 확인할 수 있다.
  • 이를 복사한다음 putty를 시작한다.

putty  사용

  • 기본 사용자는 ec2-user이므로 ec2-user@를 수행한다.
  • 그 후 DNS를 붙여넣고 열기를 클릭한다.

기본사용자 @ DNS 주소

  • 실행해보면 작동하지 않는 것을 확인할 수 있다.
  • 아직 Private Key를 구성하지 않았기 때문이다.
  • 따라서 동일한 정보가 포함된 새로운 Session을 열고 SSH 및 인증을 선택한 다음 Auth 탭으로 들어간다.

그 후 Private Key를 Local에서 찾아준다.

 

  • Windows에서 Putty를 사용하려면 ppk파일이 필요하다.
  • PuTTYGen이라는 새로운 애플리케이션을 열어서 PPK 파일을 생성해야 한다.
  • 로드를 클릭하고 PEM파일이 있는 디렉토리로 이동해 선택한다.

  • Save Private Key를 눌러 ppk파일로 저장한다.
  • 이제 이 ppk파일로 로그인하면 SSH로 인스턴스에 접근할 수 있다.

AWS Cloud Practitioner Essentials M1

AWS Cloud Practitioner Essentials
@2021-02-22 15:31:35

AWS 클라우드 소개

 

  • 개요에 대한 소개

- AWS 클라우드를 소개하고 다양한 AWS 서비스와 상호 작용하는 방법을 설명

* 과정 완료시 AWS 클라우드 및 기본적 글로벌 인프라를 정의할 수 있다.


AWS 클라우드 소개

  • 클라우드 컴퓨팅의 정의

클라우드 컴퓨팅의 개념은 IT리소스를 온디맨드로 제공하는 서비스를 의미한다.

클라우드 컴퓨팅 이전에는 최대 피크 용량을 추정하여 데이터 센터를 구축해야 했다. 설계가 실제 최대 피크 용량을 충족하지 못한다면 고객이 불편을 겪을 것이다. 반면 과도한 설계로 최대 평균 용량을 초과한다면 실제로 필요하지 않는 리소스에 비용을 지불하게 된다.

클라우드 컴퓨팅에서는 자체 데이터 센터를 설계하고 구축하는 대신 인터넷을 통해 데이터 센터 및 해당 리소스에 액세스한다. 따라서 최악의 시나리오를 대비하여 설계할 필요 없이 실제 필요에 따라 리소스를 확장 또는 축소할 수 있다.

AWS에서는 몇 초면 서버, 데이터베이스, 스토리지 및 상위 수준 애플리케이션 구성요소에 액세스할 수 있다. 이러한 구성 요소를 일시적이고 폐기 가능한 리소스로 취급할 수 있으므로 유한한 고정 IT 인프라의 경직성과 제약에서 벗어날 수 있다.

AWS 클라우드의 강력한 기능을 활용함으로써 변화 관리, 테스트, 안정성 및 용량 계획에 대한 접근 방식은 민첩성효율성이 향상된다.

AWS 클라우드를 사용하여 위험을 줄이고, 요구 사항을 충족하도록 컴퓨팅을 자동으로 확장하고, 자연 재해 발생 시에도 안정적인 적용 범위를 보장하고, 데이터를 보호할 수 있다.

 

AWS 클라우드가 이 모든 것을 달성하는 데 어떤 기여를 하는지 위험 축소부터 간략하게 살펴보자.

 


클라우드 컴퓨팅은 민첩성과 신속한 변화 적응을 통해 위험을 축소하는 데 기여한다.

이러한 민첩성은 변경 비용을 줄여 준다. 그렇다면 대규모 IT 투자가 충분한 이익을 내지 못하는 위험을 어떠한 방법으로 줄일 수 있을까?

투자가 진행되는 동안 결과를 강조하고, 이러한 결과를 확인하지 못하는 경우 최대한 빠르게 변경한다.

보안 위험은 어떻게 줄일 수 있을까?

자주 테스트하고 신속하게 패치를 적용하며 빠른 속도로 사고에 대응해야 한다.

이는 새로운 보안 모델의 상당 부분을 차지한다.

위험 관리에 대한 이러한 모든 접근 방식은 클라우드를 통해 활성화된다.

클라우드 컴퓨팅을 통해 기업은 변화하는 시장 상황에 빠르고 탄력적으로 대응할 수 있다.

이를 통해 확장성, 민첩성 및 혁신이 촉진된다.

또한 빌딩 블록처럼 빠르게 조립할 수 있도록 사전 개발된 서비스를 사용해 소프트웨어 전송을 자동화하고 보안 및 규정 준수 보호책을 생성할 수 있다.


확장성에 대해서 이야기해보자.

AWS의 주요 이점 중 하나는 고객이 원하는 속도로 서비스를 사용할 수 있다는 것이다. 클라우드 컴퓨팅에서 확장성이라는 용어는 필요에 따라 리소스 크기를 조정할 수 있는 기능을 의미한다.

ex) 꽃 가게를 예시로 들어보자. 매년 2월에는 더 많은 직원을 고용하고 더 많은 배달 차량을 임대해야 발렌타인 데이에 대비할 수 있다. 이것이 확장이다. 그런 다음 이 날이 지나면 정상 수준으로 다시 축소해야 한다. 이것은 클라우드에서도 동일한 방식으로 작동한다.

AWS를 사용함으로써 고객은 서비스 소비를 늘리고, 줄이고, 조정하여 계절적 요구 사항을 충족하거나, 새로운 서비스나 제품을 출시하거나 단순히 새로운 전략적 방향을 수용할 수 있다. AWS 클라우드는 높은 가용성과 신뢰성을 제공하도록 설계된 확장 가능한 컴퓨팅 플랫폼을 제공하며, 이를 통해 고객이 다양한 애플리케이션을 실행할 수 있는 수단을 제공한다.


기업이 클라우드로 이동하는 주된 이유 중 하나는 민첩성 향상이다.

민첩성에 영향을 미치는 세 가지 주요 요소는 속도 향상, 용이한 실험, 혁신 문화 형성 세 가지이다.

이러한 요인을 통해 조직이 더 민첩해질 수 있는 방법을 자세히 살펴보자.

고객이 있는 위치에 데이터 센터를 배치하는 것은 특히 고객이 전 세계에 있다면 비용이 많이 드는 일이다. 그러나 AWS를 사용하면 엄청난 투자없이 도움을 받을 수 있다.

AWS 시설은 전 세계에 분포되어 있기 때문에 문자 그대로 곧바로 전 세계에 도달할 수 있다. 클라우드 컴퓨팅에서는 새로운 리소스를 클릭하기만 하면 되므로 개발자가 몇 분 안에 해당 리소스를 사용할 수 있다. 클라우드 컴퓨팅에서는 새로운 리소스에 쉽게 액세스할 수 있으므로 민첩성과 혁신성을 높일 수 있고 시간을 단축하여 인프라에 집중할 수 있다.

ex) AWS에서는 몇 분이면 서버를 시작할 수 있으며 서버가 필요하지 않거나 다른 용도로 전환될 때 간단하게 서버를 종료할 수 있다. 가상 리소스 및 자동화된 리소스를 통해 여러 유형의 인스턴스, 스토리지 또는 구성을 사용하여 신속하게 비교 테스트를 수행할 수 있다.

ex) AWS CloudFormation을 사용하여 향상된 운영 제어 수준에서 개발, 테스트 및 생산 목적을 위한 일관적인 템플릿 기반 환경에 액세스할 수 있다.

 

클라우드 컴퓨팅을 사용하면 저렴한 비용과 낮은 위험으로 빠르게 실험할 수 있다. 이를 통해 더 많은 실험을 할 수 있으며 더 자주 혁신과 새로운 구성을 발견할 수 있다.


민첩성처럼 탄력성 역시 클라우드 컴퓨팅의 강력한 기능이라고 할 수 있다.

탄력성은 컴퓨팅 리소스 규모를 쉽게 확장하거나 축소할 수 있는 기능을 의미한다.

AWS 클라우드는 탄력적이므로 신속하게 새 애플리케이션을 배포하고, 워크로드 증가에 따라 확장하고, 더 이상 필요하지 않은 리소스는 즉시 종료할 수 있다.

따라서 필요한 가상 서버 수가 1개이든 수천 개든, 컴퓨팅 리소스가 몇 시간 필요하든 온종일 필요하든 상관없이 AWS는 고객의 필요를 충족하기 위한 탄력적인 클라우드 인프라를 제공한다.

 

AWS 도구인 Auto Scaling 및 Elastic Load Balancing을 사용하여 애플리케이션의 규모를 수요에 맞춰 자동으로 확장하거나 축소할 수 있다.

 

 Amazon의 거대한 인프라의 힘을 빌어, 필요할 때면 언제든 컴퓨팅 및 스토리지 리소스에 액세스할 수 있다. AWS를 사용하면 전 세계 여러 리전에 시스템을 쉽게 배포하는 한편, 최소 비용으로 고객에게 더 짧은 지연 시간과 더 나은 사용 경험을 제공한다.

 

조정 효율성 덕분에 고객은 여러 번의 조달 주기와 값비싼 평가 절차 없이도 혁신적인 서비스와 최첨단 기술을 사용할 수 있다.

AWS는 사실상 모든 워크로드를 지원하는 포괄적인 기능을 제공해준다. 이러한 수준의 혁신을 통해 고객은 최신 기술에 계속 액세스할 수 있다.


안정성시스템이 인프라 또는 서비스 장애를 복구하는 능력이다.

클라우드 컴퓨팅에서는 안정성이란 컴퓨팅 리소스를 확보하여 수요를 충족하고 중단을 완화하는 능력을 의미한다.

안전성을 확보하려면 아키텍처 및 시스템 수요의 변화를 처리할 수 있는 잘 계획된 기반을 갖추고 있어야 하며 장애를 감지하고 자동으로 수정해야 한다.

AWS를 사용하여 조직은 더 큰 유연성과 용량을 달성할 수 있으며 이를 바탕으로 하드웨어 수요 예측의 불확실성을 줄일 수 있다.

또한 AWS의 조정 기능은 고객에게 온프레미스 솔루션이 제공하기 어려운 용량과 안정성을 제공한다.

안정성은 AWS 클라우드의 핵심 구성 요소이다. 이것이 바로 Amazon의 데이터 센터가 전 세계 AWS 리전에서 호스팅되는 이유이다.

각 리전은 가용 영역이라는 격리된 위치가 여러 개 있는 개별 지리 영역이다. 가용 영역은 하나 이상의 개별 데이터 센터로 구성되며, 각 데이터 센터는 분리된 시설에 구축되고 중복 전력, 네트워킹 및 연결이 제공된다.

따라서 AWS 클라우드를 사용할 때 여러 위치에 인스턴스 및 데이터와 같은 리소스를 배치할 수 있다. 이는 안정성을 보장하는 뛰어난 방법이다.

단일 위치에서 모든 인스턴스를 호스팅하다 장애가 발생할 경우 아무 리소스도 사용할 수 없기 때문이다. 가용 영역을 사용하면 단일 데이터 센터를 사용하는 것보다 더 높은 가용성, 내결함성 및 확장성을 갖춘 프로덕션 애플리케이션과 데이터베이스를 운영할 수 있다.

가용 영역의 구조는 의도적이며 내결함성과 직접 관련이 있다.

내결함성시스템의 일부 구성 요소가 작동하지 않더라도 해당 시스템이 계속 작동할 수 있는 기능으로 정의한다.

이를 애플리케이션 구성 요소의 내장된 중복성이라고 생각해보자. 고가용성은 시스템이 항상 작동하고 액세스 가능하며 사람의 개입 없이 중단 시간을 가능한 한 최소화하는 것이다.


고객의 데이터 보안을 살펴보자

이는 Amazon의 최우선 과제이다. AWS 고객은 데이터를 저장하는 리전, 암호화 처리 방법 및 암호화 키 보유자를 포함하여 데이터에 대한 완벽한 제어 및 소유권을 보유하므로 지역 규정 준수 및 데이터 거주 요건을 손쉽게 충족할 수 있다. 클라우드 컴퓨팅 이전에는 인프라 보안 감사가 시간이 많이 걸리는 수동 프로세스 였다. 너무 어려운 작업이라 간헐적으로 수행이 되었다. 이제 AWS 클라우드에서 IT리소스를 지속적으로 모니터링 할 수 있는 기능을 제공하므로 변경 사항을 즉시 파악하고 필요한 경우 대응할 수 있다.

또한 AWS는 시설, 네트워크, 소프트웨어, 비즈니스 프로세스에 걸쳐 업계 최고의 기능을 제공하여 엄격한 보안 요구 사항을 충족한다.

이제 AWS의 보안 기능이 세계 최고 수준인 이유를 살펴보자.

안정성이 뛰어난 AWS 데이터 센터는 최첨단의 전자 감시 및 멀티 팩터 액세스 제어 시스템을 사용한다. AWS 데이터 센터에는 24시간 연중 무휴 숙련된 직원이 상주하고 있으며 액세스가 엄격히 규제된다.

AWS 환경 시스템은 운영 중단을 최소화하도록 설계되었다.

또한 여러 지리적 리전 및 가용 영역을 사용하면 자연 재해나 시스템 장애 등 대부분 장애에서도 시스템을 유지할 수 있다.

AWS 자산은 프로그래밍 가능한 리소스이므로, 보안 정책이 처음부터 인프라에 구축될 수 있다.


AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 모바일 개발자 도구, 관리 도구, IoT(사물 인터넷), 보안 및 엔터프라이즈 애플리케이션을 비롯하여 광범위한 글로벌 클라우드 기반 제품을 제공하고 있다.

이러한 서비스를 사용하면 조직이 더 빠르게 움직이고, IT 비용을 낮추며, 성장할 수 있다.

바로 이러한 이유로 AWS는 웹 및 모바일 애플리케이션, 게임 개발, 데이터 처리 및 웨어하우징, 스토리지, 아카이브 등 다양한 워크로드를 지원하면서 대기업과 주요 스타트업의 신뢰를 얻고 있다.


AWS 인터페이스 소개

- AWS 관리 인터페이스

AWS 리소스에 액세스하고 사용하기 위한 편리한 옵션에 대해 설명

 

AWS 사용자는 세 가지의 고유한 방식, 즉 AWS Management Console, AWS CLI(AWS 명령줄 인터페이스),  AWS 소프트웨어 개발 키트(SDK)를 사용하여 리소스를 생성하고 관리할 수 있다.

 

이 세가지 옵션은 모두 AWS의 기반 역할을 하는 공통 인터페이스 또는 API를 기반으로 한다.


AWS Management Console은 AWS 기능에 액세스할 수 있는 그래픽 인터페이스를 제공한다.

  • 다양한 AWS 서비스 및 기능을 열고 사용할 수 있다.
  • IOS와 Android에서도 사용할 수 있는 앱도 있어 편리한 시간에 기존 리소스 및 경보를 확인하고 운영 작업을 수행할 수 있다.

AWS CLI를 사용하면 명령줄에서 AWS 서비스를 제어할 수 있다.

  • 프로그래밍 언어에 구애받지 않고 AWS 리소스 배포를 자동화하고 반복할 수 있다.

AWS에서는 다양한 인기 프로그래밍 언어를 사용하여 AWS에 액세스할 수 있는 SDK도 제공한다.

  • 기존 애플리케이션에서 AWS를 사용할 수 있으며, 코드만 사용하여 복잡한 시스템을 배포하고 모니터링할 수 있는 애플리케이션을 만들 수 있다.

AWS CLI 및 SDK는 AWS 기능을 사용자 지정하고, 비즈니스에 맞는 고유한 도구를 만들 수 있는 유연성을 제공한다.

위의 세 가지 모드를 모두 교대로 사용할 수 있다. 이러한 모드는 베타적이지 않다.

ex) SDK 호출을 사용하여 Amazon EC2 인스턴스를 생성한 다음, 이를 확인하고, AWS CLI를 사용하여 나중에 콘솔에서 클릭 몇 번으로 종료할 수 있다.


AWS Management Console

AWS Managenment Console

  • 콘솔은 월별 지출 모니터링, 보안 자격 증명 관리, 새로운 사용자 설정 등의 작업을 비롯하여 AWS 계정의 모든 측면에 대한 클라우드 관리를 지원한다.
  • 서비스를 찾아 열 수 있는 여러 가지 방법을 제공한다.
  • 콘솔 홈페이지에서 필요한 항목을 검색하거나, 최근에 방문한 서비스를 선택하거나, 모든 서비스 섹션을 확장하여 AWS의 모든 서비스를 검색할 수 있다.
  • 서비스 옵션은 항상 상단의 탐색 모음에 표시되므로 언제든지 필요한 항목을 검색할 수 있다.
  • 서비스를 그룹별로 나열하거나 알파벳 순으로 정렬도 할 수 있다.
  • 가장 자주 방문하는 서비스에 대한 바로 가기를 만들어 콘솔에서 사용자 경험을 개인화할 수 있다.
  • 핀 아이콘을 사용하면 서비스 링크를 도구 모음에 바로 끌어서 놓을 수 있다.
  • 리소스 그룹을 사용하여 콘솔 사용을 간소화할 수 있다.
  • 자주 사용하는 각 애플리케이션, 서비스, 관련 리소스 모음에 대한 리소스 그룹을 생성할 수 있다. 그런 다음 AWS 메뉴를 사용하여 저장된 각 리소스 그룹으로 빠르게 이동할 수 있다.
  • 리소스 그룹은 자격 증명별로 고유하다. 따라서 계정의 각 사용자는 자신이 자주 액세스하는 리소스 및 일반적인 작업에 대해 고유한 리소스 그룹을 생성할 수 있다.
  • 이러한 리소스 그룹 정의를 URL을 사용하여 동일한 계정의 다른 사용자와 공유할 수 있다.
  • 태그 편집기를 사용하면 태그를 지원하는 리소스 유형의 태그를 쉽게 관리할 수 있다. 이러한 태그 키와 값을 한 번에 여러 리소스에 적용할 수 있다.
  • 태그 편집기는 글로벌 태그 검색과 대량 편집을 지원한다. 따라서 특정 태그가 있는 모든 리소스를 찾거나, 몇 번의 클릭만으로 여러 리소스에 걸쳐 태그를 변경할 수 있다.
  • 콘솔에서 유용한 리소스에 액세스하여 AWS 서비스 및 기능에 대해 알아보고 솔루션을 구축하기 시작할 수 있다.
  • 솔루션 구축 섹션에는 원하는 솔루션에 필요한 리소스를 생성하는 데 도움이 되는 자동화된 마법사와 작업 흐름이 있다.
  • 구축 방법 알아보기 섹션에는 솔루션 유형 및 사용 사례별로 구성된 학습 리소스가 포함되어 있다.
    리소스에는 자습서, 동영상, 자습형 실습, 프로젝트 가이드 및 과정 설명서가 포함될 수 있다.
  • 원격 디바이스를 사용하여 원격으로 콘솔에 액세스하려면 Amazon App Store, Google Play 또는 iTunes에서 모바일 앱을 다운로드하기만 하면 된다.
  • 다른 인터페이스를 사용하여 변경한 항목이 콘솔에 업데이트되고 표시되는데 시간이 걸릴 수도 있다.
    ex) CLI를 사용하여 기능을 변경한 경우 콘솔을 처음 시작할 때 콘솔에서 해당 기능을 읽을 수 없을 수도 있다.

AWS CLI

AWS CLI

  • 많은 구성 작업을 수행하지 않고도 AWS 서비스와 상호 작용할 수 있도록 지원하는 오픈 소스 도구이다.
  • Windows, Linux, macOS 또는 Unix용 명령을 실행하는 것을 비롯하여 명령줄에서 AWS의 모든 기능을 사용할 수 있다.
  • 이 과정의 뒷부분에서 이를 수행하는 방법에 대해 자세히 알아볼 수 있다.

 

AWS SDK

AWS SDK

  • AWS에 구축된 애플리케이션이 인프라를 코드로 관리할 수 있다.
  • 코드형 인프라라는 개념은 강력하고 파괴적이며 클라우드를 기존 IT 환경과 차별화하는 개념이다.
  • 이러한 언어별 SDK에는 함수를 직접 작성하는 어려움이 없이 다양한 AWS 클라우드 서비스의 연결성 및 기능을 코드에 쉽게 통합할 수 있는 API가 포함되어 있다. 

AWS는 시작 안내서, 개발자 안내서, API 레퍼런스뿐만 아니라 커뮤니티 포험 및 블로그를 비롯하여 이러한 SDK에 대한 광범위한 리소스를 제공한다. 

AWS Cloud Practitioner Essentials

AWS Cloud Practitioner Essentials
@2021-02-22 13:38:28

M0 - 과정 소개

 

이 과정은 AWS (Amazon Web Services)의 기본 개요를 제공하기 위한 것

 

1. AWS 기본 사항을 개략적으로 살펴본다.

 

2. AWS의 핵심 및 통합 서비스 몇 가지를 소개한다.

 

3. AWS의 클라우드 아키텍처에 대해 설명한다.

 

4. 몇몇의 보안기능을 소개한다.

 

5. AWS 요금제를 설명한다.

 

6. 비용을 절감하는 방법을 소개한다.

 


 

 이 과정을 이해하게 될 경우

 

1. AWS 클라우드 및 기본 글로벌 인프라가 무엇인지 정의

 

2. 기본 AWS 클라우드 아키텍처 원칙을 설명

 

3. AWS 클라우드 가치 제안을 이해

 

4. AWS 주요 서비스 및 관련 일반 사용 사례를 설명

 

5.  AWS 플랫폼의 기본 보안 및 규정 준수 측면과 공동 보안 모델을 설명

 

6. 결제, 계정 관리 및 요금 모델을 정의하고 설명서 또는 기술 지원의 소스를 식별

 

7. AWS 클라우드에서의 배포 및 운영의 기본 특징을 설명할 수 있다.

 

AWS Cloud Practitioner Essentials (6)

[1]