본문 바로가기

개발자정보

1.1 AWS Cloud

반응형

Explore AWS Cloud and navigate the management interfaces.

AWS Cloud for Technical Professionals
Build cloud-native solutions on the AWS platform.

고양이 사진 응용프로그램 시작하기

학습목표

이 단원을 완료하면 다음을 수행 할 수 있습니다:

  • 클라우드 컴퓨팅(cloud computing) 정의
  • 온프레미스(on-premises)와 클라우드(cloud)에서 실행되는 방식을 구분합니다.
  • Amazon Web Services에 대해 설명합니다.

참고사항

이 모듈은 여기에 설명된 AWS 제품, 서비스 및 기능을 소유, 지원 및 유지 관리하는 AWS(Amazon Web Services)와 협력하여 제작되었습니다.

AWS 제품, 서비스 및 기능의 사용은 AWS가 유지 관리하는 개인 정보 보호 정책 및 서비스 계약에 따라 관리됩니다.

 

 

당신과 당신의 친구 몇 명이 고양이 사진을 서로 공유하는 웹 애플리케이션을 만들고 싶어합니다. 

 

이를 위해서는 아키텍처를 설계해야 합니다. 

 

이것은 처음부터 구축하는 것으로 클라우드 환경을 구축 할 수 있는 좋은 기회가 될 것 입니다.

 

고양이 사진 공유 애플리케이션을 만들려면 호스팅 제공업체를 사용해야 합니다. 이 애플리케이션을 호스팅하기 위해 클라우드, 특히 AWS를 사용하고 싶기 때문에 클라우드가 할 수 있는 일에 대해 더 많이 알아야 합니다.

이 여정에서는 컴퓨팅, 스토리지, 네트워킹, 데이터베이스 및 모니터링을 비롯한 다양한 범주에서 기본적인 AWS 서비스를 배웁니다. 시작하자!

 

 

클라우드 이전 환경의 이해

고양이 사진 애플리케이션, 온라인 게임, 데이터베이스 및 기업 시스템 아키텍처의 공통점은 무엇일까요?

모든 사람이 접속되며 컴퓨터, 스토리지 및 네트워킹 장비에 전원이 공급되어야 합니다.

수요가 증가함에 따라 더 많은 컴퓨터, 스토리지 및 네트워킹 장비가 필요합니다.

 

과거에는 기업과 조직이 자체 데이터 센터에서 이 하드웨어를 호스팅하고 유지 관리했습니다. 

이를 처리하기 위해 전체 인프라 부서를 할당되어야 했고, 그 결과 일부 작업 부하와 실험이 불가능하게 만되었습니다.

 

인터넷 사용이 보다 광범위해짐에 따라 컴퓨팅, 스토리지 및 네트워킹 장비에 대한 수요가 증가했습니다. 

일부 기업과 조직의 경우 대규모 물리적 존재를 유지하는 데 드는 비용을 감당할 수 없었습니다.

이 문제를 해결하기 위해 클라우드 컴퓨팅이 만들어졌습니다.

클라우드(Cloud)란?

클라우드 컴퓨팅은 컴퓨터, 스토리지 및 네트워킹과 같은 컴퓨터 시스템 자원을 주문형으로 제공하는 것입니다. 

더 이상 자체 데이터 센터에서 하드웨어를 관리하고 유지 관리할 필요가 없습니다. 

AWS와 같은 회사에서 이러한 데이터 센터를 소유 및 유지 관리하고 인터넷을 통해 사용자에게 가상화된 데이터 센터 기술 및 서비스를 제공합니다.

클라우드를 사용하면 더 이상 워크로드를 하드웨어에 맞출 필요가 없습니다. 

대신 클라우드 인프라가 소프트웨어가 유연하고 논리적으로 관리되기 때문에 하드웨어를 워크로드에 맞출 수 있습니다!

 

워크로드(Workload): 주어진 기간에 시스템에 의해 실행되어야 할 작업의 할당량을 의미한다.

클라우드와 기존 호스팅 업체의 차이점이 무엇입니까?

 

