

# DynamoDB 설정
<a name="SettingUp"></a>

 Amazon DynamoDB 웹 서비스 외에도 AWS는 컴퓨터에서 실행할 수 있는 다운로드 가능 DynamoDB 버전을 제공합니다. 다운로드 가능 버전은 코드를 개발하고 테스트하는 데 유용합니다. 이를 통해 DynamoDB 웹 서비스에 액세스하지 않고도 로컬에서 애플리케이션을 작성하고 테스트할 수 있습니다.

 이 섹션의 항목에서는 DynamoDB(다운로드 가능 버전) 및 DynamoDB 웹 서비스를 설정하는 방법을 설명합니다.

**Topics**
+ [DynamoDB 설정(웹 서비스)](SettingUp.DynamoWebService.md)
+ [DynamoDB local 설정(다운로드 가능 버전)](DynamoDBLocal.md)

# DynamoDB 설정(웹 서비스)
<a name="SettingUp.DynamoWebService"></a>

 Amazon DynamoDB 웹 서비스를 사용하려면 

1.  [에 가입합니다.AWS](#SettingUp.DynamoWebService.SignUpForAWS)

1.  [AWS 액세스 키를 가져옵니다](#SettingUp.DynamoWebService.GetCredentials)(프로그래밍 방식으로 DynamoDB에 액세스하는 데 사용).
**참고**  
 AWS Management Console만을 통해 DynamoDB와 상호 작용하려면 AWS 액세스 키가 필요하지 않으므로 이 단계를 건너 뛰어 [콘솔 사용](AccessingDynamoDB.md#ConsoleDynamoDB)으로 이동할 수 있습니다.

1.  [자격 증명을 구성합니다](#SettingUp.DynamoWebService.ConfigureCredentials)(프로그래밍 방식으로 DynamoDB에 액세스하는 데 사용).

## 에 가입AWS
<a name="SettingUp.DynamoWebService.SignUpForAWS"></a>

 DynamoDB 서비스를 사용하려면 AWS 계정이 있어야 합니다. 계정이 아직 없는 경우에 로그인하려고 하면 계정을 만들도록 요청하는 메시지가 표시됩니다. AWS 서비스에 가입하더라도 사용한 서비스에 대해서만 청구됩니다.

**AWS에 가입하려면**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   *AWS 계정 루트 사용자*에 가입하면 AWS 계정루트 사용자가 만들어집니다. 루트 사용자에게는 계정의 모든 AWS 서비스및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

## 프로그래밍 방식 액세스 권한 부여
<a name="SettingUp.DynamoWebService.GetCredentials"></a>

 프로그래밍 방식이나 AWS Command Line Interface(AWS CLI)를 통해 DynamoDB에 액세스하려면 먼저 프로그래밍 방식 액세스 권한이 있어야 합니다. DynamoDB 콘솔만 사용하려는 경우에는 프로그래밍 방식 액세스 권한이 필요하지 않습니다.

사용자가 AWS Management Console 외부에서 AWS와 상호 작용하려면 프로그래밍 방식의 액세스 권한이 필요합니다. 프로그래밍 방식의 액세스 권한을 부여하는 방법은 AWS에 액세스하는 사용자 유형에 따라 다릅니다.

사용자에게 프로그래밍 방식의 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.


****  

| 프로그래밍 방식 액세스가 필요한 사용자 | 목적 | 방법 | 
| --- | --- | --- | 
| IAM | (권장됨) 콘솔 자격 증명을 임시 자격 증명으로 사용하여 AWS CLI, AWS SDK 또는 AWS API에 대한 프로그래밍 요청에 서명합니다. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 
|  작업 인력 ID (IAM Identity Center에서 관리되는 사용자)  | 임시 자격 증명을 사용하여 AWS CLI, AWS SDK 또는 AWS API에 대한 프로그래밍 요청에 서명합니다. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 
| IAM | 임시 자격 증명을 사용하여 AWS CLI, AWS SDK 또는 AWS API에 대한 프로그래밍 요청에 서명합니다. | IAM 사용자 설명서의 [AWS 리소스와 함께 임시 자격 증명 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)에 나와 있는 지침을 따르세요. | 
| IAM | (권장되지 않음)장기 자격 증명을 사용하여 AWS CLI, AWS SDK 또는 AWS API에 대한 프로그래밍 요청에 서명합니다. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/SettingUp.DynamoWebService.html)  | 

## 보안 인증 정보 구성
<a name="SettingUp.DynamoWebService.ConfigureCredentials"></a>

 프로그래밍 방식이나 AWS CLI를 통해 DynamoDB에 액세스하기 전에 애플리케이션에 권한 부여를 활성화하기 위한 자격 증명을 구성해야 합니다.

 이를 달성하는 데는 몇 가지 방법이 있습니다. 예를 들어, 액세스 키 ID 및 보안 액세스 키를 저장하는 자격 증명 파일을 수동으로 생성할 수 있습니다. `aws configure`의 AWS CLI 명령을 사용하여 파일을 자동으로 생성할 수도 있습니다. 또는 환경 변수를 사용할 수 있습니다. 자격 증명 구성에 대한 자세한 내용은 프로그래밍 관련 AWS SDK 개발자 안내서를 참조하세요.

 AWS CLI를 설치 및 구성하는 방법은 [AWS CLI 사용](AccessingDynamoDB.md#Tools.CLI) 섹션을 참조하세요.

## 다른 DynamoDB 서비스와 통합
<a name="w2aab9c17b9c13"></a>

DynamoDB를 다른 많은 AWS 서비스와 통합할 수 있습니다. 자세한 내용은 다음을 참조하세요.
+ [다른 AWS 서비스와 함께 DynamoDB 사용](OtherServices.md)
+ [CloudFormationDynamoDB용](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) 
+ [DynamoDB에서 AWS Backup 사용](backuprestore_HowItWorksAWS.md)
+ [AWS Identity and Access Management(IAM) 및 DynamoDB](identity-and-access-mgmt.md)
+ [Amazon DynamoDB에서 AWS Lambda 사용](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html)

# DynamoDB local 설정(다운로드 가능 버전)
<a name="DynamoDBLocal"></a>

 Amazon DynamoDB의 다운로드 가능 버전을 사용하면 DynamoDB 웹 서비스에 액세스하지 않고도 애플리케이션을 개발하고 테스트할 수 있습니다. 대신, 데이터베이스가 컴퓨터에서 독립형으로 실행됩니다. 프로덕션 환경에서 애플리케이션을 배포할 준비가 되면 코드에서 로컬 엔드포인트를 제거한 다음 DynamoDB 웹 서비스를 가리킵니다.

 이 로컬 버전을 통해 처리량, 데이터 스토리지 및 데이터 전송 요금을 절감할 수 있습니다. 또한, 애플리케이션 개발 중에 인터넷 연결이 필요 없습니다.

 DynamoDB Local은 [다운로드](DynamoDBLocal.DownloadingAndRunning.md#DynamoDBLocal.DownloadingAndRunning.title)(JRE 필요), [Apache Maven 종속 항목](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html#apache-maven) 또는 [도커 이미지](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html#docker)로 사용할 수 있습니다.

 대신 Amazon DynamoDB 웹 서비스를 사용하려면 [DynamoDB 설정(웹 서비스)](SettingUp.DynamoWebService.md) 섹션을 참조하세요.

**Topics**
+ [컴퓨터에 로컬로 DynamoDB 배포](DynamoDBLocal.DownloadingAndRunning.md)
+ [DynamoDB local 사용 참고 사항](DynamoDBLocal.UsageNotes.md)
+ [DynamoDB Local 릴리스 기록](DynamoDBLocalHistory.md)
+ [DynamoDB Local에서의 텔레메트리](DynamoDBLocalTelemetry.md)

# 컴퓨터에 로컬로 DynamoDB 배포
<a name="DynamoDBLocal.DownloadingAndRunning"></a>

**참고**  
DynamoDB 로컬은 v3.x(현재), v2.x(레거시) 및 v1.x(사용되지 않음)의 세 가지 버전으로 제공됩니다.
DynamoDB v3.x는 로컬 테스트 및 개발 사용에 권장됩니다.
DynamoDB 로컬 V2.x에서 V3.x로 마이그레이션하려면 `com.amazonaws.services.dynamodbv2`에서 `software.amazon.dynamodb`로 가져오기 문을 업데이트하고 Maven 사용자에 대한 Maven 종속성을 업데이트해야 합니다.
SDK for Java v1.x를 사용하는 애플리케이션을 SDK for Java 2.x로 마이그레이션하는 경우 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html)의 단계를 따릅니다.

## DynamoDB 로컬 다운로드
<a name="DynamoDBLocal.DownloadingAndRunning.V2"></a>

다음 단계에 따라 컴퓨터에서 DynamoDB를 설정하고 실행합니다.

**컴퓨터에서 DynamoDB를 설정하려면**

1. 다음 중 한 곳에서 무료로 DynamoDB 로컬을 다운로드합니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html)
**중요**  
 컴퓨터에서 DynamoDB v2.6.0 이상을 실행하려면 Java 런타임 환경(JRE) 버전 17.x 이상이 필요합니다. 애플리케이션은 이전 JRE 버전에서 실행되지 않습니다.

1.  아카이브를 다운로드한 뒤 콘텐츠의 압축을 풀고 압축 해제된 디렉터리를 원하는 위치로 복사합니다.

1.  컴퓨터에서 DynamoDB를 시작하려면 명령 프롬프트 창을 열고 `DynamoDBLocal.jar`의 압축을 해제한 디렉터리로 이동한 후 다음 명령을 입력합니다.

   ```
   java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
   ```
**참고**  
 Windows PowerShell을 사용하는 경우 파라미터 이름이나 전체 이름 및 다음과 비슷한 값을 묶어야 합니다.  
 ` java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar `   
 중지하기 전까지 DynamoDB는 수신 요청을 처리합니다. DynamoDB를 중지하려면 명령 프롬프트에서 Ctrl\$1C를 누릅니다.  
 DynamoDB는 기본적으로 8000번 포트를 사용합니다. 8000번 포트를 사용할 수 없는 경우에는 이 명령에서 예외가 발생합니다. `-port`를 포함한 DynamoDB 런타임 옵션의 전체 목록을 보려면 이 명령을 입력합니다.  
 ` java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help ` 

1. 프로그래밍 방식이나 AWS Command Line Interface(AWS CLI)를 통해 DynamoDB에 액세스하기 전에 애플리케이션에 권한 부여를 활성화하기 위한 자격 증명을 구성해야 합니다. 다음 예제와 같이 다운로드 가능한 DynamoDB가 작동하려면 자격 증명이 필요합니다.

   ```
   AWS Access Key ID: "fakeMyKeyId" 
   AWS Secret Access Key: "fakeSecretAccessKey"
   Default Region Name: "fakeRegion"
   ```

    `aws configure`의 AWS CLI 명령을 사용하여 자격 증명을 설정할 수 있습니다. 자세한 내용은 [AWS CLI 사용](AccessingDynamoDB.md#Tools.CLI) 섹션을 참조하세요.

1.  애플리케이션 작성을 시작합니다. AWS CLI를 통해 로컬에서 실행되는 DynamoDB에 액세스하려면 `--endpoint-url ` 파라미터를 사용합니다. 예를 들어, 다음 명령을 사용하여 DynamoDB 테이블을 나열합니다.

   ```
   aws dynamodb list-tables --endpoint-url http://localhost:8000
   ```

## DynamoDB 로컬을 Docker 이미지로 실행
<a name="DynamoDBLocal.DownloadingAndRunning.Docker"></a>

 Amazon DynamoDB의 다운로드 가능 버전은 도커 이미지로 제공됩니다. 자세한 내용은 [dynamodb-local](https://hub.docker.com/r/amazon/dynamodb-local) 섹션을 참조하세요. 현재 DynamoDB 로컬 버전을 확인하려면 다음 명령을 입력합니다.

```
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -version
```

 DynamoDB Local을 AWS Serverless Application Model(AWS SAM)에 빌드된 REST 애플리케이션의 일부로 사용하는 예제는 [주문 관리를 위한 SAM DynamoDB 애플리케이션](https://github.com/aws-samples/aws-sam-java-rest)을 참조하세요. 이 샘플 애플리케이션은 테스트를 위해 DynamoDB Local을 사용하는 방법을 보여 줍니다.

 DynamoDB Local 컨테이너도 사용하는 다중 컨테이너 애플리케이션을 실행하려면 Docker Compose를 사용하여 DynamoDB Local을 비롯한 애플리케이션의 모든 서비스를 정의하고 실행합니다.

**Docker compose를 사용하여 DynamoDB local을 설치하고 실행하는 방법**

1.  [Docker desktop](https://www.docker.com/products/docker-desktop)을 다운로드하여 설치합니다.

1.  다음 코드를 파일에 복사하고 `docker-compose.yml`로 저장합니다.

   ```
   services:
    dynamodb-local:
      command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
      image: "amazon/dynamodb-local:latest"
      container_name: dynamodb-local
      ports:
        - "8000:8000"
      volumes:
        - "./docker/dynamodb:/home/dynamodblocal/data"
      working_dir: /home/dynamodblocal
   ```

    애플리케이션과 DynamoDB Local을 별도의 컨테이너에 보관하려면 다음 yaml 파일을 사용합니다.

   ```
   version: '3.8'
   services:
    dynamodb-local:
      command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
      image: "amazon/dynamodb-local:latest"
      container_name: dynamodb-local
      ports:
        - "8000:8000"
      volumes:
        - "./docker/dynamodb:/home/dynamodblocal/data"
      working_dir: /home/dynamodblocal
    app-node:
      depends_on:
        - dynamodb-local
      image: amazon/aws-cli
      container_name: app-node
      ports:
       - "8080:8080"
      environment:
        AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE'
        AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY'
      command:
        dynamodb describe-limits --endpoint-url http://dynamodb-local:8000 --region us-west-2
   ```

    이 docker-compose.yml 스크립트는 `app-node` 컨테이너와 `dynamodb-local` 컨테이너를 만듭니다. 이 스크립트는 `app-node` 컨테이너에서 AWS CLI를 사용하여 `dynamodb-local` 컨테이너에 연결하고 계정 및 테이블 제한을 설명하는 명령을 실행합니다.

    고유한 애플리케이션 이미지와 함께 사용하려면 아래 예제의 `image` 값을 해당 애플리케이션의 값으로 바꿉니다.

   ```
   version: '3.8'
   services:
    dynamodb-local:
      command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
      image: "amazon/dynamodb-local:latest"
      container_name: dynamodb-local
      ports:
        - "8000:8000"
      volumes:
        - "./docker/dynamodb:/home/dynamodblocal/data"
      working_dir: /home/dynamodblocal
    app-node:
      image: location-of-your-dynamodb-demo-app:latest
      container_name: app-node
      ports:
        - "8080:8080"
      depends_on:
        - "dynamodb-local"
      links:
        - "dynamodb-local"
      environment:
        AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE'
        AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY'
        REGION: 'eu-west-1'
   ```
**참고**  
 YAML 스크립트를 사용하려면 AWS 액세스 키와 AWS 보안 키를 지정해야 하지만 유효한 AWS 키가 없어도 DynamoDB Local에 액세스할 수 있습니다.

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

   ```
   docker-compose up
   ```

## DynamoDB 로컬을 Apache Maven 종속성으로 실행
<a name="DynamoDBLocal.DownloadingAndRunning.Maven.v2"></a>

**참고**  
SDK for Java v1.x를 사용하는 애플리케이션을 SDK for Java 2.x로 마이그레이션하는 경우 [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html)의 단계를 따릅니다.

 다음 단계에 따라 애플리케이션의 Amazon DynamoDB를 종속 항목으로 사용합니다.

**DynamoDB를 Apache Maven 리포지토리로 배포하려면**

1.  Apache Maven을 다운로드하고 설치합니다. 자세한 내용은 [Downloading Apache Maven](https://maven.apache.org/download.cgi) 및 [Installing Apache Maven](https://maven.apache.org/install.html)을 참조하세요.

1.  애플리케이션의 POM(Project Object Model) 파일에 DynamoDB Maven 리포지토리를 추가합니다.

   ```
   <!--Dependency:-->
   <dependencies>
      <dependency>
         <groupId>software.amazon.dynamodb</groupId>
         <artifactId>DynamoDBLocal</artifactId>
         <version>3.3.0</version>
      </dependency>
   </dependencies>
   ```

    Spring Boot 3 및/또는 Spring Framework 6와 함께 사용할 수 있는 예제 템플릿: 

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <project xmlns="http://maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   
   <groupId>org.example</groupId>
   <artifactId>SpringMavenDynamoDB</artifactId>
   <version>1.0-SNAPSHOT</version>
   
   <properties>
      <spring-boot.version>3.0.1</spring-boot.version>
      <maven.compiler.source>17</maven.compiler.source>
      <maven.compiler.target>17</maven.compiler.target>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>3.1.0</version>
      </parent>
   
   <dependencies>
      <dependency>
          <groupId>software.amazon.dynamodb</groupId>
          <artifactId>DynamoDBLocal</artifactId>
          <version>3.3.0</version>
      </dependency>
      <!-- Spring Boot -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
          <version>${spring-boot.version}</version>
      </dependency>
      <!-- Spring Web -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
          <version>${spring-boot.version}</version>
      </dependency>
      <!-- Spring Data JPA -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
          <version>${spring-boot.version}</version>
      </dependency>
      <!-- Other Spring dependencies -->
      <!-- Replace the version numbers with the desired version -->
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>6.0.0</version>
      </dependency>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>6.0.0</version>
      </dependency>
      <!-- Add other Spring dependencies as needed -->
      <!-- Add any other dependencies your project requires -->
   </dependencies>
   </project>
   ```
**참고**  
 [Maven 중앙 리포지토리](https://mvnrepository.com/artifact/com.amazonaws/DynamoDBLocal?repo=dynamodb-local-release) URL을 사용할 수도 있습니다.

## AWS CloudShell에서 DynamoDB 로컬 실행
<a name="DynamoDBLocal.DynamoDB.Local.CloudShell"></a>

AWS CloudShell은 브라우저 기반의 사전 인증된 쉘로, 에서 바로 시작할 수 있습니다.AWS Management Console AWS CloudShell에서 AWS Management Console로 이동하는 몇 가지 방법이 있습니다. 자세한 내용은 [AWS CloudShell 시작하기](https://docs.aws.amazon.com/cloudshell/latest/userguide/getting-started.html)를 참조하세요.

AWS Management Console의 어느 곳에서나 AWS CloudShell에서 DynamoDB 로컬을 실행하려면 다음 단계를 따릅니다.

**AWS Management Console의 AWS CloudShell에서 DynamoDB 로컬을 실행하려면**

1. 콘솔 인터페이스에서 AWS CloudShell을 시작하고, 사용 가능한 AWS 리전을 선택한 다음, Bash, PowerShell 또는 Z 쉘과 같은 선호하는 쉘로 전환합니다.

1. AWS 리전을 선택하려면 **리전 선택** 메뉴로 이동하여 [지원되는 AWS 리전](https://docs.aws.amazon.com/cloudshell/latest/userguide/supported-aws-regions.html)을 선택합니다. (사용 가능한 지역은 강조 표시됩니다.)

1. AWS Management Console에서는 다음 옵션 중 하나를 선택하여 AWS CloudShell을 시작할 수 있습니다.

   1. 탐색 모음에서 **AWS CloudShell** 아이콘을 선택합니다.

   1. **검색** 상자에 CloudShell이라는 단어를 입력한 다음, **CloudShell**을 선택합니다.

   1. **최근 방문한** 위젯에서 **CloudShell**을 선택합니다.

   1. 콘솔 도구 모음에서 **CloudShell**을 선택합니다.

1. AWS CloudShell에서 DynamoDB 로컬을 실행하려면 `dynamodb-local` 별칭을 사용합니다. DynamoDB 로컬 설정을 변경하기 위한 추가 명령줄 옵션을 지정할 수 있습니다. 사용할 수 있는 옵션은 [DynamoDB local 사용 참고 사항](DynamoDBLocal.UsageNotes.md) 섹션을 참조하세요.
**참고**  
백그라운드에서 DynamoDB 로컬을 실행하려면 AWS CloudShell에서 `dynamodb-local &`을 사용하여 DynamoDB 로컬을 실행합니다.

1. AWS CLI를 통해 AWS CloudShell에서 로컬로 실행되는 DynamoDB에 액세스하려면 `--endpoint-url` 파라미터를 사용합니다. 예를 들어, 다음 명령을 사용하여 DynamoDB 테이블을 나열합니다.

   `aws dynamodb list-tables --endpoint-url http://localhost:8000`

JAR 파일 다운로드, Docker 이미지로 실행, Maven 종속성으로 사용 등 DynamoDB 로컬을 설정하고 사용하기 위한 다양한 접근 방식을 보여주는 샘플 프로젝트의 예는 [DynamoDB Local Sample Java Project](https://github.com/awslabs/amazon-dynamodb-local-samples/tree/main)를 참조하세요.

# DynamoDB local 사용 참고 사항
<a name="DynamoDBLocal.UsageNotes"></a>

 엔드포인트를 제외하고 Amazon DynamoDB의 다운로드 가능 버전으로 실행되는 애플리케이션은 DynamoDB 웹 서비스로도 작동됩니다. 그러나 DynamoDB를 로컬에서 사용하는 경우에는 다음 사항을 숙지해야 합니다.
+  `-sharedDb` 옵션을 사용하면 DynamoDB에서 이름이 *shared-local-instance.db*인 단일 데이터베이스 파일이 생성합니다. DynamoDB에 연결되는 모든 프로그램은 이 파일에 액세스합니다. 이 파일을 삭제하면 파일에 저장된 모든 데이터가 손실됩니다.
+  `-sharedDb`를 누락하면 데이터베이스 파일의 이름은 *myaccesskeyid\$1region.db*로 설정되고, AWS 액세스 키 ID 및 AWS 리전은 애플리케이션 구성에 표시된 대로 지정됩니다. 이 파일을 삭제하면 파일에 저장된 모든 데이터가 손실됩니다.
+  `-inMemory` 옵션을 사용하면 DynamoDB는 데이터베이스 파일을 기록하지 않습니다. 대신 모든 데이터가 메모리에 기록되지만 DynamoDB를 종료할 때 데이터가 저장되지 않습니다.
+  `-inMemory` 옵션을 사용하는 경우 `-sharedDb` 옵션도 필요합니다.
+  `-optimizeDbBeforeStartup` 옵션을 사용하는 경우 DynamoDB가 데이터베이스 파일을 찾을 수 있도록 `-dbPath` 파라미터도 지정해야 합니다.
+  DynamoDB용 AWS SDK의 경우 애플리케이션 구성에서 액세스 키 값과 AWS 리전 값을 지정해야 합니다. `-sharedDb` 또는 `-inMemory` 옵션을 사용하지 않는 한, DynamoDB는 이러한 값을 사용하여 로컬 데이터베이스 파일의 이름을 지정합니다. 이 값들은 로컬에서 실행하기 위해서 유효한 AWS 값일 필요는 없습니다. 그러나 유효한 값을 사용할 경우 나중에 사용 중인 엔드포인트를 변경하면 클라우드에서 코드를 실행할 수 있으므로 유용할 것입니다.
+  DynamoDB Local은 `billingModeSummary.`에 대해 항상 null을 반환합니다.
+  DynamoDB Local `AWS_ACCESS_KEY_ID`에는 문자(A\$1Z, a\$1z)와 숫자(0\$19)만 포함될 수 있습니다.
+ DynamoDB Local은 [시점 복구(PITR)](Point-in-time-recovery.md)를 지원하지 않습니다.

**Topics**
+ [명령줄 옵션](#DynamoDBLocal.CommandLineOptions)
+ [로컬 엔드포인트 설정](#DynamoDBLocal.Endpoint)
+ [다운로드 가능한 DynamoDB와 DynamoDB 웹 서비스의 차이점](#DynamoDBLocal.Differences)

## 명령줄 옵션
<a name="DynamoDBLocal.CommandLineOptions"></a>

 DynamoDB 다운로드 가능 버전과 함께 다음 명령줄 옵션을 사용할 수 있습니다.
+  `-cors` `value` - JavaScript용 CORS(cross-origin 리소스 공유) 지원을 활성화합니다. 특정 도메인에 대해 쉼표로 구분된 "허용" 목록을 제공해야 합니다. `-cors`의 기본 설정은 별표(\$1)이며, 퍼블릭 액세스를 허용합니다.
+  `-dbPath` `value` - DynamoDB가 데이터베이스 파일을 기록할 디렉터리입니다. 이 옵션을 지정하지 않으면 현재 디렉터리에 파일이 기록됩니다. `-dbPath` 및 `-inMemory`를 동시에 지정할 수 없다는 점을 유의하세요.
+  `-delayTransientStatuses` - DynamoDB가 특정 작업을 지연시키도록 합니다. DynamoDB(다운로드 가능 버전)는 테이블 및 인덱스의 생성/업데이트/삭제 작업과 같은 일부 태스크를 거의 즉각적으로 수행할 수 있습니다. 그러나 DynamoDB 서비스에서는 이러한 태스크를 수행하는 데 시간이 더 소요됩니다. 이 파라미터를 설정하면 컴퓨터에서 실행되는 DynamoDB에서 DynamoDB 웹 서비스의 동작을 더욱 면밀하게 시뮬레이션할 수 있습니다. (현재 이 파라미터는 *생성* 또는 *삭제* 상태의 글로벌 보조 인덱스만 지연시킬 수 있습니다.) 
+  `-help` - 사용 요약 및 옵션을 인쇄합니다.
+  `-inMemory` - DynamoDB는 데이터베이스 파일을 사용하는 대신 메모리에서 실행됩니다. DynamoDB를 중지하면 데이터가 저장되지 않습니다. `-dbPath` 및 `-inMemory`를 동시에 지정할 수 없다는 점을 유의하세요.
+  `-optimizeDbBeforeStartup` - 컴퓨터에서 DynamoDB를 시작하기 전에 기본 데이터베이스 테이블을 최적화합니다. 이 파라미터를 사용할 때에는 `-dbPath`도 함께 지정해야 합니다.
+  `-port` `value` - DynamoDB가 애플리케이션과 통신하기 위해 사용할 포트 번호입니다. 이 옵션을 지정하지 않으면 기본 포트는 `8000`입니다.
**참고**  
 DynamoDB는 기본적으로 8000번 포트를 사용합니다. 8000번 포트를 사용할 수 없는 경우에는 이 명령에서 예외가 발생합니다. `-port` 옵션을 사용하여 다른 포트 번호를 지정할 수 있습니다. `-port`를 포함한 DynamoDB 런타임 옵션의 전체 목록을 보려면 다음 명령어를 입력합니다.  
 `java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help` 
+  `-sharedDb` - `-sharedDb`를 지정하는 경우, DynamoDB에서는 자격 증명과 리전마다 별도의 파일을 사용하는 대신 데이터베이스 파일 하나를 사용합니다.
+  `-disableTelemetry` - 지정된 경우 DynamoDB Local은 텔레메트리를 전송하지 않습니다.
+ `-version` - DynamoDB 로컬 버전을 인쇄합니다.

## 로컬 엔드포인트 설정
<a name="DynamoDBLocal.Endpoint"></a>

 기본적으로 AWS SDK 및 도구는 Amazon DynamoDB 웹 서비스에 대한 엔드포인트를 사용합니다. DynamoDB 다운로드 가능 버전에서 SDK 및 도구를 사용하려면 로컬 엔드포인트를 지정해야 합니다.

 `http://localhost:8000` 

### AWS Command Line Interface
<a name="DynamoDBLocal.Endpoint.CLI"></a>

 AWS Command Line Interface(AWS CLI)를 사용하여 DynamoDB 다운로드 가능 버전과 상호 작용할 수 있습니다.

 로컬에서 실행되는 DynamoDB에 액세스하려면 `--endpoint-url` 파라미터를 사용합니다. 다음은 AWS CLI를 사용하여 컴퓨터의 DynamoDB에 테이블을 나열하는 예입니다.

```
aws dynamodb list-tables --endpoint-url http://localhost:8000
```

**참고**  
 AWS CLI는 기본 엔드포인트로 DynamoDB 다운로드 가능 버전을 사용할 수 없습니다. 따라서 각 `--endpoint-url` 명령을 사용하여 AWS CLI을 지정해야 합니다.

### AWS SDK
<a name="DynamoDBLocal.Endpoint.SDK"></a>

 엔드포인트를 지정하는 방법은 사용하는 프로그래밍 언어 및 AWS SDK에 따라 다릅니다. 다음 섹션에서 그 방법에 대해 설명합니다.
+  [Java: AWS 리전 및 엔드포인트 설정](CodeSamples.Java.md#CodeSamples.Java.RegionAndEndpoint)(DynamoDB Local은 AWS SDK for Java V1 및 V2 지원) 
+ CodeSamples.Java.RegionAndEndpoint [.NET: AWS 리전 및 엔드포인트 설정](CodeSamples.DotNet.md#CodeSamples.DotNet.RegionAndEndpoint) 

## 다운로드 가능한 DynamoDB와 DynamoDB 웹 서비스의 차이점
<a name="DynamoDBLocal.Differences"></a>

 DynamoDB 다운로드 가능 버전은 개발 및 테스트용일 뿐입니다. 비교하자면 DynamoDB 웹 서비스는 확장성, 가용성 및 내구성을 갖춘 관리형 서비스로서 프로덕션 환경에 이상적입니다.

 DynamoDB 다운로드 가능 버전은 다음 방식에서 웹 서비스와 차이가 있습니다.
+ AWS 리전과 별개의 AWS 계정은 클라이언트 수준에서 지원되지 않습니다.
+  `CreateTable` 작업에서 필요하더라도 프로비저닝된 처리량 설정이 DynamoDB 다운로드 가능 버전에서 무시됩니다. `CreateTable`의 경우, 실제로 사용되지 않더라도 할당된 읽기 및 쓰기 처리량에 원하는 숫자를 지정할 수 있습니다. 하루에도 언제든지 필요한 만큼 `UpdateTable`을 호출할 수 있습니다. 그러나 프로비저닝된 처리량 값의 변경 내용은 무시됩니다.
+  `Scan` 작업이 순차적으로 수행되고 있습니다. 병렬 검색은 지원되지 않습니다. `Segment` 작업의 `TotalSegments` 및 `Scan` 파라미터는 무시됩니다.
+  테이블 데이터의 읽기 및 쓰기 작업 속도는 컴퓨터 속도에 의해서만 제한됩니다. `CreateTable`, `UpdateTable` 및 `DeleteTable` 작업이 즉시 발생하며 테이블은 항상 활성 상태입니다. 테이블 또는 글로벌 보조 인덱스에서 프로비저닝된 처리량 설정만 변경하는 `UpdateTable` 작업이 즉시 발생합니다. `UpdateTable` 작업이 글로벌 보조 인덱스를 생성하거나 삭제하는 경우, 해당 인덱스가 활성 상태가 되기 전에 정상 상태(생성 또는 삭제)로 전환됩니다. 이 때 테이블은 계속 활성 상태로 유지됩니다.
+  읽기 작업은 일정하게 유지됩니다. 그러나 컴퓨터에서 실행되는 DynamoDB 로컬의 속도 때문에 대부분의 읽기 작업은 매우 일정하게 유지됩니다.
+  항목 컬렉션 지표 및 항목 컬렉션 크기는 추적되지 않습니다. 작업 응답에서 항목 컬렉션 지표 대신 null 값이 반환됩니다.
+  DynamoDB의 경우, 결과 집합당 반환되는 데이터는 최대 1MB로 제한됩니다. DynamoDB 웹 서비스 및 다운로드 가능 버전 모두에서 이 제한이 적용됩니다. 그러나 인덱스를 쿼리하면 DynamoDB 서비스는 프로젝션된 키와 속성의 크기만 계산합니다. 이와 달리, 다운로드 버전 DynamoDB는 전체 항목의 크기를 계산합니다.
+  DynamoDB Streams를 사용할 경우 샤드의 생성 속도가 다를 수 있습니다. DynamoDB 웹 서비스에서 샤드 생성 동작은 부분적으로 테이블 분할 작업의 영향을 받습니다. 로컬에서 DynamoDB를 실행할 경우에는 테이블 분할 기능이 없습니다. 두 경우 모두 샤드는 일시적으로만 존재하므로 애플리케이션이 샤드 동작에 의존해서는 안 됩니다.
+  `TransactionConflictExceptions`는 트랜잭션 API에 대해 DynamoDB(다운로드 가능 버전)에서 생성하지 않습니다. Java 모의 프레임워크를 통해 DynamoDB 핸들러에서 `TransactionConflictExceptions`를 시뮬레이션하여 애플리케이션이 충돌하는 트랜잭션에 대응하는 방식을 테스트합니다.
+  DynamoDB 웹 서비스에서, 콘솔을 통해 액세스하든 AWS CLI를 통해 액세스하든 테이블 이름은 대소문자를 구분합니다. `Authors`라는 테이블과 `authors`이라는 테이블이 별도의 테이블로 공존할 수 있습니다. 다운로드가 가능한 버전에서 테이블 이름은 대/소문자를 구분하며, 이러한 두 테이블을 생성하려고 시도하면 오류가 발생할 수 있습니다.
+ DynamoDB의 다운로드 가능 버전에서는 태깅이 지원되지 않습니다.
+ DynamoDB 다운로드 가능 버전은 [ExecuteStatement](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ExecuteStatement.html)의 [Limit](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ExecuteStatement.html#DDB-ExecuteStatement-request-Limit) 파라미터를 무시합니다.

# DynamoDB Local 릴리스 기록
<a name="DynamoDBLocalHistory"></a>

다음 표에서는 *DynamoDB Local*의 각 릴리스에서 변경된 중요 사항에 대해 설명합니다.


****  

| 버전 | 변경 | 설명 | 날짜 | 
| --- | --- | --- | --- | 
| 3.3.0 |  글로벌 보조 인덱스의 다중 속성 키 지원 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2026년 1월 19일  | 
| 3.2.0 |  여러 Kotlin 버전의 호환성 문제 해결  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2026년 1월 9일  | 
| 3.1.0 |  Joda 시간 종속성을 포함하여 PartiQL 쿼리의 성능 개선  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2025년 9월 14일  | 
| 3.0.0 |  AWS SDK Java V1에서 V2로 마이그레이션  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2025년 7월 17일  | 
| 2.6.0 |  DynamoDB API에서 테이블 이름으로 테이블 ARN 지원 성능 수정 및 보안 업데이트  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2025년 3월 13일  | 
| 2.5.4 |  Jetty 종속성으로 업그레이드  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2024년 12월 12일  | 
| 2.5.3 |  Log4j Core에서 Jackson 종속성을 2.17.x로 업그레이드(CVE-2022-1471 해결)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2024년 11월 6일  | 
| 2.5.2 | 테이블 업데이트 워크플로에 대한 버그 수정 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  | 2024년 6월 20일 | 
| 2.5.1 | OndemandThroughPut 기능에 도입된 버그에 대한 패치  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html) | 2024년 6월 5일 | 
| 2.5.0 |  온디맨드 테이블 `ReturnValuesOnConditionCheckFailure`, `BatchExecuteStatement`, `ExecuteTransactionRequest`의 구성 가능한 최대 처리량 지원  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2024년 5월 28일  | 
| 2.4.0 |  `ReturnValuesOnConditionCheckFailure` 지원 – 임베디드 모드  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2024년 4월 17일  | 
| 2.3.0 |  Jetty 및 JDK 업그레이드  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2024년 3월 14일  | 
| 2.2.0 |  테이블 삭제 방지 및 `ReturnValuesOnConditionCheckFailure` 파라미터에 대한 지원 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 12월 14일  | 
| 2.1.0 |  Maven 프로젝트용 SQLLite 네이티브 라이브러리 지원 및 텔레메트리 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 10월 23일  | 
| 2.0.0 |  javax에서 jakarta 네임스페이스로 마이그레이션 및 JDK11 지원  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 7월 5일  | 
| 1.25.1 |  Log4j Core에서 Jackson 종속성을 2.17.x로 업그레이드(CVE-2022-1471 해결)  |  Log4j Core에서 Jackson 종속성을 2.17.x로 업그레이드하여(CVE-2022-1471 해결) 전이적 종속성인 SnakeYAML 라이브러리의 중요한 보안 취약성 해결  |  2024년 11월 6일  | 
| 1.25.0 |  테이블 삭제 방지 및 `ReturnValuesOnConditionCheckFailure` 파라미터에 대한 지원 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 12월 18일  | 
| 1.24.0 |  Maven 프로젝트용 SQLLite 네이티브 라이브러리 지원 및 텔레메트리 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 10월 23일  | 
| 1.23.0 |  서버 시작 시 잘못된 액세스 및 비밀 키 처리  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 6월 28일  | 
| 1.22.0 |  PartiQL Limit Operation 지원  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 6월 8일  | 
| 1.21.0 |  트랜잭션당 100개 작업 지원  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2023년 1월 26일  | 
| 1.20.0 |  M1 Mac에 대한 지원 추가  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  |  2022년 9월 12일  | 
| 1.19.0 |  PartiQL 파서 업그레이드  |  PartiQL 파서 및 기타 관련 라이브러리 업그레이드  |  2022년 7월 27일  | 
| 1.18.0 | log4j-core 및 Jackson-core 업그레이드 | log4j-core를 2.17.1로, Jackson-core 2.10.x를 2.12.0으로 업그레이드 | 2022년 1월 10일 | 
| 1.17.2 | log4j-core 업그레이드 | log4j-core 종속성을 버전 2.16으로 업그레이드 | 2021년 1월 16일 | 
| 1.17.1 | log4j-core 업그레이드 | 원격 코드 실행 방지를 위해 제로 데이 익스플로잇을 패치하도록 log4j-core 종속성 업데이트 - Log4Shel | 2021년 1월 10일 | 
| 1.17.0 | Javascript 웹 쉘 사용되지 않음 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocalHistory.html)  | 2021년 1월 8일 | 

# DynamoDB Local에서의 텔레메트리
<a name="DynamoDBLocalTelemetry"></a>

 AWS에서는 고객과의 상호 작용을 통해 배운 내용을 기반으로 서비스를 개발 및 출시하고 고객 피드백을 활용하여 제품을 제작합니다. 텔레메트리는 고객 요구 사항을 더 잘 이해하고, 문제를 진단하고, 고객 경험을 개선하는 기능을 제공하는 데 도움이 되는 추가 정보입니다.

 DynamoDB Local은 일반 사용 지표, 시스템 및 환경 정보, 오류 등의 텔레메트리를 수집합니다. 수집되는 텔레메트리 유형에 대한 자세한 내용은 [수집되는 정보의 유형](#DynamoDBLocalTelemetry.TypesOfInformationCollected) 섹션을 참조하세요.

 DynamoDB Local은 사용자 이름 또는 이메일 주소와 같은 개인 정보를 수집하지 않습니다. 또한 민감한 프로젝트 수준 정보를 추출하지 않습니다.

 고객은 텔레메트리 사용 여부를 제어할 수 있으며 언제든지 설정을 변경할 수 있습니다. 텔레메트리가 켜져 있는 경우 DynamoDB Local은 추가 고객 상호 작용 없이 백그라운드에서 텔레메트리 데이터를 전송합니다.

## 명령줄 옵션을 사용하여 텔레메트리 끄기
<a name="DynamoDBLocalTelemetry.cli"></a>

 `-disableTelemetry` 옵션을 사용하여 DynamoDB Local을 시작할 때 명령줄 옵션을 사용하여 텔레메트리를 끌 수 있습니다. 자세한 내용은 [명령줄 옵션](DynamoDBLocal.UsageNotes.md#DynamoDBLocal.CommandLineOptions) 섹션을 참조하세요.

## 단일 세션에 대한 텔레메트리 끄기
<a name="DynamoDBLocalTelemetry.TurnOffTelemetrySingleSession"></a>

 macOS 및 Linux 운영 체제에서는 단일 세션에 대한 텔레메트리를 끌 수 있습니다. 현재 세션의 텔레메트리를 끄려면 다음 명령을 실행하여 환경 변수 `DDB_LOCAL_TELEMETRY`를 `false`로 설정합니다. 각 새 터미널 또는 세션에 대해 명령을 반복합니다.

```
export DDB_LOCAL_TELEMETRY=0
```

## 모든 세션에서 사용자 프로필에 대한 텔레메트리 끄기
<a name="DynamoDBLocalTelemetry.TurnOffTelemetryForAllSessions"></a>

 운영 체제에서 DynamoDB Local을 실행하는 경우 다음 명령을 실행하여 모든 세션에 대한 텔레메트리를 끕니다.

**Linux에서 텔레메트리를 끄려면**

1.  실행합니다.

   ```
   echo "export DDB_LOCAL_TELEMETRY=0" >>~/.profile
   ```

1.  실행합니다.

   ```
   source ~/.profile
   ```

**macOS에서 텔레메트리를 끄려면**

1.  실행합니다.

   ```
   echo "export DDB_LOCAL_TELEMETRY=0" >>~/.profile
   ```

1.  실행합니다.

   ```
   source ~/.profile
   ```

**Windows에서 텔레메트리를 끄려면**

1.  실행합니다.

   ```
   setx DDB_LOCAL_TELEMETRY 0
   ```

1.  실행합니다.

   ```
   refreshenv
   ```

## Maven 프로젝트에 내장된 DynamoDB 로컬을 사용하여 원격 분석을 끕니다.
<a name="DynamoDBLocalTelemetry.maven"></a>

 Maven 프로젝트에 내장된 DynamoDB 로컬을 사용하여 원격 분석을 끌 수 있습니다.

```
boolean disableTelemetry = true;
// AWS SDK v1
 AmazonDynamoDB amazonDynamoDB = DynamoDBEmbedded.create(disableTelemetry).amazonDynamoDB();

// AWS SDK v2
DynamoDbClient ddbClientSDKv2Local = DynamoDBEmbedded.create(disableTelemetry).dynamoDbClient();
```

## 수집되는 정보의 유형
<a name="DynamoDBLocalTelemetry.TypesOfInformationCollected"></a>
+  **사용 정보** - 서버 시작/중지, 호출된 API 또는 작업과 같은 일반적인 텔레메트리입니다.
+  **시스템 및 환경 정보** - Java 버전, 운영 체제(Windows, Linux 또는 macOS), DynamoDB Local이 실행되는 환경(예: 독립형 JAR, Docker 컨테이너 또는 Maven 종속성), 사용 속성의 해시 값입니다.

## 자세히 알아보기
<a name="DynamoDBLocalTelemetry.LearnMore"></a>

 DynamoDB Local에서 수집하는 텔레메트리 데이터는 AWS 데이터 프라이버시 정책을 준수합니다. 자세한 내용은 다음을 참조하세요.
+  [AWS 서비스 약관](https://aws.amazon.com/service-terms/) 
+  [데이터 프라이버시 FAQ](https://aws.amazon.com/compliance/data-privacy-faq/) 