

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS DataSync タスクの実行日時のスケジューリング
<a name="task-scheduling"></a>

AWS DataSync タスクのスケジュールを、ストレージのロケーション間で定期的にデータを転送するように設定します。

## DataSync タスクのスケジューリングの仕組み
<a name="how-task-scheduling-works"></a>

スケジュールした DataSync のタスクは、指定した頻度 (最短で 1 時間間隔) で実行されます。タスクのスケジュールは、cron または rate 式を使用して作成できます。

**重要**  
タスクの実行間隔は 1 時間より短く設定することはできません。

**cron 式の使用**  
特定の日時で実行されるタスクスケジュールには cron 式を使用します。例えば、毎週日曜日と水曜日の午後 12:00 (UTC) に実行されるように AWS CLI でタスクのスケジュールを設定するには、以下の方法を使用します。  

```
cron(0 12 ? * SUN,WED *)
```

**rate 式の使用**  
12 時間おきなど一定の間隔で実行されるようにタスクをスケジュールするには、rate 式を使用します。例えば、12 時間おきにに実行されるように AWS CLI でタスクのスケジュールを設定するには、以下の方法を使用します。  

```
rate(12 hours)
```

**ヒント**  
cron 式と rate 式の構文の詳細については、「[https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)」を参照してください。

## DataSync タスクのスケジュールの作成
<a name="configure-task-schedule"></a>

タスクの実行間隔は、DataSync のコンソール、AWS CLI、DataSync API のいずれかからスケジュールできます。

### DataSync コンソールの使用
<a name="configure-task-schedule-console"></a>

タスクの作成時にスケジュールを設定する方法について説明します。このスケジュールは、後でタスクを編集する際に変更できます。

コンソールを使用すると、スケジュール設定のオプションを使ってタスクの実行時刻を厳密に (毎日午後 10 時 30 分など) 指定できます。時刻を指定しなかった場合は、タスクは作成 (または更新) した時刻に実行されます。

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]**、**[タスクの作成]** の順に選択します。

1. タスクのソースと送信先の場所を設定します。

   詳細については、[でデータを転送できる場所 AWS DataSync](working-with-locations.md)を参照してください。

1. スケジュールの **[頻度]** で以下のいずれかを実行します。
   + タスクをスケジュールどおりに実行しない場合は、**[スケジュールされていません]** を選択します。
   + **[毎時]** を選択する場合は、タスクを実行する時刻 (分) を選択します。
   + **[毎日]** を選択する場合は、タスクを実行する時刻 (UTC) を入力します。
   + **[毎週]** を選択し曜日を選択する場合は、タスクを実行する時刻 (UTC) を入力します。
   + **[曜日]** を選択する場合は、特定の曜日 (複数可) を選択し、タスクを実行する時刻 (UTC) を HH:MM の形式で入力します。
   + **[カスタム]** を選択する場合は、**[Cron 式]** または **[Rate 式]** を選択します。タスクのスケジュールを 1 時間以上の間隔を空けて入力します。

### の使用AWS CLI
<a name="configure-task-schedule-api"></a>

DataSync タスクのスケジュールは、`--schedule` パラメータと、`create-task`、`update-task`、`start-task-execution` のいずれかのコマンドを使って作成できます。

以下の手順では `create-task` コマンドを使用して作成する方法を説明します。

1. 次の `create-task` コマンドをコピーします。

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)"
     }'
   ```

1. `--source-location-arn` パラメータで、転送の送信元ロケーションの Amazon リソースネーム (ARN) を指定します。

1. `--destination-location-arn` パラメータで、転送の送信先ロケーションの Amazon リソースネーム (ARN) を指定します。

1. `--schedule` パラメータで、スケジュールの cron 式または rate 式を指定します。

   こちらの例では、cron 式 `cron(0 12 ? * SUN,WED *)` により、毎週日曜日と水曜日の午後 12 時 00 分 (UTC) に実行されるタスクがスケジュールされています。

1. `create-task` コマンドを実行してスケジュール付きのタスクを作成します。

## DataSync タスクのスケジュールの一時停止
<a name="pause-task-schedule"></a>

状況によって、DataSync タスクのスケジュールを一時的に停止しなければならない場合があります。例えば、タスクで生じた問題を解決したり、ストレージシステムのメンテナンスを実行したりするために、定期的に実行される転送を一時的に無効にする必要があります。

DataSync は、タスクのスケジュールを以下の理由で自動的に無効にすることがあります。
+ タスクが同じエラーにより繰り返し失敗している。
+ タスクで使用している[AWS リージョンを無効](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)にした。

### DataSync コンソールの使用
<a name="pause-scheduled-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]** を選択します。

1. スケジュールを一時停止するタスクを選択し、**[編集]** を選択します。

1. **[スケジュール]** で **[スケジュールを有効にする]** をオフにします。**[Save changes]** (変更の保存) をクリックします。

### の使用AWS CLI
<a name="pause-scheduled-task-cli"></a>

1. 次の `update-task` コマンドをコピーします。

   ```
   aws datasync update-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
       "Status": "DISABLED"
     }'
   ```

1. `--task-arn` パラメータで、スケジュールを一時停止するタスクの ARN を指定します。

1. `--schedule` パラメータについては、以下を行います。
   + `ScheduleExpression` で、スケジュールの cron 式または rate 式を指定します。

     この例では、式 `cron(0 12 ? * SUN,WED *)` により、毎週日曜日と水曜日の午後 12 時 00 分 (UTC) に実行されるタスクがスケジュールされています。
   + `Status` で、`DISABLED` を指定してタスクスケジュールを一時停止します。

1. `update-task` コマンドを実行します。

1. スケジュールを再開するには、`Status` を `ENABLED` に設定して同じ `update-task` コマンドを実行します。

## DataSync タスクのスケジュールのステータス確認
<a name="check-scheduled-task"></a>

DataSync タスクのスケジュールが有効になっているかどうか、確認することができます。

### DataSync コンソールの使用
<a name="check-scheduled-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]** を選択します。

1. **[スケジュール]** 列で、タスクのスケジュールが有効か無効かを確認します。

### の使用AWS CLI
<a name="check-scheduled-task-cli"></a>

1. 次の `describe-task` コマンドをコピーします。

   ```
   aws datasync describe-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. `--task-arn` パラメータで、情報を取得するタスクの ARN を指定します。

1. `describe-task` コマンドを実行します。

タスクに関する詳細 (スケジュールなど) を含む応答が表示されます (以下の例ではタスクスケジュールの設定に焦点を当てており、`describe-task` の応答のすべては表示していません)。

この例では、タスクのスケジュールが手動で無効にされていることが示されています。スケジュールを DataSync `SERVICE` を使って無効にした場合は、`DisabledReason` のメッセージが表示されるため、タスクが失敗し続ける理由がわかります。詳細については、「[AWS DataSync の問題のトラブルシューティング](troubleshooting-datasync.md)」を参照してください。

```
{
    "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh",
    "Status": "AVAILABLE",
    "Schedule": {
        "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
        "Status": "DISABLED",
        "StatusUpdateTime": 1697736000,
        "DisabledBy": "USER",
        "DisabledReason": "Manually disabled by user."
    },
    ...
}
```