온프레미스(on-premises)와 클라우드에서 실행되는 워크로드를 구별하려면 개발자가 고양이 사진 애플리케이션에 새로운 기능을 배포해야 하는 시나리오를 고려 해보세요. 

팀에서 배포하기 전에 운영환경과 정확히 동일한 구성을 가진 별도의 QA(품질 보증)서버 환경에서 기능을 테스트하려고 합니다.

온프레미스에서 애플리케이션을 실행하는 경우 이 추가 환경을 생성하려면 하드웨어 구매 및 설치, 필요한 케이블 연결, 전원 공급, 운영 체제 설치 등이 필요합니다. 이러한 모든 작업은 시간이 많이 걸리고 수행하는 데 며칠이 걸릴 수 있습니다. 

한편, 새로운 제품 기능의 출시 시간이 늘어나고 있으며 개발자들은 이러한 환경을 기다리고 있습니다. 

 

"하드웨어가 이미 설치 및 구성되어 있으면 그런 일이 일어나지 않을 것" 이라고 생각할 수 있습니다.

 

이 경우 하드웨어를 과도하게 설치한 것입니다. 즉, 하드웨어가 할당되었지만 필요하지 않을 때 사용하지 않는 것입니다.

 

클라우드에서 고양이 사진 애플리케이션을 실행했다면 몇 분 또는 몇 초 만에 전체 환경을 필요한 만큼 자주 복제할 수 있습니다. 

 

물리적으로 하드웨어를 설치하고 케이블을 연결하는 대신 인터넷을 통해 물리적 인프라를 논리적으로 관리할 수 있습니다.

 

이것이 클라우드 컴퓨팅이 새로운 표준이 된 이유입니다.

AWS란?

Amazon Web Services(AWS)는 안전한 클라우드 서비스 플랫폼입니다. 

컴퓨팅 성능, 데이터베이스, 스토리지, 컨텐츠 전달, 사물 인터넷(IoT), 인공 지능/머신 러닝(AI/ML), 미디어 서비스, 위성 및 많은 조직에서 요구하는 광범위한 서비스에 적합합니다.

 

많은 고객이 AWS의 단순성, 문서화, 보안, 안정성 및 다른 솔루션과의 손쉬운 통합으로 인해 AWS에서 워크로드를 실행하기로 선택합니다. 

 

AWS는 또한 Amazon 파트너 네트워크(APN)를 통해 방대한 파트너 프로그램을 제공하며, 전 세계 수만 개의 파트너와 함께 기업이 AWS 기반 비즈니스 관행 및 솔루션을 성공적으로 구축할 수 있도록 지원합니다.

다음과 같이 두 가지 유형의 파트너를 활용할 수 있습니다.

  • 고객이 AWS에서 워크로드와 애플리케이션을 구축, 마이그레이션 및 관리하는 데 도움이 되는 컨설팅 파트너.
  • AWS 클라우드에서 호스팅되는 솔루션을 주로 소프트웨어 형태로 제공하는 기술 파트너로서, AWS 마켓플레이스에서 고객이 찾아 구매할 수 있습니다.
    고객의 필요에 따라 컨설팅과 소프트웨어 솔루션을 모두 제공하는 업체도 있습니다.

마무리

AWS를 사용하면 API를 사용하여 전체 인프라 설치 공간을 논리적으로 관리할 수 있습니다. 다음 단원에서는 클라우드와 AWS의 이점에 대해 자세히 알아봅니다.

 

 

클라우드(Cloud) 사용의 장점이해

학습목표

이 단원을 완료하면 다음을 수행 할 수 있습니다:

  • 온프레미스(on-premises) 환경에서의 과도한 인프라 및 과소 프로비저닝(under-provisioning)에 따른 문제점에 대해 설명한다.
  • 클라우드 컴퓨팅 인프라 사용의 이점을 설명한다..

클라우드를 사용하는 이유

클라우드를 사용하는 대신 피크 시간에도 고객 요구를 충족하는 인프라를 사용하여 자체 데이터 센터에서 고양이 사진 앱을 실행한다고 가정해 보겠습니다. 

앱을 잘 홍보하고 다음 날 방송될 인기 있는 TV 프로그램에서 이 앱에 대해 이야기해 달라는 전화를 받습니다. 

