

# 인스턴스용 EC2 직렬 콘솔
<a name="ec2-serial-console"></a>

EC2 직렬 콘솔을 사용하면 Amazon EC2 인스턴스의 직렬 포트에 액세스하고 이 포트를 사용하여 부팅, 네트워크 구성 및 기타 문제를 해결할 수 있습니다. 직렬 콘솔은 인스턴스에서 네트워킹 기능 없이 사용할 수 있습니다. 직렬 콘솔을 사용하면 키보드와 모니터가 인스턴스의 직렬 포트에 직접 연결된 것처럼 인스턴스에 명령을 입력할 수 있습니다. 직렬 콘솔 세션은 인스턴스를 재부팅하고 중지하는 동안 지속됩니다. 재부팅할 때는 처음부터 모든 부팅 메시지를 볼 수 있습니다.

직렬 콘솔에 대한 액세스는 기본적으로 제공되지 않습니다. 조직에서 계정에 직렬 콘솔에 대한 액세스 권한을 부여하고, 사용자에게 직렬 콘솔 액세스 권한을 부여하는 IAM 정책을 구성해야 합니다. 인스턴스 ID, 리소스 태그 및 기타 IAM 레버를 사용하여 세분화된 수준에서 직렬 콘솔 액세스를 제어할 수 있습니다. 자세한 내용은 [EC2 직렬 콘솔에 대한 액세스 구성](configure-access-to-serial-console.md) 섹션을 참조하세요.

직렬 콘솔에는 EC2 콘솔 또는 AWS CLI를 사용하여 액세스할 수 있습니다.

직렬 콘솔은 추가 비용 없이 제공됩니다.

**Topics**
+ [EC2 직렬 콘솔 사전 조건](ec2-serial-console-prerequisites.md)
+ [EC2 직렬 콘솔에 대한 액세스 구성](configure-access-to-serial-console.md)
+ [EC2 직렬 콘솔에 연결](connect-to-serial-console.md)
+ [EC2 직렬 콘솔 연결 해제](disconnect-serial-console-session.md)
+ [EC2 직렬 콘솔을 사용하여 Amazon EC2 인스턴스 문제 해결](troubleshoot-using-serial-console.md)

# EC2 직렬 콘솔 사전 조건
<a name="ec2-serial-console-prerequisites"></a>

