Amazon Web Services での PSQL 使用の手引き...AWS では IP アドレスと連動して MAC...

Preview:

Citation preview

Amazon Web Services での PSQL 使用の手引き

株式会社エージーテック

2012年 9月 27日

2

免責事項

株式会社エージーテックは本書の使用を、利用者またはその会社に対して「現状のまま」でのみ許諾する

ものです。株式会社エージーテックは、いかなる場合にも本書に記載された内容に関するその他の一切の

保証を、明示的にも黙示的にも行いません。本書の内容は予告なく変更される場合があります。

商標

© Copyright 2012 AG-TECH Corp. All rights reserved. 本書の全文、一部に関わりなく複製、複写、配

布をすることは、前もって発行者の書面による同意がない限り禁止します。

Amazon Web Services で PSQL の使用手引き

最終更新:2012 年 9 月 27 日

3

目次

はじめに 4

Amazon Web Services について 5

PSQL のクラウド対応 6

PSQL Vx Server 11 を使用するための AWS 設定の留意点 7

PSQL Vx Server 11 を使用するための AWS 設定の概要 8

Amazon VPC を設定 9

Amazon EC2 を設定 25

リモートデスクトップ接続を設定 49

PSQL Vx Server 11 をセットアップ 50

社内クライアントからの接続(Btrieve API) 51

社内クライアントからの接続(Pervasive Control Center) 52

社内クライアントからの接続(SQLを使用するプログラム) 55

社内クライアントからの接続(Monitor) 59

接続テスト 60

Pervasive PSQL をインターネット経由で使用時の注意点 63

まとめ 64

4

はじめに

本書は、Amazon Web Services 上で PSQL 製品をご利用いただくための注意点および

手順についてご説明いたします。

他のクラウドサービスをご検討のお客様も、参考にしていただけます。

クラウド環境で Pervasive PSQL のご利用を検討する際の、手助けになれば幸いです。

5

Amazon Web Services について

Amazon Web Services は、クラウド環境を構築するためのインフラで、使用したリソ

ース毎に課金されるのが特徴です。

また、次のような特徴があります。

・初期費用は必要なく、初年度は無料利用枠があることから、低予算で使用開始が可

能です。

・予め OS やソフトウエアがインストールされたディスクイメージが用意されてい

る・ので、直ぐに実行することが可能です。

・リモートデスクトップ接続で直接操作が可能なので、カスタマイズが自由にできま

す。

・CPU 能力(クロック、コア数)や メモリを簡単に変更可能です。

・VPN 接続を使用することで社内の LAN とシームレスに接続できます。

6

PSQL のクラウド対応

新たに ラインナップされた PSQL Vx Server 11 は、クラウド環境での使用を考慮し

たライセンスを提供し、クラウド環境で安心して使用可能です。

PSQL Vx Server 11 の特徴は、データ量およびセッション数でライセンスが管理され

ることです。

アプリケーションの形態を意識せず、シンプルなライセンス形態といえます。

使用者を特定せず第三者へのサービス提供に使用可能でショッピングサイトの構築や

エンドユーザー様へのサービス提供にもご利用いただけます。

7

PSQL Vx Server 11 を使用するための AWS 設定の留意点

AWS は、インスタンスを停止(OS シャットダウン)し、再実行する場合にデフォルト

で IP アドレス、MAC アドレス、マシン名が変動します。

これは、PSQL Vx Server 11 の認証機能に影響し、PSQL Vx Server 11 起動時に認証

失敗となります。

AWS では IP アドレスと連動して MAC アドレス、マシン名が設定されることから、こ

の問題は IP アドレスを固定化することで解決可能です。

具体的には、Amazon VPC を設定し IP アドレスを固定化します。

合わせてセキュリティ設定を行い、PSQL Vx Server 11 が使用するポートを使えるよ

うにします。

8

PSQL Vx Server 11 を使用するための AWS 設定の概要

PSQL Vx Server 11 を AWS で使用するには、次の項目を順次設定します。

1.Amazon VPC を設定

2.Amazon EC2 を設定

3.リモートデスクトップ接続を設定

4.PSQL Vx Server 11 をセットアップ

9

Amazon VPC を設定

Amazon Management Console を使用して、Amazon VPC を設定します。

例として、シンプルなパブリック サブネットの設定手順をご紹介します。

[Continue]をクリック

10

[Create VPC]をクリック

11

[Close]をクリック

12

[Your VPCs]をクリック

13

作成された VPC が表示されます。

(画面では、既存の VPC に新規に作成された vpc-50863c39 が追加されています)

[Security Groups]をクリックします。

14