좋은 소식이죠!

설레는 일이지만, 여러분은 여전히 불안 할 것입니다.

증가하는 고객 수요를 지원하기에 인프라가 충분합니까? 시스템이 빛을 발해야 할 시간에 정확히 오프라인 상태가 된다면 어떻게 될까요?

 

인프라가 증가하는 수요를 처리할 수 있도록 하려면 더 많은 인프라 용량을 미리 준비되어야 합니다. 그러나 이 인프라를 사용하지 않을 때는 전력을 소모하고 가치가 하락하는 것뿐입니다. 

이를 종종 오버 프로비저닝 이라고 합니다 .

뿐만 아니라 오버 프로비저닝이 트래픽 급증을 처리할 것이라고 어떻게 확신할 수 있습니까? 

인터뷰가 TV에서 방송된 후 고양이 사진 애플리케이션이 소셜 미디어에서 입소문을 타면 예상치 못한 요청이 급증합니다. 

 

이와 같이 예측할 수 없는 확장 상황에 직면할 경우 사내에 할당된 하드웨어가 충분하지 않아 불충분한 프로비저닝 아키텍처가 발생하여 서비스 중단으로 이어집니다.

클라우드에서 이 애플리케이션을 실행하면 과잉 프로비저닝 및 부족 프로비저닝에 대한 걱정이 사라집니다. 

즉시 새 리소스를 가동하고 용량을 추가할 수 있습니다. 

클라우드 컴퓨팅을 사용하면 애플리케이션이 입소문을 타면 수요에 맞게 리소스를 확장하고 사용한 만큼만 비용을 지불할 수 있습니다.

 

클라우드 컴퓨팅의 6가지 장점 알아보기

AWS에서 워크로드를 실행하면 6가지 주요 이점이 있습니다.

 

현금으로 지불하다. 

사용 방법을 알기 전에 데이터 센터와 하드웨어에 투자하는 대신 컴퓨팅 리소스를 사용할 때만 비용을 지불하고 사용한 만큼만 비용을 지불합니다.

 

대규모 규모의 경제 혜택을 누리십시오. 

클라우드 컴퓨팅을 사용하면 자체적으로 얻을 수 있는 것보다 저렴한 비용을 달성할 수 있습니다. 

수십만 고객의 사용량이 클라우드에 집계되기 때문에 AWS는 더 높은 규모의 경제를 달성할 수 있으며, 이는 사용한 만큼만 지불하는 가격으로 변환됩니다.

 

용량 추측을 중지합니다. 

인프라 용량 요구 사항에 대한 추측을 제거합니다. 

애플리케이션을 배포하기 전에 용량을 결정할 때 값비싼 유휴 리소스를 사용하거나 제한된 용량을 처리해야 하는 경우가 많습니다. 

클라우드 컴퓨팅을 사용하면 이러한 문제가 사라집니다. 

필요한 만큼의 용량에 액세스할 수 있으며 단 몇 분 알림으로 필요에 따라 확장 및 축소할 수 있습니다.

 

속도와 민첩성을 높입니다. 

IT 리소스는 클릭 한 번으로 가능합니다.

즉, 개발자가 이러한 리소스를 사용할 수 있도록 하는 시간을 몇 주에서 몇 분으로 단축할 수 있습니다. 실험 및 개발에 소요되는 비용과 시간이 현저히 줄어들기 때문에 조직의 민첩성이 크게 향상됩니다.

 

데이터 센터를 운영하고 유지 관리하는 데 돈을 쓰지 마십시오. 

인프라가 아닌 비즈니스를 차별화하는 프로젝트에 집중하십시오. 클라우드 컴퓨팅을 사용하면 물리적 인프라의 랙, 스태킹 및 전원 공급이라는 무거운 작업 대신 고객에게 집중할 수 있습니다. 이것을 흔히 미분화 중량물이라고 합니다.

 

몇 분 만에 글로벌 진출 

클릭 몇 번으로 전 세계 여러 지역에 애플리케이션을 쉽게 배포할 수 있습니다. 즉, 최소한의 비용으로 고객에게 더 낮은 지연 시간과 더 나은 경험을 제공할 수 있습니다.

