SQL Server on EC2でインスタンス作成時のハマりポイントまとめ

AWS

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンニチハ。千葉です。

みなさんAWSでSQL Serverをご利用中でしょうか。

私は、SQL Server on EC2でインスタンスを作成するときハマったので皆さんが幸せになれるようにログを残しておきます。 入門的な内容となりますが、お役に立てたら幸いです。

それでは、私がハマったポイントをご紹介です。

ハマリポイント集

AWSでSQL Serverを利用するときに方法がいくつかある!

これは、基本的な話となりますがAWSでSQL Serverを利用する方法は3パターンあります。

  • RDS for SQL Serverを利用する
  • SQL Serverのラインセンス込みのAMIからEC2を作成する(インスタンスを起動すると、SQL Serverがインストールされた状態であり即利用が可能)
  • EC2を作成して、ライセンスはBYOL(自分でSQL Serverをインストールする必要がある)

運用コストを考えるとやはりRDS一択になると思いますが、残念ながらSQL ServerのMulti-AZ構成は東京リージョンでサポートされていません。 そのため、Multi-AZ構成を自前で構築するためにSQL Server on EC2を選択したり、EC2でBYOLを選択する場合もあります。

ライセンス体系の詳細については、弊社ブログにもエントリーがありますのでご参照ください。

利用するAMIは日本語に!

通常のルートからSQL Serverインスタンスを作成すると英語のAMIが選択されてしまいます。 日本語版のAMIが存在しますので、こちらを選択するのがいいでしょう。

日本語AMIは、コミュニティから検索し選択します。注意ポイントとしては、「provided by Amazon」となっていることを確認しましょう。この表記があれば、Amazon公式のAMIになります。

sql-server-on-ec2-1

SQL Serverへの接続はSQL Server Management Studio (SSMS)を利用する!

私がかなりSQL Serverに暗いので、どうやってデータベースに接続するか初め戸惑いました。SQL ServerへはSSMSにて接続します。

まずは、SSMSを起動します。

sql-server-on-ec2-3

sql-server-on-ec2-4

接続をクリックします。

sql-server-on-ec2-5

これで、SQL Serverへ接続できました。

データベースを作成してみる!

こちらも基本的な操作だと思うのですが、データベースの作成方法を残しておきます。

今回ユーザーデータベースはDドライブへ保存することを想定して、データファイルの格納場所はDドライブへ変更します。

(因みにシステムデータベースはデフォルトでCドライブに作成されています)

データベースを右クリックし、新しいデータベースを選択します。

sql-server-on-ec2-9

データベース名を入力し、パスには任意の場所を選びます。今回は、ユーザーデータベースをDドライブに配置するようにしています。(指定するフォルダは事前に作成しておく必要があります)

sql-server-on-ec2-10

以上でデータベースが作成できました。

sql-server-on-ec2-11

ユーザーを作成してみる!

これまた基本的な操作だと思うのですが、ユーザーの作成方法を残しておきます。

ログインを右クリックし、新しいログインを選択します。

sql-server-on-ec2-12

ログイン名、SQL Server認証を選択し、パスワードを入力します。既定のデータベースには先ほど作成したTESTを選択します。

sql-server-on-ec2-13

ユーザーマッピングを設定します。設定したらOKをクリックします。

sql-server-on-ec2-14

ユーザーが作成されました。

sql-server-on-ec2-15

作成したユーザーでODBCから接続できない!

これはハマりました。接続できなかった原因は、デフォルトのログインはWindows認証のみ許可となっているためです。

設定で、SQL Server認証も許可するように変更します。これで、ODBCやJDBCからアクセス可能となります。

インスタンスを右クリックし、プロパティを選択します。

sql-server-on-ec2-6e size-medium wp-image-170011" />

セキュリティより、SQL Server認証モードとWindows認証モードを選択し、OKをクリックします。

sql-server-on-ec2-7

再起動しないと反映されないため、再起動します。(私はOSごと再起動しました)

sql-server-on-ec2-8

今度はWindows認証ではなく、SQL Server認証で先ほど作成したユーザーにてログインしてみます。

無事ログインできるはずです。

sql-server-on-ec2-16

さいごに

SQL Serverの入門的位置づけとなりました。お役に立てたら幸いです。