본문으로 건너뛰기

Windows 인스턴스에서 WSL(Windows Subsystem for Linux) 사용

WSL(Windows Subsystem for Linux, 리눅스용 윈도우 하위 시스템)은 개발자가 Windows 컴퓨터 또는 Windows 기반 클라우드 인스턴스에서 Linux 환경을 손쉽게 사용할 수 있도록 지원합니다. WSL을 사용하면 추가적인 가상 머신 설정 없이도 Linux 배포판(예: Ubuntu, OpenSUSE, Kali, Debian, Arch Linux)을 설치하고, Linux 애플리케이션, 유틸리티, 및 Bash 명령줄 도구를 실행할 수 있습니다.

기본 정보
  • 예상 소요 시간: 30분
  • 사용자 환경
    • 권장 운영 체제: Windows Server 2019, Windows Server 2022
    • 리전: kr-central-2
    • 지원 WSL 버전: WSL 1

WSL 2 버전은 중첩된 가상화(Nested Virtualization)를 필요로 하며, 중첩된 가상화는 하드웨어에 직접 액세스할 수 있어야 합니다. 현재 카카오클라우드의 VM 환경에서는 이러한 하드웨어 직접 액세스가 지원되지 않으므로, WSL 2를 지원하지 않습니다.

주의

Windows Server 2019를 실행하는 VM 인스턴스의 경우, WSL을 설치하기 위해 Windows Subsystem for Linux 설명서를 참고하여 구성 후 Step 1. WSL 1 설치를 참고하여 WSL 1을 사용하도록 설정해야 합니다.

시나리오 소개

이 시나리오에서는 카카오클라우드의 Windows 이미지를 기반으로 생성된 Windows 인스턴스를 활용하여 WSL(Windows Subsystem for Linux)를 구현하는 방법을 소개합니다.

주요 내용은 아래와 같습니다.

  • 카카오클라우드 VM 서비스를 사용하여 Windows 인스턴스 구성
  • Windows 인스턴스에서 WSL 설치
  • Ubuntu 기본 배포판 설치
  • 설치된 배포판을 이용하여 Bash 명령줄 도구 사용

시작하기 전에

사전 작업으로 VPC와 서브넷, 보안 그룹 설정이 필요합니다.

1. VPC와 서브넷 생성

인스턴스를 생성하기 전, 인스턴스가 생성될 VPC 및 서브넷이 필요합니다. VPC와 서브넷이 없다면 VPC 생성, 서브넷 생성 문서를 참고하여 VPC 및 서브넷을 생성합니다.

2. 보안 그룹 설정

보안 그룹에 인바운드 규칙을 추가합니다. 보안 그룹이 없다면 보안 그룹 생성 문서를 참고하여 보안 그룹을 생성 후 인바운드 규칙을 추가하시기 바랍니다.

나의 퍼블릭 IP 확인하기

다음 버튼을 클릭하면 현재 사용 중인 나의 퍼블릭 IP를 확인할 수 있습니다.

CIDR프로토콜포트역할
{사용자 퍼블릭 IP}/32TCP     3389     RDP

시작하기

1. Windows 인스턴스 구성

이 단계에서는 카카오클라우드의 Virtual Machine 서비스를 이용해 Windows 기반 인스턴스를 생성하고, 기본적인 네트워크 설정 및 원격 접속을 구성합니다.

Step 1. Windows 인스턴스 생성

카카오클라우드 Virtual Machine 서비스에서 Windows 기반 인스턴스를 생성합니다. Windows 인스턴스는 클라우드 환경에서 Windows 운영 체제를 기반으로 다양한 애플리케이션 및 서비스를 실행할 수 있는 강력한 플랫폼을 제공합니다.

  1. 카카오클라우드 콘솔에 접속 후, 사전 작업을 완료합니다.

  2. Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  3. 인스턴스 메뉴에서 [인스턴스 생성] 버튼을 클릭합니다.

  4. 인스턴스 생성에서 아래 항목에 해당하는 VM 인스턴스를 생성 후, [생성] 버튼을 클릭합니다.

    항목설정값
    기본 정보- 이름: 자유롭게 지정
    - 개수: 1개
    이미지기본 탭에서 Windows Server 2022 선택
    인스턴스 유형m2a.large
    볼륨루트 볼륨: 50GB 또는 그 이상
    키 페어프라이빗 키
    .pem 형식이며, 새로 생성 또는 기존 키 사용 가능
    네트워크- VPC: 사전 작업에서 미리 생성한 VPC 선택
    - 서브넷: 사전 작업에서 미리 생성한 서브넷 선택
    - 보안 그룹: 위에서 생성한 보안 그룹 선택
    - 네트워크 인터페이스: 새 인터페이스
    - IP 할당 방식: 자동 할당