마무리

AWS 클라우드를 사용하면 하드웨어 관리의 어려움 없이 안전하고 안정적이며 확장 가능한 애플리케이션을 실행할 수 있습니다. 다음 단원에서는 AWS 글로벌 인프라에 대해 알아봅니다.

 

 

1.True or false: Cloud computing enables users to match their infrastructure to their use case

A. T

B. F

 

2.Which of the following is a benefit of cloud computing?

A. Run and maintain your own data centers

B. Increase tome-to-market

C. Overprovision for scale

D. Go global in minutes

 

Explore the AWS Global Infrastructure

학습목표

이 단원을 완료하면 다음을 수행 할 수 있습니다:

  • AWS 영역과 사용 가능한 지역을 구분합니다.
  • AWS의 지리적 존재에 대해 설명합니다.
  • 응용 프로그램을 배포할 최적의 영역을 선택하십시오

AWS 작업을 시작하기 전에 AWS 글로벌 인프라를 이해해야 합니다.

데이터 센터 및 네트워킹 연결과 같은 인프라는 여전히 모든 클라우드 애플리케이션의 기반으로 존재합니다. 

AWS에서 이 물리적 인프라는 가용 영역(Availability Zones)과 지역(Regions)의 형태로 AWS 글로벌 인프라를 구성합니다.

AWS 지역 설정작업

지역은 AWS가 데이터 센터를 호스팅하는 전 세계의 지리적 위치입니다.

The AWS documentation provides an updated list of the AWS Regions and their corresponding region codes.

AWS 지역은 상주하는 위치의 이름을 따서 명명됩니다. 예를 들어, 미국에는 버지니아 북부 지역이라고 하는 버지니아 북부 지역과 오리건 지역이라고 하는 오리건 지역이 있습니다. 아시아 태평양, 캐나다, 유럽, 중동 및 남미에 리전이 있으며 AWS는 고객의 요구 사항을 충족하기 위해 계속 확장하고 있습니다.

각 AWS 리전은 지리적 이름 및 리전 코드와 연결됩니다. 다음은 지역 코드의 몇 가지 예입니다.

  • us-east-1 : 미국 동부에서 처음 생성된 지역입니다. 이 지역의 지리적 이름은 N.버지니아입니다.
  • ap-northeast-1 : 아시아 태평양 북동부에 생성된 첫 번째 지역. 이 지역의 지명은 Tokyo입니다.

AWS 설명서는 AWS 리전 및 해당 리전 코드의 업데이트된 목록을 제공합니다.

AWS 리전은 서로 독립적입니다. 즉, 귀하의 명시적 동의 및 승인 없이는 데이터가 한 리전에서 다른 리전으로 복제되지 않습니다.

적합한 AWS 지역 선택

애플리케이션 및 워크로드를 호스팅할 AWS 리전을 결정할 때 지연 시간(latency), 가격, 서비스 가용성 및 법규 준수라는 네 가지 주요 측면을 고려하십시오.

 

지연 시간. 

애플리케이션이 지연 시간에 민감한 경우 사용자 기반에 가까운 리전을 선택하십시오. 

이는 고객의 긴 대기 시간을 방지하는 데 도움이 됩니다. 

게임, 전화 통신, WebSocket 및 IoT와 같은 동기식 애플리케이션은 더 긴 대기 시간의 영향을 크게 받지만 전자 상거래 애플리케이션과 같은 비동기식 워크로드도 사용자 연결에 영향을 줄 수 있습니다.

 

가격. 

지역 경제 및 운영 데이터 센터의 물리적 특성으로 인해 가격은 지역마다 다를 수 있습니다. 

지역의 가격은 인터넷 연결, 수입 장비 가격, 세관, 부동산 등에 의해 영향을 받을 수 있습니다. 

AWS는 전 세계적으로 고정 요금을 부과하는 대신 해당 위치의 재정적 요인에 따라 요금을 부과합니다.  

 

서비스 가용성. 

일부 지역에서는 일부 서비스가 제공되지 않을 수 있습니다. 

