

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# OpsWorks 스택
<a name="welcome_classic"></a>

**중요**  
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 서비스 수명이 종료되었으며 신규 및 기존 고객 모두에서 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 [AWS re:Post](https://repost.aws/) 또는 [AWS Premium Support](https://aws.amazon.com/support)를 통해 AWS Support 팀에 문의하세요.

클라우드 기반 컴퓨팅에는 일반적으로 Amazon EC2 인스턴스와 Amazon Relational Database Service(RDS) 인스턴스 같은 AWS 리소스 그룹이 필포함되며, 이들은 집단적으로 생성하고 관리해야 합니다. 예를 들어 웹 애플리케이션에는 일반적으로 애플리케이션 서버, 데이터베이스 서버, 로드 밸런서 등등이 필요합니다. 이 인스턴스 그룹을 보통 *스택*이라고 하는데, 간단한 애플리케이션 서버 스택은 다음과 같이 보입니다.

![\[Diagram showing users connecting to app servers through internet and load balancer, with a shared database.\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/php_walkthrough_arch.png)


인스턴스를 생성하고 필요한 패키지를 설치하는 것 외에도 일반적으로 애플리케이션 서버에 애플리케이션 분산, 스택 성능 모니터링, 보안 및 권한 관리 등을 수행할 방법이 필요합니다.

OpsWorks Stacks는 스택과 애플리케이션을 생성하고 관리하는 간단하고 유연한 방법을 제공합니다.

다음은 OpsWorks Stacks에서 기본 애플리케이션 서버 스택이 어떻게 보일 수 있는지 보여줍니다. Elastic Load Balancing 로드 밸런서 뒤에서 실행되는 애플리케이션 서버 그룹과 백엔드 Amazon RDS 데이터베이스 서버로 구성됩니다.

![\[OpsWorks Stack architecture with load balancer, application servers, and Amazon RDS instance.\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/php_walkthrough_arch_4.png)


비교적 단순하지만이 스택에는 모든 주요 OpsWorks Stacks 기능이 표시됩니다. 이 기능들이 조합되는 방식은 다음과 같습니다.

**Topics**
+ [스택](#welcome-classic-stacks)
+ [계층](#welcome-classic-layers)
+ [레시피 및 수명 주기 이벤트](#welcome-classic-lifecycle)
+ [인스턴스](#welcome-classic-instances)
+ [앱](#welcome-classic-apps)
+ [스택 사용자 지정](#welcome-classic-customizing)
+ [리소스 관리](#welcome-classic-resources)
+ [보안 및 권한](#welcome-classic-security)
+ [모니터링 및 로깅](#welcome-classic-monitoring)
+ [CLI, SDK 및 CloudFormation 템플릿](#welcome-classic-sdk)
+ [AWS OpsWorks Stacks 수명 종료 FAQs](stacks-eol-faqs.md)
+ [AWS OpsWorks Stacks 애플리케이션을 AWS Systems Manager Application Manager로 마이그레이션](migrating-to-systems-manager.md)
+ [AWS OpsWorks Stacks Detach in Place 도구 사용](using-stacks-detach-tool.md)
+ [OpsWorks Stacks 시작하기](gettingstarted_intro.md)
+ [OpsWorks Stacks 모범 사례](best-practices.md)
+ [스택](workingstacks.md)
+ [계층](workinglayers.md)
+ [인스턴스](workinginstances.md)
+ [앱](workingapps.md)
+ [쿡북과 레시피](workingcookbook.md)
+ [리소스 관리](resources.md)
+ [Tags](tagging.md)
+ [모니터링](monitoring.md)
+ [보안 및 권한](workingsecurity.md)
+ [OpsWorks Chef 12 Linux에 대한 Stacks 지원](chef-12-linux.md)
+ [OpsWorks Stacks의 이전 Chef 버전 지원](previous-chef-versions.md)
+ [다른 AWS 서비스와 함께 OpsWorks Stacks 사용](other-services.md)
+ [OpsWorks Stacks CLI 사용](cli-examples.md)
+ [디버깅 및 문제 해결 안내서](troubleshoot.md)
+ [OpsWorks Stacks 에이전트 CLI](agent.md)
+ [OpsWorks Stacks 데이터 백 참조](data-bags.md)
+ [OpsWorks 에이전트 변경 사항](agentchanges.md)

## 스택
<a name="welcome-classic-stacks"></a>

*스택*은 핵심 OpsWorks Stacks 구성 요소입니다. 기본적으로 Amazon EC2 인스턴스, Amazon RDS 데이터베이스 인스턴스 등 공통의 목적을 갖고 함께 논리적으로 관리해야 하는 AWS 리소스를 위한 컨테이너입니다. 스택은 이러한 리소스를 그룹으로 관리하는 데 도움이 되며, 인스턴스의 운영 체제와 AWS 리전 같은 일부 기본적인 구성 설정도 정의합니다. 일부 스택 구성 요소를 직접적인 사용자 상호 작용에서 격리하려면 스택을 VPC에서 실행하면 됩니다.

## 계층
<a name="welcome-classic-layers"></a>

하나 이상의 *계층*을 추가하여 스택의 구성 요소를 정의합니다. 계층은 애플리케이션에 서비스하거나 데이터베이스 서버를 호스팅하는 등 특정 목적에 사용되는 Amazon EC2 인스턴스 집합을 나타냅니다.

패키지의 기본 구성을 수정하고 추가 패키지 설치 등등의 작업을 수행하는 Chef 레시피를 추가하여 계층을 사용자 지정하거나 확장할 수 있습니다.

모든 스택에 대해 OpsWorks Stacks에는 다음 AWS 서비스를 나타내는 서비스 *계층*이 포함됩니다.
+ Amazon Relational Database Service 
+ Elastic Load Balancing
+ Amazon Elastic Container Service

계층을 통해 어떤 패키지가 설치되고, 어떻게 패키지를 구성하며, 애플리케이션이 어떻게 배포되는지 등을 완전히 제어할 수 있습니다.

## 레시피 및 수명 주기 이벤트
<a name="welcome-classic-lifecycle"></a>

계층은 인스턴스에 패키지 설치, 앱 배포, 스크립트 실행 등의 작업을 처리하기 위해 [Chef 레시피](http://docs.chef.io/recipes.html)에 의존합니다. 주요 OpsWorks Stacks 기능 중 하나는 각 인스턴스에서 적절한 시간에 지정된 레시피 세트를 자동으로 실행하는 설정, 구성, 배포, 배포 취소 및 종료와 같은 *수명 주기 이벤트* 세트입니다.

각 계층에는 각각의 수명 주기 이벤트에 할당되어 해당 이벤트와 계층을 위해 다양한 작업을 처리하는 레시피 집합이 있을 수 있습니다. 예를 들어 웹 서버 계층에 속하는 인스턴스가 부팅을 완료한 후 OpsWorks Stacks는 다음을 수행합니다.

1. 웹 서버 설치 및 구성과 같은 작업을 수행할 수 있는 계층의 설정 레시피를 실행합니다.

1. 리포지토리에서 인스턴스로 계층의 애플리케이션을 배포하고 서비스 재시작 같은 관련 작업을 수행하는 계층의 Deploy 레시피를 실행합니다.

1. 각 인스턴스가 필요에 따라 구성을 조정해 새 인스턴스를 수용할 수 있도록 스택의 모든 인스턴스에서 Configure 레시피를 실행합니다.

   예를 들어 로드 밸런서를 실행하는 인스턴스에서 Configure 레시피는 로드 밸런서의 구성을 수정하여 새 인스턴스를 포함시킬 수 있습니다.

인스턴스가 여러 계층에 속하는 경우 OpsWorks Stacks는 각 계층에 대해 레시피를 실행하므로 PHP 애플리케이션 서버와 MySQL 데이터베이스 서버를 지원하는 인스턴스를 보유할 수 있습니다.

레시피를 구현한 경우 각 레시피를 적절한 계층 및 이벤트에 할당할 수 있으며 OpsWorks Stacks는 적절한 시간에 자동으로 레시피를 실행합니다. 레시피는 언제든지 수동으로 실행할 수도 있습니다.

## 인스턴스
<a name="welcome-classic-instances"></a>

*인스턴스*는 Amazon EC2 인스턴스와 같은 단일 컴퓨팅 리소스를 나타냅니다. 인스턴스는 운영 체제와 크기 같은 리소스의 기본적 구성을 정의합니다. 탄력적 IP 주소 또는 Amazon EBS 볼륨 등 그 밖의 구성 설정은 인스턴스의 계층에 의해 정의됩니다. 계층의 레시피는 패키지 설치 및 구성, 앱 배포와 같은 작업을 수행하여 구성을 완료합니다.

 OpsWorks Stacks를 사용하여 인스턴스를 생성하고 계층에 추가할 수 있습니다. 인스턴스를 시작하면 OpsWorks Stacks는 인스턴스 및 해당 계층에서 지정한 구성 설정을 사용하여 Amazon EC2 인스턴스를 시작합니다. Amazon EC2 인스턴스 부팅이 완료된 후 OpsWorks Stacks는 인스턴스와 서비스 간 통신을 처리하고 수명 주기 이벤트에 응답하여 적절한 레시피를 실행하는 에이전트를 설치합니다.

OpsWorks Stacks는 시작 및 중지되는 방법을 특징으로 하는 다음과 같은 인스턴스 유형을 지원합니다.
+ **24/7 인스턴스**는 수동으로 시작되며 중지할 때까지 실행됩니다.
+ **시간 기반 인스턴스**는 지정된 일별 및 주별 일정에 따라 OpsWorks Stacks에서 실행됩니다.

  이 인스턴스를 통해 스택은 자동으로 인스턴스를 조정하여 예측 가능한 사용 패턴을 수용할 수 있습니다.
+ **로드 기반 인스턴스**는 CPU 사용률과 같은 지정된 로드 지표를 기반으로 OpsWorks Stacks에 의해 자동으로 시작 및 중지됩니다.

  이 인스턴스를 통해 스택은 자동으로 인스턴스 수를 조정하여 수신 트래픽의 변동을 수용할 수 있습니다. 로드 기반 인스턴스는 Linux 기반 스택에서만 사용할 수 있습니다.

OpsWorks Stacks는 인스턴스 자동 복구를 지원합니다. 에이전트가 서비스와의 통신을 중지하면 OpsWorks Stacks는 인스턴스를 자동으로 중지했다가 다시 시작합니다.

Linux 기반 컴퓨팅 리소스를 OpsWorks Stacks 외부에서 생성된 스택에 통합할 수도 있습니다.
+ Amazon EC2 콘솔, CLI 또는 API를 사용하여 직접 생성한 Amazon EC2 인스턴스.
+ 가상 머신에서 실행되는 인스턴스를 비롯하여 자체 하드웨어에서 실행되는 *온프레미스* 인스턴스.

이러한 인스턴스 중 하나를 등록한 후에는 Stacks 인스턴스가 되며 OpsWorks Stacks로 OpsWorks 생성한 인스턴스와 거의 동일한 방식으로 인스턴스를 관리할 수 있습니다.

## 앱
<a name="welcome-classic-apps"></a>

애플리케이션과 관련 파일은 Amazon S3 버킷과 같은 리포지토리에 저장합니다. 각각의 애플리케이션은 애플리케이션 유형을 지정하고 리포지토리에서 인스턴스로 애플리케이션을 배포하는 데 필요한 정보(예: 리포지토리 URL 및 암호)가 포함된 *앱*으로 표시됩니다. 앱을 배포할 때 OpsWorks Stacks는 스택의 인스턴스에서 Deploy 레시피를 실행하는 Deploy 이벤트를 트리거합니다.

앱은 다음 방법으로 배포할 수 있습니다.
+ 자동 - 인스턴스를 시작하면 OpsWorks Stacks가 인스턴스의 Deploy 레시피를 자동으로 실행합니다.
+ 수동 - 새 앱이 있거나 기존 앱을 업데이트하려는 경우 온라인 인스턴스의 Deploy 레시피를 수동으로 실행할 수 있습니다.

일반적으로 OpsWorks Stacks가 전체 스택에서 Deploy 레시피를 실행하도록 하면 다른 계층의 인스턴스가 구성을 적절하게 수정할 수 있습니다. 하지만 예컨대 새 앱을 모든 앱 서버 인스턴스에 배포하기 전에 테스트하려는 경우, 인스턴스의 하위 집합으로 배포를 제한할 수 있습니다.

## 스택 사용자 지정
<a name="welcome-classic-customizing"></a>

OpsWorks Stacks는 특정 요구 사항을 충족하도록 계층을 사용자 지정하는 다양한 방법을 제공합니다.
+ 다양한 구성 설정을 나타내는 속성을 재정의하거나 구성 파일을 생성하는 데 사용되는 템플릿을 재정의하여 OpsWorks Stacks가 패키지를 구성하는 방법을 수정할 수 있습니다.
+ 자체 레시피를 제공하여 스크립트 실행이나 비표준 패키지 설치 및 구성과 같은 작업을 수행하도록 기존 계층을 확장할 수 있습니다.

모든 스택에는 최소한의 레시피 집합으로만 시작하는 하나 이상의 계층이 포함될 수 있습니다. 패키지 설치, 앱 배포 등의 작업을 처리하도록 레시피를 구현하여 계층에 기능을 추가합니다. 사용자 지정 레시피와 관련 파일을 하나 이상의 *쿡북*에 패키징하고 Amazon S3 또는 Git 같은 리포지토리에 쿡북을 저장합니다.

레시피를 수동으로 실행할 수 있지만 OpsWorks Stacks를 사용하면 다섯 가지 *수명 주기 이벤트* 세트를 지원하여 프로세스를 자동화할 수도 있습니다.
+ **설정**은 새 인스턴스가 성공적으로 부팅된 후 새 인스턴스에서 발생합니다.
+ **Configure**는 인스턴스가 온라인 상태에 진입하거나 온라인 상태에서 나갈 때 스택의 모든 인스턴스에서 발생합니다.
+ **Deploy**는 앱을 배포할 때 발생합니다.
+ **Undeploy**는 앱을 삭제할 때 발생합니다.
+ **Shutdown**은 인스턴스를 중지할 때 발생합니다.

각 계층에서 각 이벤트에 할당할 수 있는 레시피의 수에는 제한이 없습니다. 계층의 인스턴스에서 수명 주기 이벤트가 발생하면 OpsWorks Stacks는 연결된 레시피를 실행합니다. 예를 들어 앱 서버 인스턴스에서 Deploy 이벤트가 발생하면 OpsWorks Stacks는 계층의 Deploy 레시피를 실행하여 앱을 다운로드하거나 관련 작업을 수행합니다.

## 리소스 관리
<a name="welcome-classic-resources"></a>

[탄력적 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)와 같은 다른 AWS 리소스를 스택에 통합할 수 있습니다. OpsWorks Stacks 콘솔 또는 API를 사용하여 스택에 리소스를 등록하고, 인스턴스에 등록된 리소스를 연결하거나 인스턴스에서 분리하고, 한 인스턴스에서 다른 인스턴스로 리소스를 이동할 수 있습니다.

## 보안 및 권한
<a name="welcome-classic-security"></a>

AWS OpsWorks Stacks는 AWS Identity and Access Management (IAM)과 통합되어 다음을 포함하여 사용자가 OpsWorks Stacks에 액세스하는 방법을 제어하는 강력한 방법을 제공합니다.
+ 계층과 인스턴스 같은 스택 리소스를 생성할 수 있는지 여부 혹은 SSH나 RDP를 사용하여 스택의 Amazon EC2 인스턴스에 연결할 수 있는지 여부 등 개별 사용자가 각 스택과 상호 작용할 수 있는 방법.
+  OpsWorks Stacks가 사용자를 대신하여 Amazon EC2 인스턴스와 같은 AWS 리소스와 상호 작용하는 방법.
+  OpsWorks Stacks 인스턴스에서 실행되는 앱이 Amazon S3 버킷과 같은 AWS 리소스에 액세스하는 방법.
+ 사용자의 퍼블릭 SSH 키와 RDP 암호를 관리하고 인스턴스에 연결하는 방법.

## 모니터링 및 로깅
<a name="welcome-classic-monitoring"></a>

OpsWorks Stacks는 스택을 모니터링하고 스택 및 레시피 관련 문제를 해결하는 데 도움이 되는 몇 가지 기능을 제공합니다. 모든 스택:
+ OpsWorks Stacks는 Linux 스택에 대한 사용자 지정 CloudWatch 지표 세트를 제공합니다.이 지표는 사용자의 편의를 위해 **모니터링** 페이지에 요약되어 있습니다.

  OpsWorks Stacks는 Windows 스택에 대한 표준 CloudWatch 지표를 지원합니다. 지표는 CloudWatch 콘솔로 모니터링할 수 있습니다.
+ AWS 계정에서 OpsWorks Stacks에 의해 또는 Stacks를 대신하여 수행된 API 호출을 기록하는 CloudTrail 로그입니다.
+ 스택에서 모든 이벤트를 나열하는 이벤트 로그.
+ 어떤 레시피가 실행되었고 어떤 오류가 발생했는지 등 각 인스턴스에서 각 수명 주기에 무엇이 발생했는지 상세히 기록하는 Chef 로그.

Linux 기반 스택에는 스택의 인스턴스에 대한 세부 모니터링 데이터를 수집하고 표시하는 데 사용할 수 있는 Ganglia 마스터 계층도 포함될 수 있습니다.

## CLI, SDK 및 CloudFormation 템플릿
<a name="welcome-classic-sdk"></a>

콘솔 외에도 OpsWorks Stacks는 모든 작업을 수행하는 데 사용할 수 있는 여러 언어에 대한 명령줄 인터페이스(CLI) 및 SDKs도 지원합니다. 다음 기능을 고려하세요.
+  OpsWorks Stacks CLI는 [AWS CLI](https://aws.amazon.com/documentation/cli/)의 일부이며 명령줄에서 모든 작업을 수행하는 데 사용할 수 있습니다.

  AWS CLI는 여러 AWS 서비스를 지원하며, Windows, Linux 또는 OS X 시스템에 설치할 수 있습니다.
+ OpsWorks Stacks는 [Windows PowerShell용 AWS 도구](https://aws.amazon.com/documentation/powershell/)에 포함되어 있으며 Windows PowerShell 명령줄에서 모든 작업을 수행하는 데 사용할 수 있습니다.
+ Stacks SDK는 Java, [Java](https://aws.amazon.com/documentation/sdkforjava/)[JavaScript](https://aws.amazon.com/documentation/sdkforjavascript/)Script(브라우저 기반 및 Node.js), OpsWorks [.NET](https://aws.amazon.com/documentation/sdkfornet/), [PHP](https://aws.amazon.com/documentation/sdkforphp/), [Python(boto)](http://boto.readthedocs.org/en/latest/) 또는 [Ruby](https://aws.amazon.com/documentation/sdkforruby/)에서 구현된 애플리케이션에서 사용할 수 있는 AWS SDKs에 포함되어 있습니다.

 CloudFormation 템플릿을 사용하여 스택을 프로비저닝할 수도 있습니다. 몇 가지 예제는 [AWS OpsWorks 조각](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-opsworks.html)을 참조하세요.