翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Lambda および Task Scheduler を使用して、Amazon EC2 で実行されている SQL Server Express エディションのデータベースタスクを自動化する
Subhani Shaik (Amazon Web Services)
概要
このパターンでは、SQL Server Express Edition (SQL Server の無料バージョン) でデータベースタスクをスケジュールし管理する方法について紹介します。ただし、SQL Server Express Edition には、自動化されたデータベースオペレーションを処理する SQL Server エージェントサービスは付いていません。このパターンでは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで実行されている SQL Server Express Edition でデータベースタスクを自動化する代わりに、Task Scheduler と Lambda を使用する方法について説明します。
Task Scheduler
前提条件と制限
前提条件
アクティブな AWS アカウント
Amazon Virtual Private Cloud (Amazon VPC) を使って作成された仮想プライベートクラウド (VPC)
Windows Server の Amazon EC2 インスタンス
Windows Server の Amazon EC2 インスタンスにアタッチされた Amazon Elastic Block Store (Amazon EBS) ボリューム
制限事項
SQL Server Express Edition の機能の制限については、Microsoft のウェブサイト
を参照してください。 一部の AWS のサービス は では使用できません AWS リージョン。利用可能なリージョンについては、「AWS サービス (リージョン別)
」を参照してください。特定のエンドポイントについては、「サービスエンドポイントとクォータ」を参照して、サービスのリンクを選択してください。
製品バージョン
SQL Server Express Edition を使用できる SQL Server 2016 以降
アーキテクチャ
次の図は、SQL Server Express Edition をインストールした状態で実行されている Amazon EC2 インスタンスを示したものです。インスタンスには、リモートデスクトッププロトコル (RDP) クライアントまたは からアクセスできます AWS Systems Manager Session Manager。 AWS Key Management Service (AWS KMS) は Amazon EBS ボリュームのデータ暗号化を処理して、data-at-restセキュリティを確保します。インフラストラクチャには、Lambda 関数の実行のためのアクセスコントロールを提供し、アクセス許可を管理する AWS Identity and Access Management (IAM) も含まれています。Lambda 関数は Amazon Simple Storage Service (Amazon S3) に保管されています。

ツール
AWS のサービス
Amazon Elastic Block Store (Amazon EBS) は、Amazon EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。
Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
AWS Identity and Access Management (IAM) は、誰を認証し、誰に使用する権限を付与するかを制御することで、 AWS リソースへのアクセスを安全に管理するのに役立ちます。
AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。
AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。
Amazon Simple Storage Service (Amazon S3) は、任意の量のデータを保存、保護、取得する上で役立つクラウドベースのオブジェクトストレージサービスです。
AWS Systems Manager Session Manager はフルマネージド AWS Systems Manager 型のツールです。Session Manager を使用することで、Amazon EC2 インスタンス、エッジデバイス、オンプレミスサーバー、仮想マシン (VM) を管理できます。
Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークに AWS リソースを起動するのに役立ちます。この仮想ネットワークは、ユーザー自身のデータセンターで運用されていた従来のネットワークと似ていますが、 AWSのスケーラブルなインフラストラクチャを使用できるという利点があります。
その他のツール
Microsoft SQL Server Management Studio (SSMS)
は、SQL Server コンポーネントへのアクセス、設定、管理など、SQL Server を管理するためのツールです。 「Python
」は汎用のコンピュータプログラミング言語です。こちらを使用すると、AWS クラウド でのアプリケーションの構築、タスクの自動化、サービスの開発を行うことができます。 Task Scheduler
は、コンピュータでルーチンタスクを自動的にスケジュールするできる Microsoft のツールです。
ベストプラクティス
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
Amazon EC2 インスタンスをデプロイします。 | Amazon EC2 インスタンスを作成するには、Amazon EC2 コンソールを開き (https://console.aws.amazon.com/ec2/ 詳細については、 AWS ドキュメントのAmazon EC2 インスタンスの起動」を参照してください。 | DBA、AWS DevOps |
SQL Server Express Edition をインストールする | SQL Server Express Edition をインストールするには、次の手順を実行します。
| DBA、AWS DevOps |
| タスク | 説明 | 必要なスキル |
|---|---|---|
ルーチンタスクを特定する。 | 自動化したいルーチンタスクを特定します。例えば、以下のようなタスクは自動化できる可能性があります。
| DBA |
SQL スクリプトを作成する。 | SQL スクリプトを作成するには、以下を実行します。
| DBA |
アクセス許可を設定する。 | アクセス許可を設定するには、以下を実行します。
| DBA |
| タスク | 説明 | 必要なスキル |
|---|---|---|
バッチファイルを作成する。 |
| AWS DevOps, DBA |
Task Scheduler でタスクを作成する。 | Task Scheduler でタスクを作成するには、次のステップに従います。
タスクを手動で実行するには、新たに作成したタスクを右クリックし、[実行] を選択します。 | DBA |
タスクのステータスを表示する。 | Task Scheduler でタスクのステータスを表示するには、次のステップに従います。
| DBA、AWS DevOps |
| タスク | 説明 | 必要なスキル |
|---|---|---|
ソリューションを実装する。 | このパターンのソリューションを実装するには、次のステップに従います。
| AWS DevOps、DevOps エンジニア |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
Lambda の問題 | の使用時に発生する可能性のあるエラーや問題のヘルプについては AWS Lambda、 AWS ドキュメントの「Lambda での問題のトラブルシューティング」を参照してください。 |