AWS 설명서는 리전과 각 리전 내에서 사용 가능한 서비스가 포함된 표를 제공합니다.

데이터 규정 준수. 

엔터프라이즈 회사는 고객 데이터를 특정 지리적 영역에 저장해야 하는 규정을 준수해야 하는 경우가 많습니다. 

해당하는 경우 규정 준수 요구 사항을 충족하는 리전을 선택해야 합니다.

 

※ Data Compliance의 정의
Compliance는 법, 명령 등의 ‘준수’를 의미합니다. 그리고 Data Compliance는 ‘데이터에 대한 규제 준수’를 뜻합니다. 

 

대한민국 서비스 및 데이터 규제 기관은 금융위원회, 금융감독원, 미래창조과학부, 방송통신위원회, 행정자치부, 한국인터넷진흥원(KISA)이 있습니다. 

 

 

AWS 가용 영역 작업

Inside every Region is a cluster of Availability Zones (AZ). An AZ consists of one or more data centers with redundant power, networking, and connectivity. These data centers operate in discrete facilities with undisclosed locations. They are connected using redundant high-speed and low-latency links.

AZs also have a code name. Since they’re located inside Regions, they can be addressed by appending a letter to the end of the Region code name. For example:

  • us-east-1a: an AZ in us-east-1 (Northern Virginia Region)
  • sa-east-1b: an AZ in sa-east-1 (São Paulo Region in South America)

If you see that a resource exists in us-east-1c, you know this resource is located in AZ c of the us-east-1 Region.

 

모든 지역 내부에는 가용 영역(AZ) 클러스터가 있습니다. 

가용 영역(AZ) 은 중복 전원, 네트워킹 및 연결이 있는 하나 이상의 데이터 센터로 구성됩니다. 이러한 데이터 센터는 위치가 공개되지 않은 개별 시설에서 운영됩니다. 이중화 고속 및 저지연 링크를 사용하여 연결됩니다.

가용 영역(AZ) 에는 코드 이름도 있습니다. 

지역 내부에 있기 때문에 지역 코드 이름 끝에 문자를 추가하여 주소를 지정할 수 있습니다. 

예를 들어:

  • us-east-1a : us-east-1(버지니아 북부 지역)의 가용 영역(AZ) 
  • sa-east-1b : sa-east-1의 AZ(남아메리카의 상파울루 지역)

us-east-1c에 리소스가 있으면 이 리소스가 us-east-1 리전의 AZ c에 있다는 것을 알 수 있습니다.

AWS 서비스 범위

 

사용하는 AWS 서비스에 따라 리소스는 가용 영역(AZ) , 지역 또는 글로벌 수준에서 배포됩니다. 서비스마다 다르기 때문에 서비스 범위가 애플리케이션 아키텍처에 어떤 영향을 미칠 수 있는지 이해해야 합니다.

 

지역 범위 서비스를 운영할 때 사용하려는 리전만 선택하면 됩니다. 

 

서비스를 배포할 개별 가용 영역(AZ) 를 지정하라는 메시지가 표시되지 않는 경우 이는 서비스가 지역 범위 수준에서 작동한다는 표시입니다. 

 

지역 범위 서비스의 경우 AWS는 데이터 내구성과 가용성을 높이기 위한 작업을 자동으로 수행합니다.

 

반면에 일부 서비스에서는 가용 영역(AZ) 를 지정하도록 요청합니다. 이러한 서비스를 사용하면 종종 이러한 리소스의 데이터 내구성과 고가용성을 높일 책임이 있습니다.

복원력 유지(Maintain Resiliency)

고객 만족을 유지하려면 고가용성과 복원성을 유지해야 합니다. 

 

클라우드 아키텍처에 대한 잘 알려진 모범 사례는 지역 범위의 관리 서비스를 사용하는 것입니다. 

이러한 서비스는 기본 제공되는 가용성과 복원력과 함께 제공됩니다.

 

이것이 불가능한 경우 워크로드가 여러 AZ에 복제되는지 확인하십시오. 

최소한 2개의 AZ를 사용해야 합니다. 

전체 AZ 하나에 장애가 발생하면 애플리케이션은 트래픽을 인계받기 위해 최소 두 번째 AZ에서 인프라를 가동하고 실행합니다.