[Create Security Group]をクリック

15

[Name]に Security Group を識別する名前を入力します。

[Description]に コメントを入力します。

[VPC]に表示される VPC ID を選択します。

[Yes、Create]をクリックします。

16

Security Group に作成した名前(gr1)が表示されます。

17

[Inbound]タブをクリックします。

18

[Create a new rule]から 「RDP」を選択します。

これは、リモートデスクトップ接続で必要となるポートを許可するためです。

[Source]には、AWS に接続するクライアントの IP アドレス(グローバルアドレス)

を設定します。例えば、100.100.100.0 ~ 100.100.100.256 までの IP アドレスを使

用する場合、100.100.100.0/24 を設定します。

デフォルトの 0.0.0.0/0 は全ての IP アドレスから受信を許可する設定となります。

[Add Rule]をクリックします。

19

追加した設定が右側に表示されます。

20

[Create a new rule]から 「Custom TCP rule」を選択します。

[Port range]に 1583 を入力します。

これは、PSQL v11 リレーショナルエンジン(SQL)が使用するポートを許可するため

です。

[Source]には、AWS に接続するクライアントの IP アドレス(グローバルアドレス)

を設定します。例えば、100.100.100.0 ~ 100.100.100.256 までの IP アドレスから

接続する場合、100.100.100.0/24 を設定します。

デフォルトの 0.0.0.0/0 は全ての IP アドレスから受信を許可する設定となります。

[Add Rule]をクリックします。

21

追加した設定が右側に表示されます。

22

[Create a new rule]から 「Custom TCP rule」を選択します。

[Port range]に 3351 を入力します。

これは、PSQL v11 トランザクショナルエンジン(Btrieve API)が使用するポートを

許可するためです。

[Source]には、AWS に接続するクライアントの IP アドレス(グローバルアドレス)

を設定します。例えば、100.100.100.0 ~ 100.100.100.255 までの IP アドレスを使

用する場合、100.100.100.0/24 を設定します。

デフォルトの 0.0.0.0/0 は全ての IP アドレスから受信を許可する設定となります。

[Add Rule]をクリックします。

23

追加した設定が右側に表示されます。

24

設定を保存するため、[Apply Rule Changes]をクリックします。

Amazon EC2 でインスタンスの設定を行う際、Amazon VPC で設定した VPC を指定する

ことで、IP アドレス、MAC アドレス、マシン名が固定化されます。

25

Amazon EC2 を設定

AmazonEC2 を設定し、インスタンスタイプやブートイメージを選択します。

ブートイメージは予め用意されているものから選択することで、OS のインストール不

要で設定後すぐに使用できます。

インスタンスタイプは、OS シャットダウン後変更が可能です。

初めから必要なリソース(CPU コア数、クロック、メモリ容量)の最大値で設定する

必要は無く、まずは最低限のリソースで設定することができます。

ブートイメージには、instance-storeで起動するものと、EBS ボリュームで起動する

ものがあります。

instance-storeで起動するものは、OS をシャットダウンすると、ディスク内容が破棄

されます。

EBS ボリュームで起動するものは、OS をシャットダウンすると「stop」状態となり、

ディスクの内容は保持されます。

[terminate]状態にすると、ディスク内容は破棄されます。

例として、OS がインストール済みで EBS ボリュームから起動するイメージ(Amazon

Machine Image)からインスタンスを設定する手順をご紹介します。

26

Management Console を開き、[EC2]タブを表示します。

画面は、既存のインスタンスが表示されている状態です。

[Launch Instance]をクリックします。

27

[Continue]をクリックします。

28

「Microsoft Windows Server 2008 R2 Base」の[Select]をクリックします。

29

「Instance Type」は small を選択します。

「Instance Type」は、インスタンス生成後に変更可能です。

[Launch Instances]を選び、[VPC]タブを選択します。

[Continue]をクリックします。

30

[Continue]をクリック

31

Value にインスタンス名を入力し、[Continue]をクリックします。

32

「Enter a name for your key pair」にキーペアの名前を任意の文字列で入力します。

[Create & Download your Key Pair]をクリックします。

キー情報をダウンロードして保存します。Administrator のパスワード取得の際に使

用します。

33

Amazon VPC の設定で既にセキュリティグループを作成していますから、「Choose one or

more of your existing Security Groups」を選択します。

34

Amazon VPC 設定時に作成したセキュリティグループを選択し、[Continue]をクリッ

クします。

35

設定内容を確認し、[Launch]をクリックします。

36

これでインスタンスが作成され、OS が起動されました。

[Close]をクリックします。

37

State が「running」と表示されます。

