

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

# `sagemaker.interactive_apps.tensorboard` 모듈을 사용하여 TensorBoard 열기
<a name="debugger-htb-access-tb-url"></a>

`sagemaker.interactive_apps.tensorboard` 모듈은 SageMaker AI 또는 Amazon EC2의 모든 환경에서 TensorBoard 애플리케이션을 열 수 있도록 서명되지 않았거나 미리 서명된 URL을 생성하는 `get_app_url`라 불리는 함수를 제공합니다. 이는 Studio Classic 사용자와 Studio Classic이 아닌 사용자 모두에게 통합된 환경을 제공하기 위한 것입니다. Studio 환경에서는 `get_app_url()` 함수를 있는 그대로 실행하여 TensorBoard를 열 수도 있고, TensorBoard 애플리케이션이 열릴 때 추적을 시작할 작업 이름을 지정할 수도 있습니다. Studio Classic이 아닌 환경에서는 유틸리티 함수에 도메인 및 사용자 프로필 정보를 제공하여 TensorBoard를 열 수 있습니다. 이 기능을 사용하면 훈련 코드를 실행하고 훈련 작업을 시작하는 위치 또는 방법에 관계없이 Jupyter notebook 또는 터미널에서 `get_app_url` 함수를 실행하여 TensorBoard에 직접 액세스할 수 있습니다.

**참고**  
이 기능은 SageMaker Python SDK v2.184.0 이상에서 사용할 수 있습니다. 이 기능을 사용하려면 `pip install sagemaker --upgrade`를 실행하여 SDK를 업그레이드해야 합니다.

**Topics**
+ [옵션 1: SageMaker AI Studio Classic용](#debugger-htb-access-tb-url-unsigned)
+ [옵션 2: Studio Classic이 아닌 환경용](#debugger-htb-access-tb-url-presigned)

## 옵션 1: SageMaker AI Studio Classic용
<a name="debugger-htb-access-tb-url-unsigned"></a>

SageMaker Studio Classic을 사용하는 경우 다음과 같이 `get_app_url` 함수를 실행하여 TensorBoard 애플리케이션을 직접 열거나 서명되지 않은 URL을 검색할 수 있습니다. 이미 Studio Classic 환경에 있고 도메인 사용자로 로그인했으면 다시 인증할 필요가 없으므로 `get_app_url()`이 서명되지 않은 URL을 생성합니다.

**TensorBoard 애플리케이션을 열려면** 

다음 코드는 `get_app_url()` 함수가 사용자 환경의 기본 웹 브라우저에 반환하는 서명되지 않은 URL로 TensorBoard 애플리케이션을 자동으로 엽니다.

```
from sagemaker.interactive_apps import tensorboard

region = "{{us-west-2}}"
app = tensorboard.TensorBoardApp(region)

app.get_app_url(
    training_job_name="{{your-training_job_name}}" # Optional. Specify the job name to track a specific training job 
)
```

**서명되지 않은 URL을 검색하고 TensorBoard 애플리케이션을 수동으로 열려면**

다음 코드는 웹 브라우저에 복사하여 TensorBoard 애플리케이션을 열 수 있는 서명되지 않은 URL을 인쇄합니다.

```
from sagemaker.interactive_apps import tensorboard

region = "{{us-west-2}}"
app = tensorboard.TensorBoardApp(region)
print("Navigate to the following URL:")
print(
    app.get_app_url(
        training_job_name="{{your-training_job_name}}", # Optional. Specify the name of the job to track.
        open_in_default_web_browser={{False}}           # Set to False to print the URL to terminal.
    )
)
```

참고로, 위의 두 코드 샘플을 SageMaker AI Studio Classic 환경 외부에서 실행하면 이 함수는 SageMaker AI 콘솔의 TensorBoard 랜딩 페이지로 URL을 반환합니다. 이 페이지에는 도메인 및 사용자 프로필에 대한 로그인 정보가 없기 때문입니다. 미리 서명된 URL을 만들려면 다음 섹션의 옵션 2를 참조하세요.

## 옵션 2: Studio Classic이 아닌 환경용
<a name="debugger-htb-access-tb-url-presigned"></a>

SageMaker Notebook 인스턴스 또는 Amazon EC2와 같은 Studio Classic이 아닌 환경을 사용하고 있고 현재의 환경에서 TensorBoard를 직접 열려면 도메인 및 사용자 프로필 정보가 미리 서명된 URL을 생성해야 합니다. *미리 서명된* URL은 URL이 도메인 및 사용자 프로필로 생성되는 동안 Amazon SageMaker Studio Classic에 로그인되어 도메인과 관련된 모든 도메인 애플리케이션 및 파일에 대한 액세스 권한이 부여되는 URL입니다. 미리 서명된 URL을 통해 TensorBoard를 열려면 다음과 같이 도메인 및 사용자 프로필 이름과 함께 `get_app_url` 함수를 사용합니다.

참고로 이 옵션을 사용하려면 도메인 사용자에게 `sagemaker:CreatePresignedDomainUrl` 권한이 있어야 합니다. 권한이 없으면 도메인 사용자에게 예외 오류가 발생합니다.

**중요**  
미리 서명된 URL은 공유하지 마세요. 이 `get_app_url` 함수는 미리 서명된 URL을 생성하여 도메인 및 사용자 프로필로 자동 인증하고 도메인과 관련된 모든 애플리케이션과 파일에 액세스할 수 있게 합니다.

```
print(
    app.get_app_url(
        training_job_name="{{your-training_job_name}}", # Optional. Specify the name of the job to track.
        create_presigned_domain_url={{True}},           # Reguired to be set to True for creating a presigned URL.
        domain_id="{{your-domain-id}}",                 # Required if creating a presigned URL (create_presigned_domain_url=True).
        user_profile_name="{{your-user-profile-name}}", # Required if creating a presigned URL (create_presigned_domain_url=True).
        open_in_default_web_browser={{False}},          # Optional. Set to False to print the URL to terminal.
        optional_create_presigned_url_kwargs={}     # Optional. Add any additional args for Boto3 create_presigned_domain_url
    )
)
```

**작은 정보**  
`get_app_url` 함수는 백엔드의 AWS SDK for Python (Boto3) 에서 [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html) API를 실행합니다. Boto3 `create_presigned_domain_url` API는 기본적으로 300초 후에 만료되는 미리 서명된 도메인 URL을 생성하므로 미리 서명된 TensorBoard 애플리케이션 URL도 300초 후에 만료됩니다. 만료 시간을 연장하려면 다음과 같이 `ExpiresInSeconds` 인수를 `get_app_url` 함수의 `optional_create_presigned_url_kwargs` 인수에 전달합니다.  

```
optional_create_presigned_url_kwargs={"ExpiresInSeconds": {{1500}}}
```

**참고**  
`get_app_url`의 인수로 전달된 일체의 입력이 유효하지 않은 경우 함수는 TensorBoard 애플리케이션을 여는 대신 TensorBoard 랜딩 페이지에 URL을 출력합니다. 출력 메시지는 다음과 비슷합니다.  

```
Navigate to the following URL:
https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/tensor-board-landing
```