AZ 또는 해당 AZ에서 실행되는 하드웨어에 대한 책임은 없지만 이것이 애플리케이션에 미칠 수 있는 영향에 대해서는 여전히 책임이 있습니다. 

따라서 가능한 한 고가용성과 내결함성을 염두에 두고 애플리케이션을 설계해야 합니다.

 

AWS는 AWS Outposts라는 서비스를 사용하여 온프레미스에서 AWS 관리형 워크로드를 실행하거나 AWS Greengrass라는 다른 서비스를 사용하여 프로세서에서 컴퓨팅을 실행하는 것과 같은 추가 인프라 옵션을 제공합니다. 

워크로드는 엣지 로케이션(Edge Locations) 및 위성이라고 하는 접속 지점까지 확장할 수도 있습니다.

마무리

애플리케이션과 인프라는 리전 및 AZ 내에 있습니다. 

사용하는 서비스에 따라 워크로드에 적합한 리전 또는 AZ를 선택해야 합니다. 

다음 단원에서는 AWS 리소스에 액세스하는 세 가지 방법을 배웁니다. 

Quiz

1. What are the four main factors you should take into consideration when choosing a Region?

A.Latency, price, service availability, and compliance

B.Latency, high availability, taxes, and compliance

C.Latency, global warming, customs, and compliance

D.Latency, security, fishing, and biking

 

2. True or false: Resiliency and high availability come automatic with every AWS Service.

A.True

B.False

 

 

AWS 관리 인터페이스 탐색

학습목표

이 단원을 완료하면 다음을 수행 할 수 있습니다:

  • AWS와 상호 작용하는 다양한 방법을 설명합니다.
  • AWS Management 콘솔 개념을 설명합니다.
  • 개발자가 애플리케이션 내에서 AWS와 상호 작용하는 방법을 설명합니다.

AWS에서 수행하는 모든 작업은 인증 및 권한 부여된 API 호출입니다. 

AWS에서는 AWS Management 콘솔, AWS 명령줄 인터페이스(CLI) 또는 AWS 소프트웨어 개발 키트(SDK)를 통해 서비스 및 리소스에 대한 API 호출을 할 수 있습니다. 

AWS Management 콘솔 사용

클라우드 리소스를 관리하는 가장 보편적인 방법은 로그인하고 원하는 서비스를 클릭하는 웹 기반 콘솔을 사용하는 것입니다. 

다음은 AWS Management 콘솔에 처음 로그인할 때 랜딩 페이지를 보여주는 스크린샷입니다. 

서비스는 컴퓨팅, 데이터베이스, 스토리지 및 보안, ID 및 규정 준수와 같은 범주로 분류됩니다.

(compute, database, storage and security, identity and compliance)

 

오른쪽 상단에는 지역 선택기가 있습니다. 클릭하고 리전을 변경하면 선택한 리전의 서비스에 요청하게 됩니다. URL도 변경됩니다. 리전을 변경하면 브라우저가 다른 하위 도메인으로 표시되는 완전히 다른 AWS 리전에 요청하도록 지시합니다. 이 경우 eu-west-3.console.aws.amazon.com 또는 파리 지역의 웹 콘솔에 요청합니다.

이 트레일에서는 주로 AWS Management Console에 중점을 둡니다. 그러나 다른 방법, 이러한 방법이 존재하는 이유 및 각각을 사용해야 하는 경우를 이해하는 것이 중요합니다. 

AWS 명령줄 인터페이스(CLI) 사용

AWS 명령줄 인터페이스(CLI)는 AWS 서비스를 관리하기 위한 통합 도구입니다. 

하나의 도구를 다운로드하고 구성하면 명령줄에서 여러 AWS 서비스를 제어하고 스크립트로 자동화할 수 있습니다. 

AWS CLI는 오픈 소스이며 Windows, Linux 및 Mac OS용 설치 프로그램을 사용할 수 있습니다.

다음은 AWS CLI를 사용하여 서비스에 대해 API 호출을 실행하는 예입니다. 

aws ec2 describe-instances

다음과 같은 응답을 받습니다.