38

追加したインスタンス(画面では「AWS and PSQL Vx Server TEST」)上で右クリック

し、表示されたメニューから「Get Windows Password」を実行します。

39

「Not available yet」と表示されたら、OS の起動が完了していないので、[Close]

をクリック後しばらくしてから、「Get Windows Password」を実行します。

40

保存したキーペアファイルをメモ帳で開き、全て選択して「Private Key」にコピー &

ペーストします。

41

[Decrypt Password]がアクティブにならない場合、「Private Key」の最後で改行し

てください。

「Private Key」をクリックします。

42

Administrator のパスワードが表示されますので、覚えておきます。

[Close]をクリックします。

43

[Elastic IPs]をクリックし、右側に表示される画面の[Allocate New Addresses]

をクリックします。

44

[Yes, Allocate]をクリックします。

45

グローバルな IP アドレスが割り当てられます。(画面では 54.249.9.6)

46

割り当てられた IP アドレスの行を選択し、[Associate Addresses]をクリックしま

す。

47

Instance から 作成したインスタンス名を選択し、[Yes, Associate]をクリック

48

これで外部からアクセスするための IP アドレスが設定されました。

49

リモートデスクトップ接続を設定

AWS のインスタンスには、リモートデスクトップ接続を行ってメンテナンスします。

PSQL Vx Server のインストールもリモートデスクトップ接続で行います。

コンピューター名には、[Elastic IPs]で設定した IP アドレスを入力します。

ユーザー名は「Administrator」をパスワードには、「Get Windows Password」で取得

したパスワードを入力します。

50

PSQL Vx Server 11 をセットアップ

インストールイメージは、リモートデスクトップ接続の機能を使用してサーバーにコ

ピーします。

具体的には、エクスプローラーからインストールイメージファイルをコピーし、リモ

ートデスクトップで接続したサーバー上に貼り付けます。

インストーラーの実行は、直接サーバー上でインストールを行う時の手順で行います。

Amazon EC2 環境は、インターネット接続が可能で Pervasive 社の認証サーバーにア

クセスできます。

インストールの最後に表示される[InstallShield ウィザードを完了しました]ダイ

アログ ボックスで、“今すぐ認証”のチェックをしたままで[次へ]ボタンをクリッ

クし、[PSQL 認証]ダイアログ ボックスで製品キーを入力して[認証]ボタンをクリ

ックすることで、認証を行えます。

51

社内クライアントからの接続(Btrieve API)

社内のクライアントから Btrieve API(トランザクショナルインタフェース) で接続を

行う場合、ファイルパスはデータベース URI 形式で指定します。

例:

btrv://ユーザー ID@IP アドレス/データベース名?table=テーブル名&pwd=パスワー

この例では、サーバー上で有効なユーザー ID とパスワードを指定します。

データベースとして登録せずに使用することもできます。

データベース URI の書式は、次のマニュアルを参照してください。

http://www.agtech.co.jp/html/v11manuals/11.20/prog_gde/prog_gde-04-07.html

52

社内クライアントからの接続(Pervasive Control Center)

社内クライアントから Pervasive Control Centerで接続を行う場合、左ペインのツリ

ーから「エンジン」を右クリックし、[新規作成]→[サーバー]の順にクリックしま

す。

53

サーバー名には[Elastic IPs]で設定した IP アドレスを入力します。

左ペインのツリーに、マシンが追加されます。

54

マシン名をダブルクリックしてツリーを展開します。

ログインダイアログが表示されたら、管理者権限を持っているアカウントを入力しま

す。

55

社内クライアントからの接続(SQL を使用するプログラム)

SQL で Pervasive PSQL を使用するプログラムは、次のインタフェースから使用可能で

す。

・ODBC

・OLE DB

・JDBC

それぞれ、次のような指定を行います。

ODBC

ODBC データソースを設定し、プログラムから指定します。

ODBC を設定する際、サーバー名/IP には[Elastic IPs]で設定した IP アドレス

を入力します。

[リストの取得]ボタンでサーバー上に設定されているデータベース情報を取得し

てリストボックスから選択します。

56

OLE DB

接続文字列を次のように設定します。

"Provider=PervasiveOLEDB;Data Source=データソース名;Location=サーバーの IP

アドレス"

例:

Dim con As New ADODB.Connection

Dim rstH As New ADODB.Recordset

Dim sConStr As String

con.Open "Provider=PervasiveOLEDB;Data Source=demodata; Location=54.249.9.6"

If con.State <> adStateOpen Then

Set con = Nothing

Set rstH = Nothing

MsgBox "could not connect"

End