Step 2. 퍼블릭 IP 연결

Windows 인스턴스가 외부 네트워크와 통신할 수 있도록 하기 위해 생성한 VM 인스턴스에 퍼블릭 IP를 연결합니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴를 선택합니다.
  2. 위에서 생성한 Windows 인스턴스의 더 보기 아이콘을 클릭 후, 퍼블릭 IP 연결을 클릭합니다.
  3. 퍼블릭 IP 연결 설정 팝업창에서 새로운 퍼블릭 IP를 생성하고 자동으로 할당을 클릭 후, [확인] 버튼을 클릭합니다.
  4. 기본 퍼블릭 IP 칼럼에서 퍼블릭 IP를 확인합니다.

Step 3. RDP 접근

RDP(Remote Desktop Protocol)를 사용하여 Windows 인스턴스에 연결하기 위해 Windows 인스턴스에 연결를 참고하여 VM 인스턴스에 접속합니다.

  • RDP는 원격 데스크톱 환경에서 다른 컴퓨터나 서버에 접속할 수 있도록 해주는 프로토콜입니다.

2. WSL 설치 및 구성

이 단계에서는 Windows 인스턴스에 **WSL 1(Windows Subsystem for Linux)**을 설치하는 방법을 설명합니다.

Step 1. WSL 1 설치

기본적으로 WSL 2가 설치되지만, 카카오클라우드 VM 환경에서 지원하는 WSL 1을 활성화합니다. WSL 1은 Windows와 Linux 환경을 통합적으로 사용할 수 있게 하며, 가볍고 효율적인 Linux 환경을 제공합니다.

  1. 시작 메뉴에서 PowerShell 또는 cmd를 검색한 뒤 클릭하여 실행합니다.

  2. 기본적으로 WSL 2가 설치되므로, --enable-wsl1 옵션을 추가하여 WSL 1을 활성화합니다.

    WSL 설치
    wsl --install --enable-wsl1 --no-launch
    결과
    설치 중: 가상 머신 플랫폼
    [=========================71.2%========== ]
    설치 중: Linux용 Windows 하위 시스템
    Linux용 Windows 하위 시스템이() 설치되었습니다.
    다운로드 중: Linux용 Windows 하위 시스템
    설치 중: Linux용 Windows 하위 시스템
    Linux용 Windows 하위 시스템이() 설치되었습니다.
    요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.

Step 2. VM 인스턴스 재시작

  1. Windows 인스턴스를 재시작합니다.

    인스턴스 재시작
    shutdown -r -t 0
  2. Windows App 애플리케이션의 Saves PCs를 더블 클릭하여 장치에 접속합니다.

Step 3. WSL 1을 기본값으로 설정

WSL에서 기본 버전을 WSL 1로 설정하기 위해 다음 명령을 실행합니다.

WSL 1을 기본값으로 설정
wsl --set-default-version 1
결과
작업을 완료했습니다.

Step 4. Ubuntu 기본 배포판 설치

Ubuntu 기본 배포판을 설치하기 위해 다음 명령을 실행합니다.

Ubuntu 기본 배포판 설치
wsl --install
결과
Ubuntu이() 설치되었습니다.
Ubuntu을() 시작하는 중...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: ubuntu
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 4.4.0-20348-Microsoft x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/ubuntu/.hushlogin file.

ubuntu@172-16-0-35:~$

Step 5. 설치 확인

WSL 설치 확인

설치가 완료된 후, WSL이 정상적으로 작동하는지 확인하려면 다음 명령을 실행합니다. Ubuntu가 리스트에 나타나고, VERSION 값이 1로 설정되어 있으면 설치가 성공적으로 완료된 것입니다.

WSL 설치 확인
wsl --list --verbose
결과
NAME            STATE           VERSION
* Ubuntu Running 1

이제 Linux 환경에서 다양한 명령줄 도구와 애플리케이션을 사용할 준비가 되었습니다.
WSL에 대한 자세한 설명은 WSL 공식 문서를 참고하시기 바랍니다.