{ 
  "Reservations" [ 
    { "Groups" [], 
      "Instances" [ 
           { "AmiLaunchIndex"0,

 

AWS CLI 사용 사례

고양이 사진 공유 애플리케이션의 프런트엔드를 위해 AWS에서 수십 대의 서버를 실행하는 시나리오를 고려하십시오. 

보고서를 실행하여 이러한 모든 서버에서 데이터를 수집하려고 합니다. 

서버 세부 정보가 변경될 수 있으므로 매일 프로그래밍 방식으로 이 작업을 수행해야 합니다. 

AWS Management 콘솔에 수동으로 로그인하고 정보를 복사/붙여넣기하는 대신 API 호출로 AWS CLI 스크립트를 예약하여 이 데이터를 가져올 수 있습니다.

 

AWS CLI를 사용하는 또 다른 접근 방식은 리소스 정보를 프로그래밍 방식으로 가져와 스크립트의 다른 부분에서 재사용하는 것입니다. 

예를 들어 개발, QA 및 프로덕션이라는 세 가지 다른 환경을 위한 서버가 있습니다. 

주말 동안 모든 개발 환경을 중지하려면 AWS CLI를 사용하여 API를 호출하고 리소스에 대한 세부 정보를 가져오고 개발 환경을 지원하는 서버만 중지하면 됩니다.

 

AWS CLI는 강력한 도구이며 AWS Management Console에서 클릭하여 달성할 수 있는 모든 것을 달성할 수 있습니다. 그러나 수행하려는 작업에 따라 콘솔 탐색이 더 빠를 수 있습니다.

AWS 소프트웨어 개발 키트(SDK) 사용

AWS Management 콘솔을 사용하는지 AWS CLI를 사용하는지에 관계없이 AWS 서비스와 상호 작용하기 위해 API를 호출합니다.

이러한 API 호출은 프로그래밍 언어로 코드를 실행하여 수행할 수도 있습니다. 

 

AWS SDK(소프트웨어 개발 키트)를 사용하여 이 작업을 수행할 수 있습니다. 

SDK는 오픈 소스이며 C++, Go, Java, JavaScript, .NET, Node.js, PHP, Python 및 Ruby와 같은 가장 널리 사용되는 프로그래밍 언어에 대해 AWS에서 유지 관리합니다.

 

개발자는 일반적으로 AWS SDK를 사용하여 애플리케이션 소스 코드를 AWS 서비스와 통합합니다. 

 

고양이 사진 애플리케이션의 프론트엔드가 Python에서 실행되고 고양이 사진을 수신할 때마다 해당 사진을 스토리지 서비스에 업로드한다고 가정해 보겠습니다. 

 

이 작업은 Python용 AWS SDK를 사용하여 소스 코드 내에서 수행할 수 있습니다.

 

운영을 유지 관리하는 개발자를 가리키는 업계 용어인 DevOps는 종종 AWS SDK를 사용하여 모니터링, 프로비저닝, 오케스트레이션, 코드 배포 등과 같은 작업을 수행합니다. 

 

조건, 루프, 배열, 목록 및 기타 프로그래밍 요소가 있는 소스 코드를 실행할 수 있는 곳에서 AWS 서비스를 관리하는 기능은 무한한 힘과 창의성을 제공합니다.

 

다음은 Python AWS SDK를 사용하여 AWS 리소스로 작업할 수 있는 방법의 예입니다.

import boto3 ec2
boto3.client('ec2') response
ec2.describe_instances() print(response)
print(response)

마무리

AWS Management 콘솔, AWS CLI 또는 AWS SDK를 사용하려면 인증 및 권한 부여가 필요합니다. 

API 호출을 수행하려면 자격 증명이 있어야 합니다. 

다음 모듈에서는 이러한 자격 증명 및 권한을 얻는 방법에 대해 자세히 알아봅니다.

Quiz

1.True or false: Every action you take in AWS is an API call.

A.True

B.False

2True or false: The AWS CLI is helpful when automating tasks.

A.True

B.False

Check the Quiz to Earn 100 Points

Second attempt earns 50 points. Three or more earns 25 points.

반응형