End If

rstH.Open "select * from room", con, , , adCmdText

rstH.MoveFirst

Do

Debug.Print rstH!Building_Name

rstH.MoveNext

Loop Until rstH.EOF

rstH.Close

con.Close

Set rstH = Nothing

Set con = Nothing

MsgBox "Done"

57

JDBC

接続文字列を次のように設定します。

"jdbc:pervasive://サーバーの IPアドレス:1583/データベース名"

例:

<%@ page import="java.sql.*" %>

<%@ page import="java.util.*" %>

<%

Class.forName("com.pervasive.jdbc.v2.Driver");

Connection con =

DriverManager.getConnection("jdbc:pervasive://54.249.9.6:1583/DEMODATA");

PreparedStatement stmt = con.prepareStatement("SELECT * FROM Course ORDER BY

Name");

ResultSet rs = stmt.executeQuery();

%>

<html>

<head>

<title>Pervasive PSQL JSP Sample</title>

</head>

<body>

<h1>Pervasive PSQL JSP Sample</h1>

<h2>Course table in DEMODATA database</h2>

<p>

この例は、Pervasive PSQL データベースにある DEMODATA データ

ベースの Course テーブルを開き、そのテーブルの内容を表示します

</p>

<table border=1 cellpadding=5>

<tr>

<th>Name</th>

<th>Description</th>

<th>Credit Hours</th>

<th>Department Name</th>

58

</tr>

<% while(rs.next()) { %>

<tr>

<td><%= rs.getString("Name") %></td>

<td><%= rs.getString("Description") %></td>

<td><%= rs.getString("Credit_Hours") %></td>

<td><%= rs.getString("Dept_Name") %></td>

</tr>

<% } %>

</table>

</body>

</html>

59

社内クライアントからの接続(Monitor)

社内クライアントから Monitor ユーティリティで接続を行う場合、[オプション]→

[接続]を実行します。

「リモート サーバーに接続」ダイアログが表示されるので、サーバー名には[Elastic

IPs]で設定した IP アドレスを入力します。

ユーザー名およびパスワードは、管理者権限を持っているアカウントを設定します。

60

接続テスト

接続テストは、Pervasive System Analyzer を使用して行いますが、データベース URI

形式でファイルパスを指定できないため、「トランザクショナル エンジンをテストす

る」は実行できません。

「トランザクショナル エンジンをテストする」は、後述の Function Executer を使用

した手順でテストを行ないます。

Pervasive System Analyzer では、「ネットワーク通信をテストする」と「リレーショ

ナル エンジンをテストする」を実行します。

61

ネットワーク通信テストでターゲット マシンには、[Elastic IPs]で設定した IP ア

ドレスを入力します。

リレーショナル エンジン テストでターゲット マシンには、[Elastic IPs]で設定し

た IP アドレスを入力します。

62

トランザクショナル エンジンのテストは、Function Executer を使用して行います。

ファイル名には、URI 形式で直接入力します。

(btrv://ユーザー ID@IP アドレス/データベース名?table=テーブル名&pwd=パスワ

ード)

OPEN ができ、データの参照および更新(Update)が可能な事を確認します。

Function Executer の操作手順は、次のコラムをご覧ください。

<Btrieve API の使い方(レコードの更新)>

http://www.agtech.co.jp/products/pervasive/column/2010/c1005.html

63

Pervasive PSQL をインターネット経由で使用時の注意点

Pervasive PSQL をインターネット経由で使用する際には、次の点を留意する必要があ

ります。

・通信中のデータが盗み見されることを防ぐため、通信データの暗号化をお勧めしま

す。

暗号化については、次のマニュアルをご覧ください。

http://www.agtech.co.jp/html/v11manuals/11.20/advops/advops-07-7.html

・LAN 環境で使用する場合と比べ、通信に要する時間が長くなります。Btrieve API 使

用する場合、Extended オペレーションを使用し、通信回数を少なくします。

・ご使用の環境によっては、ファイアウォールでポート 1583 および 3351 の使用を許

可する必要があります。

64

まとめ

今後、クラウド環境での運用を希望されるエンドユーザー様が増加すると思われます。

Pervasive PSQL Vx Server なら、クラウド環境での運用を希望されるエンドユーザー

様に安心してお勧めいただけます。

本書では、Amazon Web Services を例にクラウド環境での Pervasive PSQL 製品を使

用するための設定や接続の確認方法をご案内しました。

本書の手順を実行いただくことで、簡単にクラウド環境をお試しいただくことが可能

ですから、クラウド環境への対応準備をすぐにでも行ってはいかがでしょうか。

Recommended