**Topics**
+ [AWS 리전](#sc-prereqs-regions)
+ [Wavelength 영역 및 AWS Outpost](#sc-prereqs-wavelength-zones-outposts)
+ [로컬 영역](#sc-prereqs-local-zones)
+ [인스턴스 유형](#sc-prereqs-instance-types)
+ [액세스 권한 부여](#sc-prereqs-configure-ec2-serial-console)
+ [브라우저 기반 클라이언트 지원](#sc-prereqs-for-browser-based-connection)
+ [인스턴스 상태](#sc-prereqs-instance-state)
+ [Amazon EC2 Systems Manager](#sc-prereqs-ssm)
+ [선택한 문제 해결 도구 구성](#sc-prereqs-configure-troubleshooting-tool)

## AWS 리전
<a name="sc-prereqs-regions"></a>

아시아 태평양(타이베이)을 제외한 모든 AWS 리전에서 지원됩니다.

## Wavelength 영역 및 AWS Outpost
<a name="sc-prereqs-wavelength-zones-outposts"></a>

지원되지 않음.

## 로컬 영역
<a name="sc-prereqs-local-zones"></a>

모든 로컬 영역에서 지원됩니다.

## 인스턴스 유형
<a name="sc-prereqs-instance-types"></a>

지원되는 인스턴스 유형:
+ **Linux**
  + Nitro 시스템에 구축된 모든 가상화된 인스턴스에 대해 지원됩니다.
  + 다음을 제외한 모든 베어 메탈 인스턴스에 대한 인자:
    + 범용: `a1.metal`, `mac1.metal`, `mac2.metal` 
    + 액셀러레이티드 컴퓨팅: `g5g.metal`
    + 메모리 최적화: `u-6tb1.metal`, `u-9tb1.metal`, `u-12tb1.metal`, `u-18tb1.metal`, `u-24tb1.metal` 
+ **Windows**

  Nitro 시스템에 구축된 모든 가상화된 인스턴스에 대해 지원됩니다. 베어 메탈 인스턴스에서는 지원되지 않습니다.

## 액세스 권한 부여
<a name="sc-prereqs-configure-ec2-serial-console"></a>

EC2 직렬 콘솔에 대한 액세스 권한을 부여하는 구성 작업을 완료해야 합니다. 자세한 내용은 [EC2 직렬 콘솔에 대한 액세스 구성](configure-access-to-serial-console.md) 섹션을 참조하세요.

## 브라우저 기반 클라이언트 지원
<a name="sc-prereqs-for-browser-based-connection"></a>

[브라우저 기반 클라이언트를 사용](connect-to-serial-console.md#sc-connect-browser-based-client)하여 직렬 콘솔에 연결하려면 브라우저가 WebSocket을 지원해야 합니다. 브라우저가 WebSocket을 지원하지 않는 경우 [자체 키 및 SSH 클라이언트를 사용](connect-to-serial-console.md#sc-connect-SSH)하여 직렬 콘솔에 연결합니다.

## 인스턴스 상태
<a name="sc-prereqs-instance-state"></a>

`running`여야 합니다.

인스턴스가 `pending`, `stopping`, `stopped`, `shutting-down` 또는 `terminated` 상태인 경우 직렬 콘솔에 연결할 수 없습니다.

인스턴스 상태에 대한 자세한 내용은 [Amazon EC2 인스턴스 상태 변경](ec2-instance-lifecycle.md) 섹션을 참조하세요.

## Amazon EC2 Systems Manager
<a name="sc-prereqs-ssm"></a>

인스턴스에서 Amazon EC2 Systems Manager를 사용하는 경우 SSM Agent 버전 3.0.854.0 이상을 인스턴스에 설치해야 합니다. SSM Agent에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [SSM Agent 작업](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)을 참조하세요.

## 선택한 문제 해결 도구 구성
<a name="sc-prereqs-configure-troubleshooting-tool"></a>

직렬 콘솔을 통해 인스턴스 문제를 해결하기 위해 Linux 인스턴스에서는 GRUB 또는 SysRq를, Windows 인스턴스에서는 Special Admin Console(SAC)을 사용하면 됩니다. 이러한 도구를 사용하려면 먼저 도구를 사용할 모든 인스턴스에서 구성 단계를 수행해야 합니다.

인스턴스의 운영 체제에 대한 지침을 사용하여 선택한 문제 해결 도구를 구성합니다.

### (Linux 인스턴스) GRUB 구성
<a name="configure-grub"></a>

GRUB을 구성하려면 인스턴스를 시작할 때 사용된 AMI에 따라 다음 절차 중 하나를 선택합니다.

------
#### [ Amazon Linux 2 ]

**Amazon Linux 2 인스턴스에서 GRUB을 구성하려면**

1. [SSH를 사용하여 Linux 인스턴스에 연결](connect-to-linux-instance.md)

1. `/etc/default/grub`에서 다음 옵션을 추가하거나 변경합니다.
   + `GRUB_TIMEOUT=1`을 설정합니다.
   + 추가 `GRUB_TERMINAL="console serial"`.
   + 추가 `GRUB_SERIAL_COMMAND="serial --speed=115200"`.

   다음은 `/etc/default/grub`의 예제입니다. 시스템 설정에 따라 구성을 변경해야 할 수 있습니다.

   ```
   GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0"
   GRUB_TIMEOUT=1
   GRUB_DISABLE_RECOVERY="true"
   GRUB_TERMINAL="console serial"
   GRUB_SERIAL_COMMAND="serial --speed=115200"
   ```

1. 다음 명령을 실행하여 업데이트된 구성을 적용합니다.

   ```
   [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
   ```

------
#### [ Ubuntu ]

**Ubuntu 인스턴스에서 GRUB을 구성하려면**

1. [인스턴스에 연결합니다](connect-to-linux-instance.md).

1. `/etc/default/grub.d/50-cloudimg-settings.cfg`에서 다음 옵션을 추가하거나 변경합니다.
   + `GRUB_TIMEOUT=1`을 설정합니다.
   + 추가 `GRUB_TIMEOUT_STYLE=menu`.
   + 추가 `GRUB_TERMINAL="console serial"`.
   + `GRUB_HIDDEN_TIMEOUT`를 제거합니다.
   + 추가 `GRUB_SERIAL_COMMAND="serial --speed=115200"`.

   다음은 `/etc/default/grub.d/50-cloudimg-settings.cfg`의 예제입니다. 시스템 설정에 따라 구성을 변경해야 할 수 있습니다.

   ```
   # Cloud Image specific Grub settings for Generic Cloud Images
   # CLOUD_IMG: This file was created/modified by the Cloud Image build process
   
   # Set the recordfail timeout
   GRUB_RECORDFAIL_TIMEOUT=0
   
   # Do not wait on grub prompt
   GRUB_TIMEOUT=1
   GRUB_TIMEOUT_STYLE=menu
   
   # Set the default commandline
   GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295"
   
   # Set the grub console type
   GRUB_TERMINAL="console serial"
   GRUB_SERIAL_COMMAND="serial --speed 115200"
   ```

1. 다음 명령을 실행하여 업데이트된 구성을 적용합니다.

   ```
   [ec2-user ~]$ sudo update-grub
   ```

------
#### [ RHEL ]

**RHEL 인스턴스에서 GRUB을 구성하려면**

1. [인스턴스에 연결합니다](connect-to-linux-instance.md).

1. `/etc/default/grub`에서 다음 옵션을 추가하거나 변경합니다.
   + `GRUB_TERMINAL_OUTPUT`를 제거합니다.
   + 추가 `GRUB_TERMINAL="console serial"`.
   + 추가 `GRUB_SERIAL_COMMAND="serial --speed=115200"`.

   다음은 `/etc/default/grub`의 예제입니다. 시스템 설정에 따라 구성을 변경해야 할 수 있습니다.

   ```
   GRUB_TIMEOUT=1
   GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
   GRUB_DEFAULT=saved
   GRUB_DISABLE_SUBMENU=true
   GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto"
   GRUB_DISABLE_RECOVERY="true"
   GRUB_ENABLE_BLSCFG=true
   GRUB_TERMINAL="console serial"
   GRUB_SERIAL_COMMAND="serial --speed=115200"
   ```

1. 다음 명령을 실행하여 업데이트된 구성을 적용합니다.

   ```
   [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
   ```

   RHEL 9.2 이하의 경우 다음 명령을 사용합니다.

   ```
   [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
   ```

------
#### [ CentOS ]

CentOS AMI를 사용하여 시작되는 인스턴스의 경우 GRUB은 기본적으로 직렬 콘솔에 대해 구성됩니다.

다음은 `/etc/default/grub`의 예제입니다. 시스템 설정에 따라 구성이 다를 수 있습니다.

```
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200"
GRUB_DISABLE_RECOVERY="true"
```

------

### (Linux 인스턴스) SysRq 구성
<a name="configure-sysrq"></a>

SysRq를 구성하려면 현재 부팅 주기에 대해 SysRq 명령을 활성화합니다. 구성을 영구적으로 만들려면 후속 부팅에 대해서도 SysRq 명령을 활성화할 수 있습니다.

**현재 부팅 주기에 대해 모든 SysRq 명령을 활성화하려면**

1. [인스턴스에 연결합니다](connect-to-linux-instance.md).

1. 다음 명령을 실행합니다.

   ```
   [ec2-user ~]$ sudo sysctl -w kernel.sysrq=1
   ```

   이 설정은 다음 재부팅 시 지워집니다.

**후속 부팅에 대해 모든 SysRq 명령을 활성화하려면**

1. `/etc/sysctl.d/99-sysrq.conf` 파일을 생성하고 자주 사용하는 편집기에서 엽니다.

   ```
   [ec2-user ~]$ sudo vi /etc/sysctl.d/99-sysrq.conf
   ```

1. 다음 행을 추가합니다.

   ```
   kernel.sysrq=1
   ```

1. 인스턴스를 재부팅하여 변경 사항을 적용합니다.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. `login` 프롬프트에서 [이전에 설정](configure-access-to-serial-console.md#set-user-password)한 암호 기반 사용자의 사용자 이름을 입력한 다음 **Enter** 키를 누릅니다.

1. `Password` 프롬프트에서 암호를 입력한 다음 **Enter** 키를 누릅니다.

### (Windows 인스턴스) SAC 및 부팅 메뉴 활성화
<a name="configure-sac-bootmenu"></a>

**참고**  
인스턴스에서 SAC를 활성화하면 암호 검색에 의존하는 EC2 서비스가 Amazon EC2 콘솔에서 작동하지 않습니다. Amazon EC2 Windows 시작 에이전트(EC2Config, EC2Launch v1 및 EC2Launch v2)는 직렬 콘솔을 사용하여 다양한 작업을 실행합니다. 인스턴스에서 SAC를 사용 설정하면 이러한 작업이 성공적으로 수행되지 않습니다. Amazon EC2 Windows 시작 에이전트에 대한 자세한 내용은 [Amazon EC2 Windows 인스턴스 구성](ec2-windows-instances.md) 섹션을 참조하세요. SAC를 활성화하면 나중에 비활성화할 수 있습니다. 자세한 내용은 [SAC 및 부팅 메뉴 비활성화](troubleshoot-using-serial-console.md#disable-sac-bootmenu) 섹션을 참조하세요.

다음 방법 중 하나를 사용하여 인스턴스에서 SAC 및 부팅 메뉴를 활성화합니다.

------
#### [ PowerShell ]

**Windows 인스턴스에서 SAC 및 부팅 메뉴를 활성화하려면**

1. 인스턴스에 [연결](connecting_to_windows_instance.md)하고 상승된 PowerShell 명령줄에서 다음 단계를 수행합니다.

1. SAC를 활성화합니다.

   ```
   bcdedit /ems '{current}' on
   bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
   ```

1. 부팅 메뉴를 활성화합니다.

   ```
   bcdedit /set '{bootmgr}' displaybootmenu yes
   bcdedit /set '{bootmgr}' timeout 15
   bcdedit /set '{bootmgr}' bootems yes
   ```

1. 인스턴스를 재부팅하여 업데이트된 구성을 적용합니다.

   ```
   shutdown -r -t 0
   ```

------
#### [ Command prompt ]

**Windows 인스턴스에서 SAC 및 부팅 메뉴를 활성화하려면**

1. 인스턴스에 [연결](connecting_to_windows_instance.md)하고 명령 프롬프트에서 다음 단계를 수행합니다.

1. SAC를 활성화합니다.

   ```
   bcdedit /ems {current} on
   bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
   ```

1. 부팅 메뉴를 활성화합니다.

   ```
   bcdedit /set {bootmgr} displaybootmenu yes
   bcdedit /set {bootmgr} timeout 15
   bcdedit /set {bootmgr} bootems yes
   ```

1. 인스턴스를 재부팅하여 업데이트된 구성을 적용합니다.

   ```
   shutdown -r -t 0
   ```

------

# EC2 직렬 콘솔에 대한 액세스 구성
<a name="configure-access-to-serial-console"></a>

직렬 콘솔에 대한 액세스를 구성하려면 계정 수준에서 직렬 콘솔 액세스 권한을 부여한 다음 사용자에게 액세스 권한을 부여하는 IAM 정책을 구성해야 합니다. Linux 인스턴스의 경우 사용자가 직렬 콘솔을 사용하여 문제를 해결할 수 있도록 모든 인스턴스에서 암호 기반 사용자도 구성해야 합니다.

EC2 직렬 콘솔은 가상 직렬 포트 연결을 사용하여 인스턴스와 상호 작용합니다. 이 연결은 인스턴스 VPC와 독립적이므로 부팅 실패 또는 네트워크 구성 문제가 있더라도 인스턴스 운영 체제로 작업하고 문제 해결 도구를 실행할 수 있습니다. 이 연결은 VPC 네트워크 외부에 있으므로 EC2 직렬 콘솔은 인스턴스 보안 그룹 또는 서브넷 네트워크 ACL을 사용하여 인스턴스에 대한 트래픽을 승인하지 않습니다.

**시작하기 전 준비 사항**  
[사전 조건](ec2-serial-console-prerequisites.md)이 충족되었는지 확인합니다.

**Topics**
+ [EC2 직렬 콘솔에 대한 액세스 수준](#serial-console-access-levels)
+ [EC2 직렬 콘솔에 대한 계정 액세스 관리](#serial-console-account-access)
+ [EC2 직렬 콘솔 액세스에 대한 IAM 정책 구성](#serial-console-iam)
+ [Linux 인스턴스에서 OS 사용자 암호 설정](#set-user-password)

## EC2 직렬 콘솔에 대한 액세스 수준
<a name="serial-console-access-levels"></a>

기본적으로 계정 수준에서는 Serial 콘솔에 액세스할 수 없습니다. 계정 수준에서 Serial 콘솔에 대한 액세스 권한을 명시적으로 부여해야 합니다. 자세한 내용은 [EC2 직렬 콘솔에 대한 계정 액세스 관리](#serial-console-account-access) 섹션을 참조하세요.

서비스 제어 정책(SCP)을 사용하여 조직 내의 직렬 콘솔에 대한 액세스를 허용할 수 있습니다. 그런 다음 IAM 정책을 사용하여 액세스를 제어함으로써 사용자 수준에서 세분화된 액세스를 제어할 수 있습니다. SCP와 IAM 정책을 조합하여 사용하면 직렬 콘솔에 대한 액세스를 다양한 수준에서 제어할 수 있습니다.

**조직 수준**  
서비스 제어 정책(SCP)을 사용하여 조직 내 멤버 계정에 대한 직렬 콘솔 액세스를 허용할 수 있습니다. SCP에 대한 자세한 내용은 *AWS Organizations 사용 설명서*에서 [서비스 제어 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 참조하세요.

**인스턴스 수준**  
IAM PrincipalTag 및 ResourceTag 구성을 사용하고 인스턴스 ID로 인스턴스를 지정하여 직렬 콘솔 액세스 정책을 구성할 수 있습니다. 자세한 내용은 [EC2 직렬 콘솔 액세스에 대한 IAM 정책 구성](#serial-console-iam) 섹션을 참조하세요.

**사용자 수준**  
지정된 사용자가 SSH 퍼블릭 키를 특정 인스턴스의 직렬 콘솔 서비스로 푸시할 수 있는 권한을 허용하거나 거부하는 IAM 정책을 구성하여 사용자 수준에서 액세스를 구성할 수 있습니다. 자세한 내용은 [EC2 직렬 콘솔 액세스에 대한 IAM 정책 구성](#serial-console-iam) 섹션을 참조하세요.

**OS 수준**(Linux 인스턴스만 해당)  
게스트 OS 수준에서 사용자 암호를 설정할 수 있습니다. 이렇게 하면 일부 사용 사례에서 직렬 콘솔에 대한 액세스를 제공할 수 있습니다. 그러나 로그를 모니터링하는 경우에는 암호 기반 사용자가 필요하지 않습니다. 자세한 내용은 [Linux 인스턴스에서 OS 사용자 암호 설정](#set-user-password) 섹션을 참조하세요.

## EC2 직렬 콘솔에 대한 계정 액세스 관리
<a name="serial-console-account-access"></a>

기본적으로 계정 수준에서는 Serial 콘솔에 액세스할 수 없습니다. 계정 수준에서 Serial 콘솔에 대한 액세스 권한을 명시적으로 부여해야 합니다.

이 설정은 계정 수준에서 직접 구성되거나 선언적 정책을 사용하여 구성됩니다. 이는 직렬 콘솔에 대한 액세스 권한을 부여하려는 각 AWS 리전에서 구성해야 합니다. 선언적 정책을 사용하면 여러 리전과 여러 계정에 동시에 설정을 적용할 수 있습니다. 선언적 정책을 사용 중인 경우 계정 내에서 직접 설정을 수정할 수 없습니다. 이 주제에서는 계정 내에서 직접 설정을 구성하는 방법을 설명합니다. 선언적 정책 사용에 대한 자세한 내용은 *AWS Organizations 사용 설명서*의 [선언적 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)을 참조하세요.

**Contents**
+ [사용자에게 계정 액세스 관리 권한 부여](#sc-account-access-permissions)
+ [직렬 콘솔에 대한 계정 액세스 상태 보기](#sc-view-account-access)
+ [직렬 콘솔에 대한 계정 액세스 권한 부여](#sc-grant-account-access)
+ [직렬 콘솔에 대한 계정 액세스 거부](#sc-deny-account-access)

### 사용자에게 계정 액세스 관리 권한 부여
<a name="sc-account-access-permissions"></a>

사용자가 EC2 직렬 콘솔에 대한 계정 액세스를 관리할 수 있도록 허용하려면 필요한 IAM 권한을 부여해야 합니다.

다음 정책은 계정 상태를 보고 EC2 직렬 콘솔에 대한 계정 액세스를 허용 및 차단할 수 있는 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:GetSerialConsoleAccessStatus",
                "ec2:EnableSerialConsoleAccess",
                "ec2:DisableSerialConsoleAccess"
            ],
            "Resource": "*"
        }
    ]
}
```

------

자세한 내용은 *IAM 사용 설명서*에서 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.

### 직렬 콘솔에 대한 계정 액세스 상태 보기
<a name="sc-view-account-access"></a>

------
#### [ Console ]

**직렬 콘솔에 대한 계정 액세스 권한을 보려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **대시보드**를 선택합니다.

1. **계정 속성** 카드의 **설정**에서 **EC2 직렬 콘솔**을 선택합니다.

1. **EC2 직렬 콘솔** 탭에서 **EC2 직렬 콘솔 액세스** 값은 **허용됨**됨 또는 **금지됨**입니다.

------
#### [ AWS CLI ]

**직렬 콘솔에 대한 계정 액세스 권한을 보려면**  
[get-serial-console-access-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-serial-console-access-status.html) 명령을 사용합니다.

```
aws ec2 get-serial-console-access-status
```

다음은 예제 출력입니다. 값이 `true`이면 계정이 직렬 콘솔에 액세스할 수 있음을 나타냅니다.

```
{
    "SerialConsoleAccessEnabled": true,
    "ManagedBy": "account"
}
```

`ManagedBy` 필드는 설정을 구성한 엔터티를 나타냅니다. 가능한 값은 `account`(직접 구성함) 또는 `declarative-policy`입니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [선언적 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)을 참조하세요.

------
#### [ PowerShell ]

**직렬 콘솔에 대한 계정 액세스 권한을 보려면**  
[Get-EC2SerialConsoleAccessStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SerialConsoleAccessStatus.html) cmdlet을 사용합니다.

```
Get-EC2SerialConsoleAccessStatus -Select *
```

다음은 예제 출력입니다. 값이 `True`이면 계정이 직렬 콘솔에 액세스할 수 있음을 나타냅니다.

```
ManagedBy SerialConsoleAccessEnabled
--------- --------------------------
account   True
```

`ManagedBy` 필드는 설정을 구성한 엔터티를 나타냅니다. 가능한 값은 `account`(직접 구성함) 또는 `declarative-policy`입니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [선언적 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)을 참조하세요.

------

### 직렬 콘솔에 대한 계정 액세스 권한 부여
<a name="sc-grant-account-access"></a>

------
#### [ Console ]

**계정에 직렬 콘솔 액세스 권한을 부여하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **대시보드**를 선택합니다.

1. **계정 속성** 카드의 **설정**에서 **EC2 직렬 콘솔**을 선택합니다.

1. **관리**를 선택합니다.

1. 계정에 있는 모든 인스턴스의 EC2 직렬 콘솔에 대한 액세스를 허용하려면 **허용** 확인란을 선택합니다.

1. **업데이트**를 선택합니다.

------
#### [ AWS CLI ]

**계정에 직렬 콘솔 액세스 권한을 부여하려면**  
[enable-serial-console-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-serial-console-access.html) 명령을 사용합니다.

```
aws ec2 enable-serial-console-access
```

다음은 예제 출력입니다.

```
{
    "SerialConsoleAccessEnabled": true
}
```

------
#### [ PowerShell ]

**계정에 직렬 콘솔 액세스 권한을 부여하려면**  
[Enable-EC2SerialConsoleAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2SerialConsoleAccess.html) cmdlet을 사용합니다.

```
Enable-EC2SerialConsoleAccess
```

다음은 예제 출력입니다.

```
True
```

------

### 직렬 콘솔에 대한 계정 액세스 거부
<a name="sc-deny-account-access"></a>

------
#### [ Console ]

**직렬 콘솔에 대한 계정 액세스를 거부하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **대시보드**를 선택합니다.

1. **계정 속성** 카드의 **설정**에서 **EC2 직렬 콘솔**을 선택합니다.

1. **관리**를 선택합니다.

1. 계정에 있는 모든 인스턴스의 EC2 직렬 콘솔에 대한 액세스를 방지하려면 **허용** 확인란을 선택 취소합니다.

1. **업데이트**를 선택합니다.

------
#### [ AWS CLI ]

**직렬 콘솔에 대한 계정 액세스를 거부하려면**  
[disable-serial-console-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-serial-console-access.html) 명령을 사용합니다.

```
aws ec2 disable-serial-console-access
```

다음은 예제 출력입니다.

```
{
    "SerialConsoleAccessEnabled": false
}
```

------
#### [ PowerShell ]

**직렬 콘솔에 대한 계정 액세스를 거부하려면**  
[Disable-EC2SerialConsoleAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2SerialConsoleAccess.html) cmdlet을 사용합니다.

```
Disable-EC2SerialConsoleAccess
```

다음은 예제 출력입니다.

```
False
```

------

## EC2 직렬 콘솔 액세스에 대한 IAM 정책 구성
<a name="serial-console-iam"></a>

기본적으로 사용자는 직렬 콘솔에 액세스할 수 없습니다. 조직은 사용자에게 필요한 액세스 권한을 부여하는 IAM 정책을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*에서 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.

직렬 콘솔 액세스의 경우 `ec2-instance-connect:SendSerialConsoleSSHPublicKey` 작업이 포함된 JSON 정책 문서를 생성합니다. 이 작업은 사용자에게 직렬 콘솔 서비스에 퍼블릭 키를 푸시하여 직렬 콘솔 세션을 시작할 수 있는 권한을 부여합니다. 특정 EC2 인스턴스로 액세스를 제한하는 것이 좋습니다. 그렇게 하지 않으면 이 권한이 있는 모든 사용자가 모든 EC2 인스턴스의 직렬 콘솔에 연결할 수 있습니다.

**Topics**
+ [직렬 콘솔에 대한 액세스를 명시적으로 허용](#iam-explicitly-allow-access)
+ [직렬 콘솔에 대한 액세스를 명시적으로 거부](#serial-console-IAM-policy)
+ [리소스 태그를 사용하여 직렬 콘솔에 대한 액세스 제어](#iam-resource-tags)

### 직렬 콘솔에 대한 액세스를 명시적으로 허용
<a name="iam-explicitly-allow-access"></a>

기본적으로는 누구도 직렬 콘솔에 액세스할 수 없습니다. 직렬 콘솔에 대한 액세스 권한을 부여하려면 액세스를 명시적으로 허용하는 정책을 구성해야 합니다. 특정 인스턴스로 액세스를 제한하는 정책을 구성하는 것이 좋습니다.

다음 정책은 인스턴스 ID로 식별되는 특정 인스턴스의 직렬 콘솔에 대한 액세스를 허용합니다.

`DescribeInstances`, `DescribeInstanceTypes` 및 `GetSerialConsoleAccessStatus` 작업은 리소스 수준 권한을 지원하지 않으므로 이러한 작업에 대해 `*`(별표)로 표시된 모든 리소스를 지정해야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:GetSerialConsoleAccessStatus"
            ],
             "Resource": "*"
        },
        {
            "Sid": "AllowinstanceBasedSerialConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "ec2-instance-connect:SendSerialConsoleSSHPublicKey"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
        }
    ]
}
```

------

### 직렬 콘솔에 대한 액세스를 명시적으로 거부
<a name="serial-console-IAM-policy"></a>

다음 IAM 정책은 `*`(별표)로 표시된 모든 인스턴스의 직렬 콘솔에 대한 액세스를 허용하고 인스턴스 ID로 식별되는 특정 인스턴스의 직렬 콘솔에 대한 액세스를 명시적으로 거부합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSerialConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "ec2-instance-connect:SendSerialConsoleSSHPublicKey",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:GetSerialConsoleAccessStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DenySerialConsoleAccess",
            "Effect": "Deny",
            "Action": [
                "ec2-instance-connect:SendSerialConsoleSSHPublicKey"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
        }
    ]
}
```

------

### 리소스 태그를 사용하여 직렬 콘솔에 대한 액세스 제어
<a name="iam-resource-tags"></a>

리소스 태그를 사용하여 인스턴스의 직렬 콘솔에 대한 액세스를 제어할 수 있습니다.

속성 기반 액세스 제어는 사용자 및 AWS 리소스에 연결할 수 있는 태그를 기반으로 권한을 정의하는 권한 부여 전략입니다. 예를 들어, 다음 정책은 인스턴스의 리소스 태그와 보안 주체의 태그에 동일한 `SerialConsole` 태그 키 값이 포함되는 경우에만 사용자가 인스턴스에 대한 직렬 콘솔 연결을 시작하는 것을 허용합니다.

태그를 사용하여 AWS 리소스에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*에서 [AWS 리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)를 참조하세요.

`DescribeInstances`, `DescribeInstanceTypes` 및 `GetSerialConsoleAccessStatus` 작업은 리소스 수준 권한을 지원하지 않으므로 이러한 작업에 대해 `*`(별표)로 표시된 모든 리소스를 지정해야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:GetSerialConsoleAccessStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowTagBasedSerialConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "ec2-instance-connect:SendSerialConsoleSSHPublicKey"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SerialConsole": "${aws:PrincipalTag/SerialConsole}"
                }
            }
        }
    ]
}
```

------

## Linux 인스턴스에서 OS 사용자 암호 설정
<a name="set-user-password"></a>

직렬 콘솔에는 암호 없이 연결할 수 있습니다. 그러나 Linux 인스턴스 문제 해결에 직렬 콘솔을 **사용하려면 인스턴스에 암호 기반 OS 사용자가 있어야 합니다.

루트 사용자를 포함하여 모든 OS 사용자의 암호를 설정할 수 있습니다. 루트 사용자는 모든 파일을 수정할 수 있지만 각 OS 사용자는 제한된 권한을 가질 수 있습니다.

직렬 콘솔을 사용할 모든 인스턴스에 대해 사용자 암호를 설정해야 합니다. 각 인스턴스에 대해 한 번만 수행하면 됩니다.

**참고**  
기본적으로 AWS에서 제공하는 AMI는 암호 기반 사용자로 구성되지 않습니다. 이미 루트 사용자 암호가 구성되어 있는 AMI를 사용하여 인스턴스를 시작한 경우 이 지침을 건너뛸 수 있습니다.

**Linux 인스턴스에서 OS 사용자 암호를 설정하려면 다음을 수행합니다.**

1. [인스턴스에 연결합니다](connect-to-linux-instance.md). EC2 직렬 콘솔 연결 방법을 제외한 모든 방법으로 인스턴스에 연결할 수 있습니다.

1. 사용자의 암호를 설정하려면 **passwd** 명령을 사용합니다. 다음 예제에서 사용자는 `root`입니다.

   ```
   [ec2-user ~]$ sudo passwd root
   ```

   다음은 예제 출력입니다.

   ```
   Changing password for user root.
   New password:
   ```

1. `New password` 프롬프트에서 새 암호를 입력합니다.

1. 프롬프트에서 암호를 다시 입력합니다.

# EC2 직렬 콘솔에 연결
<a name="connect-to-serial-console"></a>

Amazon EC2 콘솔 또는 SSH를 통해 EC2 인스턴스의 직렬 콘솔에 연결할 수 있습니다. 직렬 콘솔에 연결한 후에는 직렬 콘솔을 사용하여 부팅, 네트워크 구성 및 기타 문제를 해결할 수 있습니다. 문제 해결에 대한 자세한 내용은 [EC2 직렬 콘솔을 사용하여 Amazon EC2 인스턴스 문제 해결](troubleshoot-using-serial-console.md) 섹션을 참조하세요.

**고려 사항**
+ 인스턴스당 하나의 활성 직렬 콘솔 연결만 지원됩니다.
+ 일반적으로 직렬 콘솔 연결은 [연결을 해제하지 않는 한](disconnect-serial-console-session.md) 1시간 동안 지속됩니다. 그러나 시스템 유지 관리 중에는 Amazon EC2에서 직렬 콘솔 세션 연결을 해제합니다.

  연결 기간은 IAM 자격 증명 기간에 따라 결정되지 않습니다. IAM 자격 증명이 만료된 경우 직렬 콘솔 연결의 최대 기간에 도달할 때까지 연결이 계속 유지됩니다. EC2 직렬 콘솔의 콘솔 환경을 사용할 때 IAM 자격 증명이 만료되면 브라우저 페이지를 닫아 연결을 종료합니다.
+ 직렬 콘솔에서 연결을 끊은 후 새 세션을 허용하려면 세션을 삭제하는 데 30초가 걸립니다.
+ 지원되는 직렬 콘솔 포트: `ttyS0`(Linux 인스턴스) 및 `COM1`(Windows 인스턴스)
+ 직렬 콘솔에 연결하는 경우 인스턴스 처리량이 약간 저하될 수 있습니다.

**Topics**
+ [브라우저 기반 클라이언트를 사용하여 연결](#sc-connect-browser-based-client)
+ [자체 키 및 SSH 클라이언트를 사용하여 연결](#sc-connect-SSH)
+ [EC2 직렬 콘솔 엔드포인트 및 지문](#sc-endpoints-and-fingerprints)

## 브라우저 기반 클라이언트를 사용하여 연결
<a name="sc-connect-browser-based-client"></a>

브라우저 기반 클라이언트를 사용하여 EC2 인스턴스의 직렬 콘솔에 연결할 수 있습니다. Amazon EC2 콘솔에서 인스턴스를 선택하고 직렬 콘솔에 연결하도록 선택하면 됩니다. 브라우저 기반 클라이언트에서 사용 권한이 처리되고 성공적으로 연결됩니다.

EC2 직렬 콘솔은 대부분의 브라우저에서 작동하며 키보드 및 마우스 입력을 지원합니다.

연결하기 전에 [사전 요구 사항](ec2-serial-console-prerequisites.md)을 충족하는지 확인합니다.

**브라우저 기반 클라이언트를 사용하여 인스턴스의 직렬 포트에 연결하려면(Amazon EC2 콘솔)**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업(Actions)**, **모니터링 및 문제 해결(Monitor and troubleshoot)**, **EC2 직렬 콘솔(EC2 Serial Console)**, **연결(Connect)**을 선택합니다.

   또는 인스턴스를 선택하고 **연결(Connect)**, **EC2 직렬 콘솔(EC2 Serial Console)**, **연결(Connect)**을 선택합니다.

   브라우저 내 터미널 창이 열립니다.

1. **Enter(입력)** 키를 누릅니다. 로그인 프롬프트가 반환되면 직렬 콘솔에 연결된 것입니다.

   화면이 검은색으로 유지되면 다음 정보를 사용하여 직렬 콘솔 연결 문제를 해결할 수 있습니다.
   + **직렬 콘솔에 대한 액세스를 구성했는지 확인합니다.** 자세한 내용은 [EC2 직렬 콘솔에 대한 액세스 구성](configure-access-to-serial-console.md) 섹션을 참조하세요.
   + (Linux 인스턴스만 해당) **SysRq를 사용하여 직렬 콘솔에 연결합니다.** SysRq는 브라우저 기반 클라이언트를 사용하여 연결할 필요가 없습니다. 자세한 내용은 [(Linux 인스턴스) SysRq를 사용하여 인스턴스 문제 해결SysRq(Linux)](troubleshoot-using-serial-console.md#SysRq) 섹션을 참조하세요.
   + (Linux 인스턴스만 해당) **getty를 다시 시작합니다.** 인스턴스에 대한 SSH 액세스 권한이 있는 경우 SSH를 사용하여 인스턴스에 연결하고 다음 명령을 사용하여 getty를 다시 시작합니다.

     ```
     [ec2-user ~]$ sudo systemctl restart serial-getty@ttyS0
     ```
   + **인스턴스를 재부팅합니다.** SysRq(Linux 인스턴스), EC2 콘솔 또는 AWS CLI를 사용하여 인스턴스를 재부팅할 수 있습니다. 자세한 내용은 [(Linux 인스턴스) SysRq를 사용하여 인스턴스 문제 해결SysRq(Linux)](troubleshoot-using-serial-console.md#SysRq)(Linux 인스턴스) 또는 [Amazon EC2 인스턴스 재부팅](ec2-instance-reboot.md) 섹션을 참조하세요.

1. (Linux 인스턴스만 해당) `login` 프롬프트에서 [이전에 설정](configure-access-to-serial-console.md#set-user-password)한 암호 기반 사용자의 사용자 이름을 입력한 다음 **Enter** 키를 누릅니다.

1. (Linux 인스턴스만 해당) `Password` 프롬프트에서 암호를 입력한 다음 **Enter** 키를 누릅니다.

## 자체 키 및 SSH 클라이언트를 사용하여 연결
<a name="sc-connect-SSH"></a>

자체 SSH 키를 사용하면서 직렬 콘솔 API를 사용하여 선택한 SSH 클라이언트의 인스턴스에 연결할 수 있습니다. 이렇게 하면 직렬 콘솔 기능을 활용하여 퍼블릭 키를 인스턴스로 푸시할 수 있습니다.

SSH 키를 인스턴스에 푸시한 후에는 사용자에게 EC2 직렬 콘솔 액세스 권한을 부여하도록 구성한 IAM 정책이 SSH 연결에 적용되지 않습니다.

**시작하기 전 준비 사항**  
[사전 조건](ec2-serial-console-prerequisites.md)이 충족되었는지 확인합니다.

**SSH를 사용하여 인스턴스의 직렬 콘솔에 연결하려면**

1. **SSH 퍼블릭 키를 인스턴스로 푸시하여 직렬 콘솔 세션 시작**

   [send-serial-console-ssh-public-key](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/send-serial-console-ssh-public-key.html) 명령을 사용하여 SSH 퍼블릭 키를 인스턴스에 푸시합니다. 이렇게 하면 직렬 콘솔 세션이 시작됩니다.

   이 인스턴스에 대해 직렬 콘솔 세션이 이미 시작된 경우 한 번에 하나의 세션만 열 수 있기 때문에 명령이 실패합니다. 직렬 콘솔에서 연결을 끊은 후 새 세션을 허용하려면 세션을 삭제하는 데 30초가 걸립니다.

   ```
   aws ec2-instance-connect send-serial-console-ssh-public-key \
       --instance-id i-001234a4bf70dec41EXAMPLE \
       --serial-port 0 \
       --ssh-public-key file://my_key.pub \
       --region us-east-1
   ```

1. 

**프라이빗 키를 사용하여 직렬 콘솔에 연결**

   직렬 콘솔 서비스에서 퍼블릭 키를 제거하기 전에 **ssh** 명령을 사용하여 직렬 콘솔에 연결합니다. 키는 60초 후에 제거됩니다.

   퍼블릭 키에 해당하는 프라이빗 키를 사용합니다.

   사용자 이름 형식은 인스턴스 ID와 포트 0으로 구성되는 `instance-id.port0`입니다. 다음 예에서 사용자 이름은 `i-001234a4bf70dec41EXAMPLE.port0`입니다.

   직렬 콘솔 서비스의 엔드포인트는 각 리전마다 다릅니다. 각 리전의 엔드포인트는 [EC2 직렬 콘솔 엔드포인트 및 지문](#sc-endpoints-and-fingerprints) 표를 참조하세요. 다음 예에서 직렬 콘솔 서비스는 us-east-1 리전에 있습니다.

   ```
   ssh -i my_key i-001234a4bf70dec41EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
   ```

   다음 예제에서는 `timeout 3600`을 사용하여 SSH 세션이 1시간 후에 종료되도록 설정합니다. 세션 중에 시작된 프로세스는 세션이 종료된 후에도 인스턴스에서 계속 실행될 수 있습니다.

   ```
   timeout 3600 ssh -i my_key i-001234a4bf70dec41EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws
   ```

1. 

**(선택 사항) 지문 확인**

   직렬 콘솔에 처음 연결하면 지문을 확인하라는 메시지가 표시됩니다. 직렬 콘솔 지문을 표시된 지문과 비교하여 확인할 수 있습니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 일치하는 경우 직렬 콘솔에 안심하고 연결할 수 있습니다.

   다음 지문은 us-east-1 리전의 직렬 콘솔 서비스에 대한 것입니다. 각 리전의 지문은 [EC2 직렬 콘솔 엔드포인트 및 지문](#sc-endpoints-and-fingerprints) 섹션을 참조하세요.

   ```
   SHA256:dXwn5ma/xadVMeBZGEru5l2gx+yI5LDiJaLUcz0FMmw
   ```

   지문은 직렬 콘솔에 처음 연결할 때만 나타납니다.

1. **Enter(입력)** 키를 누릅니다. 프롬프트가 반환되면 직렬 콘솔에 연결된 것입니다.

   화면이 검은색으로 유지되면 다음 정보를 사용하여 직렬 콘솔 연결 문제를 해결할 수 있습니다.
   + **직렬 콘솔에 대한 액세스를 구성했는지 확인합니다.** 자세한 내용은 [EC2 직렬 콘솔에 대한 액세스 구성](configure-access-to-serial-console.md) 섹션을 참조하세요.
   + (Linux 인스턴스만 해당) **SysRq를 사용하여 직렬 콘솔에 연결합니다.** SysRq에서는 SSH를 사용하여 연결할 필요가 없습니다. 자세한 내용은 [(Linux 인스턴스) SysRq를 사용하여 인스턴스 문제 해결SysRq(Linux)](troubleshoot-using-serial-console.md#SysRq) 섹션을 참조하세요.
   + (Linux 인스턴스만 해당) **getty를 다시 시작합니다.** 인스턴스에 대한 SSH 액세스 권한이 있는 경우 SSH를 사용하여 인스턴스에 연결하고 다음 명령을 사용하여 getty를 다시 시작합니다.

     ```
     [ec2-user ~]$ sudo systemctl restart serial-getty@ttyS0
     ```
   + **인스턴스를 재부팅합니다.** SysRq(Linux 인스턴스만 해당), EC2 콘솔 또는 AWS CLI를 사용하여 인스턴스를 재부팅할 수 있습니다. 자세한 내용은 [(Linux 인스턴스) SysRq를 사용하여 인스턴스 문제 해결SysRq(Linux)](troubleshoot-using-serial-console.md#SysRq)(Linux 인스턴스만 해당) 또는 [Amazon EC2 인스턴스 재부팅](ec2-instance-reboot.md) 섹션을 참조하세요.

1. (Linux 인스턴스만 해당) `login` 프롬프트에서 [이전에 설정](configure-access-to-serial-console.md#set-user-password)한 암호 기반 사용자의 사용자 이름을 입력한 다음 **Enter** 키를 누릅니다.

1. (Linux 인스턴스만 해당) `Password` 프롬프트에서 암호를 입력한 다음 **Enter** 키를 누릅니다.

## EC2 직렬 콘솔 엔드포인트 및 지문
<a name="sc-endpoints-and-fingerprints"></a>

다음은 EC2 직렬 콘솔의 서비스 엔드포인트 및 지문입니다. 프로그래밍 방식으로 인스턴스의 직렬 콘솔에 연결하려면 EC2 직렬 콘솔 엔드포인트를 사용하세요. EC2 직렬 콘솔 엔드포인트 및 지문은 각 AWS 리전에 대해 고유합니다.


| 리전 이름 | 리전 | 엔드포인트 | 지문 | 
| --- | --- | --- | --- | 
| 미국 동부(오하이오) | us-east-2 | serial-console.ec2-instance-connect.us-east-2.aws | SHA256:EhwPkTzRtTY7TRSzz26XbB0/HvV9jRM7mCZN0xw/d/0 | 
| 미국 동부(버지니아 북부) | us-east-1 | serial-console.ec2-instance-connect.us-east-1.aws | SHA256:dXwn5ma/xadVMeBZGEru5l2gx\$1yI5LDiJaLUcz0FMmw | 
| 미국 서부(캘리포니아 북부) | us-west-1 | serial-console.ec2-instance-connect.us-west-1.aws | SHA256:OHldlcMET8u7QLSX3jmRTRAPFHVtqbyoLZBMUCqiH3Y | 
| 미국 서부(오리건) | us-west-2 | serial-console.ec2-instance-connect.us-west-2.aws | SHA256:EMCIe23TqKaBI6yGHainqZcMwqNkDhhAVHa1O2JxVUc | 
| 아프리카(케이프타운) | af-south-1 | ec2-serial-console.af-south-1.api.aws | SHA256:RMWWZ2fVePeJUqzjO5jL2KIgXsczoHlz21Ed00biiWI | 
| 아시아 태평양(홍콩) | ap-east-1 | ec2-serial-console.ap-east-1.api.aws | SHA256:T0Q1lpiXxChoZHplnAkjbP7tkm2xXViC9bJFsjYnifk | 
| 아시아 태평양(하이데라바드) | ap-south-2 | ec2-serial-console.ap-south-2.api.aws | SHA256:WJgPBSwV4/shN\$1OPITValoewAuYj15DVW845JEhDKRs | 
| 아시아 태평양(자카르타) | ap-southeast-3 | ec2-serial-console.ap-southeast-3.api.aws | SHA256:5ZwgrCh\$1lfns32XITqL/4O0zIfbx4bZgsYFqy3o8mIk | 
| 아시아 태평양(말레이시아) | ap-southeast-5 | ec2-serial-console.ap-southeast-5.api.aws | SHA256:cQXTHQMRcqRdIjmAGoAMBSExeoRobYyRwT67yTjnEiA | 
| 아시아 태평양(멜버른) | ap-southeast-4 | ec2-serial-console.ap-southeast-4.api.aws | SHA256:Avaq27hFgLvjn5gTSShZ0oV7h90p0GG46wfOeT6ZJvM | 
| 아시아 태평양(뭄바이) | ap-south-1 | serial-console.ec2-instance-connect.ap-south-1.aws | SHA256:oBLXcYmklqHHEbliARxEgH8IsO51rezTPiSM35BsU40 | 
| 아시아 태평양(오사카) | ap-northeast-3 | ec2-serial-console.ap-northeast-3.api.aws | SHA256:Am0/jiBKBnBuFnHr9aXsgEV3G8Tu/vVHFXE/3UcyjsQ | 
| 아시아 태평양(서울) | ap-northeast-2 | serial-console.ec2-instance-connect.ap-northeast-2.aws | SHA256:FoqWXNX\$1DZ\$1\$1GuNTztg9PK49WYMqBX\$1FrcZM2dSrqrI | 
| 아시아 태평양(싱가포르) | ap-southeast-1 | serial-console.ec2-instance-connect.ap-southeast-1.aws | SHA256:PLFNn7WnCQDHx3qmwLu1Gy/O8TUX7LQgZuaC6L45CoY | 
| 아시아 태평양(시드니) | ap-southeast-2 | serial-console.ec2-instance-connect.ap-southeast-2.aws | SHA256:yFvMwUK9lEUQjQTRoXXzuN\$1cW9/VSe9W984Cf5Tgzo4 | 
| 아시아 태평양(태국) | ap-southeast-7 | ec2-serial-console.ap-southeast-7.api.aws | SHA256:KCAZiRYrR1Q2lqsg7vTwixWmvc2wmjVT31XRgSdEfDY | 
| 아시아 태평양(도쿄) | ap-northeast-1 | serial-console.ec2-instance-connect.ap-northeast-1.aws | SHA256:RQfsDCZTOfQawewTRDV1t9Em/HMrFQe\$1CRlIOT5um4k | 
| 캐나다(중부) | ca-central-1 | serial-console.ec2-instance-connect.ca-central-1.aws | SHA256:P2O2jOZwmpMwkpO6YW738FIOTHdUTyEv2gczYMMO7s4 | 
| 캐나다 서부(캘거리) | ca-west-1 | ec2-serial-console.ca-west-1.api.aws | SHA256:s3rc8lI2xhbhr3iedjJNxGAFLPGOLjx7IxxXrGckk6Q | 
| 중국(베이징) | cn-north-1 | ec2-serial-console---cn-north-1---api.amazonwebservices.com.rproxy.govskope.ca.cn | SHA256:2gHVFy4H7uU3\$1WaFUxD28v/ggMeqjvSlgngpgLgGT\$1Y | 
| 중국(닝샤) | cn-northwest-1 | ec2-serial-console---cn-northwest-1---api.amazonwebservices.com.rproxy.govskope.ca.cn | SHA256:TdgrNZkiQOdVfYEBUhO4SzUA09VWI5rYOZGTogpwmiM | 
| 유럽(프랑크푸르트) | eu-central-1 | serial-console.ec2-instance-connect.eu-central-1.aws | SHA256:aCMFS/yIcOdOlkXvOl8AmZ1Toe\$1bBnrJJ3Fy0k0De2c | 
| 유럽(아일랜드) | eu-west-1 | serial-console.ec2-instance-connect.eu-west-1.aws | SHA256:h2AaGAWO4Hathhtm6ezs3Bj7udgUxi2qTrHjZAwCW6E | 
| Europe (London) | eu-west-2 | serial-console.ec2-instance-connect.eu-west-2.aws | SHA256:a69rd5CE/AEG4Amm53I6lkD1ZPvS/BCV3tTPW2RnJg8 | 
| 유럽(밀라노) | eu-south-1 | ec2-serial-console.eu-south-1.api.aws | SHA256:lC0kOVJnpgFyBVrxn0A7n99ecLbXSX95cuuS7X7QK30 | 
| 유럽(파리) | eu-west-3 | serial-console.ec2-instance-connect.eu-west-3.aws | SHA256:q8ldnAf9pymeNe8BnFVngY3RPAr/kxswJUzfrlxeEWs | 
| 유럽(스페인) | eu-south-2 | ec2-serial-console.eu-south-2.api.aws | SHA256:GoCW2DFRlu669QNxqFxEcsR6fZUz/4F4n7T45ZcwoEc | 
| 유럽(스톡홀름) | eu-north-1 | serial-console.ec2-instance-connect.eu-north-1.aws | SHA256:tkGFFUVUDvocDiGSS3Cu8Gdl6w2uI32EPNpKFKLwX84 | 
| 유럽(취리히) | eu-central-2 | ec2-serial-console.eu-central-2.api.aws | SHA256:8Ppx2mBMf6WdCw0NUlzKfwM4/IfRz4OaXFutQXWp6mk | 
| 이스라엘(텔아비브) | il-central-1 | ec2-serial-console.il-central-1.api.aws | SHA256:JR6q8v6kNNPi8\$1QSFQ4dj5dimNmZPTgwgsM1SNvtYyU | 
| 멕시코(중부) | mx-central-1 | ec2-serial-console.mx-central-1.api.aws | SHA256:BCuVl13iQNk\$1CcVnt18Ef4p2ZHUrBBAOxlFetB32GS0 | 
| 중동(바레인) | me-south-1 | ec2-serial-console.me-south-1.api.aws | SHA256:nPjLLKHu2QnLdUq2kVArsoK5xvPJOMRJKCBzCDqC3k8 | 
| 중동(UAE) | me-central-1 | ec2-serial-console.me-central-1.api.aws | SHA256:zpb5duKiBZ\$1l0dFwPeyykB4MPBYhI/XzXNeFSDKBvLE | 
| 남아메리카(상파울루) | sa-east-1 | serial-console.ec2-instance-connect.sa-east-1.aws | SHA256:rd2\$1/32Ognjew1yVIemENaQzC\$1Botbih62OqAPDq1dI | 
| AWS GovCloud(미국 동부) | us-gov-east-1 | serial-console.ec2-instance-connect.us-gov-east-1.amazonaws.com | SHA256:tIwe19GWsoyLClrtvu38YEEh\$1DHIkqnDcZnmtebvF28 | 
| AWS GovCloud(미국 서부) | us-gov-west-1 | serial-console.ec2-instance-connect.us-gov-west-1.amazonaws.com | SHA256:kfOFRWLaOZfB\$1utbd3bRf8OlPf8nGO2YZLqXZiIw5DQ | 

# EC2 직렬 콘솔 연결 해제
<a name="disconnect-serial-console-session"></a>

인스턴스의 EC2 직렬 콘솔에 더 이상 연결할 필요가 없으면 연결을 해제할 수 있습니다. 직렬 콘솔과의 연결을 해제해도 인스턴스에서 실행 중인 모든 쉘 세션은 계속 실행됩니다. 쉘 세션을 종료하려면 직렬 콘솔과의 연결을 해제하기 전에 쉘 세션을 종료해야 합니다.

**고려 사항**
+ 일반적으로 직렬 콘솔 연결은 연결을 해제하지 않는 한 1시간 동안 지속됩니다. 그러나 시스템 유지 관리 중에는 Amazon EC2에서 직렬 콘솔 세션 연결을 해제합니다.
+ 직렬 콘솔에서 연결을 끊은 후 새 세션을 허용하려면 세션을 삭제하는 데 30초가 걸립니다.

직렬 콘솔과의 연결을 해제하는 방법은 클라이언트에 따라 다릅니다.

**브라우저 기반 클라이언트**  
직렬 콘솔 연결을 해제하려면 직렬 콘솔 브라우저 내 터미널 창을 닫습니다.

**표준 OpenSSH 클라이언트**  
직렬 콘솔 연결을 해제하려면 다음 명령을 사용하여 SSH 연결을 종료합니다. 새 줄 바로 다음에 이 명령을 실행해야 합니다.

```
~.
```

SSH 연결을 닫는 데 사용하는 명령은 사용 중인 SSH 클라이언트에 따라 다를 수 있습니다.

# EC2 직렬 콘솔을 사용하여 Amazon EC2 인스턴스 문제 해결
<a name="troubleshoot-using-serial-console"></a>

EC2 직렬 콘솔을 사용하면 인스턴스의 직렬 포트에 연결하여 부팅, 네트워크 구성 및 기타 문제를 해결할 수 있습니다.

인스턴스의 운영 체제 지침과 인스턴스에서 구성한 도구의 지침을 사용하세요.

**Topics**
+ [GRUB(Linux)](#grub)
+ [SysRq(Linux)](#SysRq)
+ [SAC(Windows)](#troubleshooting-sac)

**사전 조건**  
시작하기 전에 선택한 문제 해결 도구 구성을 포함한 [사전 조건](ec2-serial-console-prerequisites.md)을 완료했는지 확인합니다.

## (Linux 인스턴스) GRUB을 사용하여 인스턴스 문제 해결
<a name="grub"></a>

GNU GRUB(GNU GRand Unified Bootloader의 약어, 일반적으로 GRUB이라고 함)은 대부분의 Linux 운영 체제에 대한 기본 부트 로더입니다. GRUB 메뉴에서 부팅할 커널을 선택하거나 메뉴 항목을 수정하여 커널 부팅 방법을 변경할 수 있습니다. 이는 장애가 발생한 인스턴스의 문제를 해결할 때 유용할 수 있습니다.

부팅 프로세스 중에 GRUB 메뉴가 표시됩니다. 이 메뉴는 일반 SSH를 통해 액세스할 수 없지만, EC2 직렬 콘솔을 사용하여 액세스할 수 있습니다.

단일 사용자 모드 또는 응급 모드로 부팅할 수 있습니다. 단일 사용자 모드는 낮은 실행 수준에서 커널을 부팅합니다. 예를 들어 파일 시스템을 탑재하지만 네트워크를 활성화하지 않음으로써 인스턴스를 수정하는 데 필요한 유지 관리를 수행할 수 있는 기회를 제공합니다. 응급 모드는 커널이 가능한 가장 낮은 실행 수준에서 실행된다는 점을 제외하면 단일 사용자 모드와 유사합니다.

**단일 사용자 모드로 부팅하려면**

1. 인스턴스의 직렬 콘솔에 [연결](connect-to-serial-console.md)합니다.

1. 다음 명령을 사용하여 인스턴스를 재부팅하세요.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. 재부팅하는 동안 GRUB 메뉴가 나타나면 아무 키나 눌러 부팅 프로세스를 중지합니다.

1. GRUB 메뉴에서 화살표 키를 사용하여 부팅할 커널을 선택하고 키보드에서 `e` 키를 누릅니다.

1. 화살표 키를 사용하여 커널이 있는 줄에 커서를 놓습니다. 이 줄은 인스턴스를 시작할 때 사용된 AMI에 따라 `linux` 또는 `linux16`으로 시작됩니다. Ubuntu의 경우 두 줄이 `linux`로 시작되며 다음 단계에서 수정해야 합니다.

1. 줄 끝에 `single` 단어를 추가합니다.

   다음은 Amazon Linux 2의 예제입니다.

   ```
   linux /boot/vmlinuz-4.14.193-149.317.amzn2.aarch64 root=UUID=d33f9c9a-\
   dadd-4499-938d-ebbf42c3e499 ro  console=tty0 console=ttyS0,115200n8 net.ifname\
   s=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.she\
   ll=0 single
   ```

1. **Ctrl\$1X** 키를 눌러 단일 사용자 모드로 부팅합니다.

1. `login` 프롬프트에서 [이전에 설정](configure-access-to-serial-console.md#set-user-password)한 암호 기반 사용자의 사용자 이름을 입력한 다음 **Enter** 키를 누릅니다.

1. `Password` 프롬프트에서 암호를 입력한 다음 **Enter** 키를 누릅니다.

 

**응급 모드로 부팅하려면**  
단일 사용자 모드와 동일한 단계를 따르되 6단계에서 `single` 대신 `emergency`라는 단어를 추가합니다.

## (Linux 인스턴스) SysRq를 사용하여 인스턴스 문제 해결
<a name="SysRq"></a>

"매직 SysRq"라고도 하는 시스템 요청(SysRq) 키를 사용하면 셸 외부에서 커널에 직접 명령을 전송할 수 있습니다. 커널은 수행하는 작업과 관계없이 응답합니다. 예를 들어 인스턴스가 응답을 중지한 경우 SysRq 키를 사용하여 커널에 충돌 또는 재부팅을 지시할 수 있습니다. 자세한 내용은 Wikipedia에서 [Magic SysRq key](https://en.wikipedia.org/wiki/Magic_SysRq_key)를 참조하세요.

EC2 직렬 콘솔 브라우저 기반 클라이언트 또는 SSH 클라이언트에서 SysRq 명령을 사용할 수 있습니다. 중단 요청을 보내는 명령은 클라이언트마다 다릅니다.

SysRq를 사용하려면 사용 중인 클라이언트에 따라 다음 절차 중 하나를 선택합니다.

------
#### [ Browser-based client ]

**직렬 콘솔 브라우저 기반 클라이언트에서 SysRq를 사용하려면**

1. 인스턴스의 직렬 콘솔에 [연결](connect-to-serial-console.md)합니다.

1. 중단 요청을 보내려면 `CTRL+0`(영)을 누릅니다. 키보드가 지원하는 경우 Pause 또는 Break 키를 사용하여 중단 요청을 보낼 수도 있습니다.

   ```
   [ec2-user ~]$ CTRL+0
   ```

1. SysRq 명령을 실행하려면 키보드에서 필요한 명령에 해당하는 키를 누릅니다. 예를 들어 SysRq 명령 목록을 표시하려면 `h` 키를 누릅니다.

   ```
   [ec2-user ~]$ h
   ```

   `h` 명령은 다음과 비슷한 결과를 출력합니다.

   ```
   [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems
   (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r
   ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
   ```

------
#### [ SSH client ]

**SSH 클라이언트에서 SysRq를 사용하려면**

1. 인스턴스의 직렬 콘솔에 [연결](connect-to-serial-console.md)합니다.

1. 중단 요청을 보내려면 `~B`(물결표 다음에 대문자 `B`)를 누릅니다.

   ```
   [ec2-user ~]$ ~B
   ```

1. SysRq 명령을 실행하려면 키보드에서 필요한 명령에 해당하는 키를 누릅니다. 예를 들어 SysRq 명령 목록을 표시하려면 `h` 키를 누릅니다.

   ```
   [ec2-user ~]$ h
   ```

   `h` 명령은 다음과 비슷한 결과를 출력합니다.

   ```
   [ 1169.389495] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems
   (j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r
   ) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
   ```
**참고**  
중단 요청을 보내는 데 사용하는 명령은 사용 중인 SSH 클라이언트에 따라 다를 수 있습니다.

------

## (Windows 인스턴스) SAC를 사용하여 인스턴스 문제 해결
<a name="troubleshooting-sac"></a>

Windows의 Special Admin Console(SAC) 기능은 Windows 인스턴스 문제를 해결할 수 있는 방법을 제공합니다. 인스턴스의 직렬 콘솔에 연결하고 SAC를 사용하여 부팅 프로세스를 중단하고 Windows를 안전 모드로 부팅할 수 있습니다.

**참고**  
인스턴스에서 SAC를 활성화하면 암호 검색에 의존하는 EC2 서비스가 Amazon EC2 콘솔에서 작동하지 않습니다. Amazon EC2 Windows 시작 에이전트(EC2Config, EC2Launch v1 및 EC2Launch v2)는 직렬 콘솔을 사용하여 다양한 작업을 실행합니다. 인스턴스에서 SAC를 사용 설정하면 이러한 작업이 성공적으로 수행되지 않습니다. Amazon EC2 Windows 시작 에이전트에 대한 자세한 내용은 [Amazon EC2 Windows 인스턴스 구성](ec2-windows-instances.md) 섹션을 참조하세요. SAC를 활성화하면 나중에 비활성화할 수 있습니다. 자세한 내용은 [SAC 및 부팅 메뉴 비활성화](#disable-sac-bootmenu) 섹션을 참조하세요.

**Topics**
+ [SAC 사용](#use-sac)
+ [부팅 메뉴 사용](#use-boot-menu)
+ [SAC 및 부팅 메뉴 비활성화](#disable-sac-bootmenu)

### SAC 사용
<a name="use-sac"></a>

**SAC를 사용하려면**

1. [직렬 콘솔에 연결합니다.](connect-to-serial-console.md)

   SAC가 인스턴스에서 활성화된 경우 직렬 콘솔에 `SAC>` 프롬프트가 표시됩니다.  
![\[직렬 콘솔에 표시된 SAC 프롬프트입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-3.png)

1. SAC 명령을 표시하려면 ?를 입력하고 **Enter**를 누릅니다.

   예상 결과  
![\[물음표를 입력하면 SAC 명령이 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-4.png)

1. 명령 프롬프트 채널(예: `cmd0001` 또는 `cmd0002`)을 생성하려면 cmd를 입력한 다음 **Enter**를 누릅니다.

1. 명령 프롬프트 채널을 보려면 **ESC**를 누른 다음 **TAB**을 누릅니다.

   예상 결과  
![\[명령 프롬프트 채널입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-5.png)

1. 채널을 전환하려면 **ESC\$1TAB\$1채널 번호**를 함께 누릅니다. 예를 들어, `cmd0002` 채널(생성된 경우)로 전환하려면 **ESC\$1탭\$12**를 누릅니다.

1. 명령 프롬프트 채널에 필요한 자격 증명을 입력합니다.  
![\[보안 인증이 필요한 명령 프롬프트입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-6.png)

   명령 프롬프트는 이미 출력된 문자를 읽을 수 없다는 점을 제외하고 데스크톱에서 사용할 수 있는 모든 기능을 갖춘 명령 셸입니다.  
![\[모든 기능이 제공되는 명령 쉘입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-7.png)

**명령 프롬프트에서 PowerShell을 사용할 수도 있습니다.**

참고로 진행률 기본 설정을 자동 모드로 설정해야 할 수 있습니다.

![\[명령 프롬프트 내의 PowerShell입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-8.png)


### 부팅 메뉴 사용
<a name="use-boot-menu"></a>

인스턴스에 부팅 메뉴가 활성화되어 있고 SSH를 통해 연결한 후 다시 시작한 경우 다음과 같이 부팅 메뉴가 표시됩니다.

![\[명령 프롬프트의 부팅 메뉴입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-1.png)


**부팅 메뉴 명령**

ENTER  
선택한 운영 체제 항목을 시작합니다.

Tab  
도구 메뉴로 전환합니다.

ESC  
인스턴스를 취소하고 다시 시작합니다.

ESC 다음에 8  
**F8**키를 누르는 것과 같습니다. 선택한 항목에 대한 고급 옵션을 표시합니다.

ESC 키\$1왼쪽 화살표  
초기 부팅 메뉴로 돌아갑니다.  
ESC 키만 누르면 Windows가 이스케이프 시퀀스가 진행 중인지 확인하기 위해 기다리기 때문에 주 메뉴로 돌아가지 않습니다.

![\[고급 부팅 옵션입니다.\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/win-boot-2.png)


### SAC 및 부팅 메뉴 비활성화
<a name="disable-sac-bootmenu"></a>

SAC 및 부팅 메뉴를 활성화하면 나중에 이러한 기능을 비활성화할 수 있습니다.

다음 방법 중 하나를 사용하여 인스턴스에서 SAC 및 부팅 메뉴를 비활성화합니다.

------
#### [ PowerShell ]

**Windows 인스턴스에서 SAC 및 부팅 메뉴 활성화**

1. 인스턴스에 [연결](connecting_to_windows_instance.md)하고 상승된 PowerShell 명령줄에서 다음 단계를 수행합니다.

1. 먼저 값을 `no`로 변경하여 부팅 메뉴를 비활성화합니다.

   ```
   bcdedit /set '{bootmgr}' displaybootmenu no
   ```

1. 그런 다음 값을 `off`로 변경하여 SAC를 비활성화합니다.

   ```
   bcdedit /ems '{current}' off
   ```

1. 인스턴스를 재부팅하여 업데이트된 구성을 적용합니다.

   ```
   shutdown -r -t 0
   ```

------
#### [ Command prompt ]

**Windows 인스턴스에서 SAC 및 부팅 메뉴 활성화**

1. 인스턴스에 [연결](connecting_to_windows_instance.md)하고 명령 프롬프트에서 다음 단계를 수행합니다.

1. 먼저 값을 `no`로 변경하여 부팅 메뉴를 비활성화합니다.

   ```
   bcdedit /set {bootmgr} displaybootmenu no
   ```

1. 그런 다음 값을 `off`로 변경하여 SAC를 비활성화합니다.

   ```
   bcdedit /ems {current} off
   ```

1. 인스턴스를 재부팅하여 업데이트된 구성을 적용합니다.

   ```
   shutdown -r -t 0
   ```

------