ラベル RDS の投稿を表示しています。 すべての投稿を表示
ラベル RDS の投稿を表示しています。 すべての投稿を表示

2014年12月9日火曜日

第六回 中国地方DB勉強会を開いてきた

第六回も無事終わりました。
第六回はクラウドをテーマに山口で開催されました。
特にAWSのAuroraの話とMySQL5.7の詳しい話を聞けたのは山口が中国地方最速だと思います。
どちらも非常に興味深く、今後のRDBも目が離せないと感じましたね。
本当に色々とご協力していただいた講師やスタッフの皆様、ありがとうございました。
そしてそんな第六回の詳細は次のとおりです。

■登壇資料など
中国地方DB勉強会のポータルサイトにまとめました。

第六回 中国地方DB勉強会


各講師の資料、そして今回はUstream配信をYouTubeに保存しております。
上記のポータルサイトからご参照ください。

■メーリングリスト
次回の告知についてはMLやDoorKeeperを使います。
興味がある方はチェックしてみてください。

中国地方DB勉強会ML Google Group

DoorKeeper


■twitterのまとめ
Twitterについては@eielhさんがまとめてくれています。

第6回 中国地方DB勉強会 in 山口


■動画まとめ

中国地方DB勉強会 YouTube


■第六回のアンケート募集中
当日に参加やUst拝見された方は下記のアンケートに答えてくださると嬉しいです。
次回のコンテンツや今後の運営に活用させて頂きます。

アンケートはこちら
※匿名アンケートです


■第7回 中国地方DB勉強会
日時:2015年1月31日 (土曜日)
時間:13:00-17:00
会場:松江テルサ別館2Fオープンソースラボ

講師予定:

  • PostgreSQL 原田さん
  • MySQL 梶山さん
  • 調整中 玉川さん
  • 未定 山口さん


懇親会:根っこ(松江駅南口)

以上のように考えています。
原田さんにはPostgreSQL9.4の目玉機能のJSONBの話をしていただくと思います。
また梶山さんには山口に引き続き、MySQL5.7の話をしていただくと思います。
なお、懇親会は18:00~20:00で考えています。
交流含めて是非参加をご検討していただけたらと思います。

参考までに翌日から島根では蟹小屋がオープンするそうです。
これは一泊二日の勉強会駆動旅行を発動するしかないですね!!!

また申し込みサイトが出来ましたらMLやDoorKeeperで告知します。
ご興味がある方は上記のMLとDoorKeeperにご登録してみてください!!
12月20日くらいまでには申し込みサイトをお知らせ出来ると思います。

また今回も山口の地元スタッフのお陰で動画に残っています。
是非見てみてください。

とついに山陽を制覇したDB勉強会ですが年明け早々についに山陰進出です!!
特にRubyのお膝元松江市でDBエンジニアの皆様がどんな話をするか大変興味深いですね。
年明け最初のイベントとなりますが次回も皆様とお会いできるのを楽しみにしております。

2014年2月3日月曜日

オープンセミナー2014@広島に行ってきた

年に一回の広島のビックイベントに参加してきました。

■当日のTwitterのまとめ
#osh2014のまとめ

■オープンセミナー2014@広島の公式サイト
オープンセミナー広島のサイト

■テーマ
「TDD…そして Be Agile」

今年も参加してきました。
去年は実行委員長として開催側でしたが今年は副委員長として一歩後ろから応援してました。
また久々にオープンセミナーで登壇してお話させていただきました。
当日の発表資料はこちらです。




資料の中で紹介したリンク先

AWSのPostgreSQL(RDS)を使えるようになるまでの手順

Webアプリケーションを作るときに知ってると嬉しいPostgreSQLの使い方

1 発表者として

アジャイル、TDDをテーマにしてる中で自分だけ全く違う内容でした。
また事前アンケートでは自分のセッションが参加理由の人はいませんでした。
なので今回の内容としてはDBのことを知らない人向けです。
DB大好きな人からするとあんまり魅力を感じない内容かと思います。
ですが全くニーズが無い場所こそ、DB(データの大切さ)を伝える必要があると考えています。
何故ならばデスマの技術的なボトルネックはコードではなくDBが一番多いと思ってるからです。
「私はDB担当じゃないから」とか「DBってストレージの代わりでしょ?」って人にこそ RDS for PostgreSQL ですぐ始めれるのでチャレンジしてほしいなと思います。

とそんな考えで登壇させていただきました。
ただ聴衆の皆様にどれだけ内容が伝わったかわかりません。
また登壇のやり方も正しかったかわかりません。
というわけで聴衆の方はぜひぜひフィードバックをよろしくお願いします。
厳しいお言葉こそ次の課題だと思います。
小さなことでもご意見ご感想をいただけたらと思います。

オープンセミナー広島のアンケート


2 運営スタッフとして

今年は火村さんが実行委員長でした。
その火村さんから副実行委員長として指名されて補佐を務めさせていただきました。
結論からいうと火村さんが素晴らしい活躍を見せ、僕の仕事はほとんどなかったと思います。
また彼はこの一年、沢山のアウトプットと人柄で多くのエンジニアから愛される存在になりました。
これは僕が去年、彼を実行委員長に指名した際の

「ひむひむはもっと評価されるべき」

という狙いを予想を遥かに上回る結果で達成したかなと思っています。
イベントとしてもこれだけの人を集め、問題もなく終えたのは大切な実績になったと思います。
本当に良いイベントだったなぁと贔屓目無しで感じる一日でした。
もう総括すると #ひむひむマジひむひむ コレに集約されるかなと思います。


3 参加者として

本当に含蓄のあるセッションばかりで非常に充実したものでした。
どのセッションも面白く、珍しくセミナー中にコーディングする暇がないくらい聞き入ってました。
その中でも特に自分の心に響いたのは長沢さんのセッション。
大切だなっと感じたこと列挙すると













そして他の人のツイートを拝借すると






ざっくり自分なりにまとめます。


  1. 継続的に成長できる会社文化がないと売上は伸びない
  2. でもそれって会社の人材の能力と文化に依存する
  3. だからこそ高いモチベを維持できる環境と能力を発揮できる環境が必要
  4. そのために政治力を含めて自分になにができるか?

つまりは



ですよね。
と以上を踏まえた上で自分が会社で


  • 出来てること
  • 出来る事
  • やりたいこと


を振り返ってより良い環境つくりを提案・実践していかなきゃと感じました。



と言う感じで非常に有意義な一日でした。
また懇親会ではLTも盛り上がり、Shake Handsさんの魅力と相乗効果で楽しかったです。
やっぱり懇親会での交流は大切ですね。


ということで何度も言いますが最高の一日でした。
来年がどんなイベントになるか今から楽しみですし絶対参加します。
このblogを読まれてる皆様、来年も(は?)会場で会いましょう!!!


※和田さんがオススメしてる本でAmazonで手に入るオススメ本

2014年1月22日水曜日

AWSのPostgreSQL(RDS)を使えるようになるまでの手順



ついにAmazon RDS for PostgreSQLがサポートされました。
今日は各項目をしっかり説明しつつ、実際に使いはじめるまでをまとめてみます。



1 RDSの説明

AWSのアカウントの作成はこちら

またAWS自体初めての方もいると思いますので参考になる情報は次のとおりです。

■ドットインストール
Amazon Web Services入門

■AWSのまとめ記事
2014年からはじめるAWSリンク集←オススメ!

AWSクラウドデザインパターン

■参考図書




■Amazon RDS for PostgreSQLの説明
Amazon RDS と PostgreSQL の概要(PDF)

RDS for PostgreSQLの中を覗いてみた

■PostgreSQLが初めてのかたはこちら
これからPostgreSQLを始める人のための自習用オンライン無料コンテンツ

セミナー資料 - SRA OSS, Inc. 日本支社

ドットインストールは特に分かりやすいのでオススメです。
2014年からはじめるAWSリンク集は非常に丁寧にまとまってますのでこちらもオススメです。
Amazon RDS と PostgreSQL の概要(PDF)にはRDSの詳細の設定項目の説明があります。
詳しく知りたい方はこちらを確認ください。

ということでAWSの知識は上記のリンク先で補充していただき、本題のRDSの作り方です。



2 RDSの作成

アカウントを作成したらログインしてマネジメントコンソールにアクセスします。
作成方法は前述のAmazon RDS と PostgreSQL の概要(PDF)にも書いてあります。
今回は新規アカウント作成した際に付いてくる1年間の無料枠に収まるように設定してみます。

無料枠の説明(公式ドキュメント)

マネジメントコンソールはこちら


まずはEC2のメニュー画面に移動します。



ここでドットインストールにもありますがRDS用のセキュリティグループを作ります。
セキュリティグループはファイアーウォールに用にアクセスするルールを指定できます。
デフォルトでは全て無効になっていますので任意のポートを開けます。


さらにポートを指定します。
※PostgreSQLのデフォルトのポートは5432です
例ではSource(接続元)は全て許可(0.0.0.0/0)になっています。
実際の環境はアプリケーションや開発環境に応じて適切に設定してください。
※このままだと接続先のアカウントとパスワードを知ってる人は誰でもアクセス出来ます



これでセキュリティグループにルールが追加されました。
問題なければ登録します。


これでRDSの下準備は終わりです。
いよいよRDSを作成しましょう。


RDSの画面に移動します。




Launch a DB Instanceを選択して新規作成します。



データベースはPostgreSQLを選択します。


Multi-AZとProvisioned IOPS を利用の有無を選択
Multi-AZの説明については

Amazon公式ドキュメント

または

Amazon RDS と PostgreSQL の概要(PDF)

の14ページに書いてあります。
ここでの選択は次の画面でのデフォルト表示を指定するだけです。


インスタンスの詳細設定です。

License Model:
DBのラインセンスです。
postgresql-licenseしか選べません。
ですがpostgresql-licenseはBSDライセンスベースです。
AWSの場合は特に気にする必要ありません。
詳細は原文をご確認ください。

The PostgreSQL Licence(英語)

DB Engine Version:
DBエンジンのバージョンです。
PostgreSQLのバージョンは現在は9.3.1と9.3.2が選べます。
環境に合わせてお使いください。
例では新しい9.3.2を選択しています。

DB Instance Class:
作成するRDSインスタンスのスペックを選択します。
構成については

Amazon RDS と PostgreSQL の概要(PDF)

の18ページに書いてあります。
価格表についてはAmazonの公式ドキュメントを参考にしてください。

Multi-AZ Deployment:
冗長化構成を取るMulti-AZを有効にするかどうかを指定します。
有効にすると自動でフェイルオーバーしてくれます。
概要はこちらのブログがわかりやすいです。


本手順では、無料枠で収めるためにNo(無効)としています。

Auto Minor Version Upgrade:
DBのマイナーバージョンアップの自動適用の有無です。
マイナーバージョンアップなのでセキュリティやバグフィックスが大半です。
基本的に上げましょう。
ですが停止を伴うためMulti-AZを利用していない場合はServiceが停止します。
今回はテストなのでYes(自動適用)にしています。
Multi-AZは利用していないのでこの構成のままだとServiceが停止する可能性があります。
詳しい注意点については下記のブログがわかりやすです。

【AWS】お知らせ:2013年11月のRDS自動マイナーバージョンアップグレードに際して注意することをまとめました

Allocated Storage:
DBインスタンスに割当てるディスク容量を記入します。
例では最小の5ギガを指定しました。

Use Provisioned IOPS:
IOPSの値を指定できます。
IOPSは一秒間のinputとoutputの回数です。
デフォルトは1000までです。
指定すると指定の値までスケールアウトします。
例では無料枠で収まるようにOFF(無効)としています。

DB Instance Identifier:
AWS上でのDBインスタンスです。
お好きにどうぞ。

Master Username:
DBにアクセスする際のユーザー名です。
こちらも任意で付けてください。
下記のMaster Usernameはhoge-userとなっていますが登録に-使えませんでした
実際の登録はhoge_userとしています。

Master Password:
DBにアクセスする際のパスワードをです。
こちらも任意ですが8文字以上とする必要があります。


次は詳細画面2です。

Database Name:
DB名です。
任意で付けてください。
またここでも-は使えません

Database Port:
アクセスするポート番号です。
ポートは事前に作ったセキュリティグループと合わせてください。
例ではPostgreSQLのデフォルトの5432を指定しています。

Choose a VPC:
RDSインスタンスをどのVPC内に作成するかを指定します。

DB Subnet Group:
どのDB Subnet Groupに作成するかを指定します。
VPC内に1つしかない場合は自動的に指定された状態となります。

これらはAWS上でのセキュリティにかかる部分です。
詳細は公式ドキュメントを参照ください。

Publicly Accessible:
有効にするとDBにVPCの外から直接アクセス出来るようになります。
Noの場合は同VPC上のECなどからアクセス出来ます。
仮にNoの状態で外からアクセスするには同VPC上に踏み台を用意する必要があります。

Availability Zone:
どのAvailability Zoneに作成するかを指定します。
Multi-AZのAZはAvailability Zoneのことです。
指定しなかった場合、任意のZoneに作成されます。
リージョンとアベイラビリティーゾーンの説明の公式ドキュメントはこちらです。
例では特に指定していません。

Option Group:
DBの設定オプションを選べます。
自分で作成していない場合はデフォルトが作成されます。
カスタムしたい場合はRDSの設定画面でOption Groupを作成してください。
OracleやMySQLの時に利用できす。
つまりPostgreSQLは現在(平成26年1月22日)ではOption Groupの設定がありません。
したがってデフォルトのOption Groupを使って問題ありません。

Parameter Group:
DBのチューニング時に設定するパラメータのことです。
こちらも自分で作成していない場合はデフォルトが作成されます。
事前に定義しておいたParameter Groupを指定することで、初期設定を変更できます。
PostgreSQLのパラメータはpostgres.confで設定するような
  • autovacuum
  • checkpoint_timeout
などが設定できます。
チューニングが必要な際はご検討ください。
デフォルト値については前述のとおり、Nagayasuさんが

RDS for PostgreSQLの中を覗いてみた

で調査されてGithubに記載されてます。

postgresql.conf @ RDS for PostgreSQL

ただし、調査日が2013年11月16日なので最新情報が知りたい方は

SELECT name,setting,unit FROM pg_settings;

をSQLで実行して確認してみてください。
今回はデフォルトのままとしています。

VPC Security Group(s):
最初に下準備として作成したセキュリティグループです。
アクセスするポートは5432を指定したので例では作成したPostgreSQLを指定します。



次はバックアップとメンテナンスの設定です。

Enabled Automatic Backups:
自動バックアップの設定でYesで有効です。
有効にすると

1 日 1 回の RDS インスタンスのスナップショット + その日の差分情報

がバックアップされます。
ただし差分は5分置きなのです。
なのでリストアの最新の復元期間は最大で現時刻の5分前です。

Backup Retention Period:
バックアップの保持期間です。

Backup Window:
スナップショットのバックアップを取得するタイミングを指定します。
No Preferenceとすると任意のタイミングで取得されます。
ただし取得時には数分無応答となる可能性があります。
停止時間を把握するため実運用ではアクセスの時間帯に指定しましょう。
Multi-AZを有効にしている場合はこの問題は発生しません。
(スレーブ側からバックアップを取得するため)

Maintenance Window:
AWSの運営がRDSへのメンテナンスする時間を指定できます。
こちらもNo Preferenceとすると任意のタイミングでメンテナンスを実行されます。
パッチを当てる場合など、再起動を伴う可能性があります。
停止時間はメンテナンス内容によって様々です。
ただしこちらもMulti-AZを有効にしている場合はスレーブと切り替えながら行ってくれます。
(ダウンタイムは少なくなるがマスターの切り替えの時間の停止時間は発生する)

これらの詳細は

Amazon RDS と PostgreSQL の概要(PDF)

の20ページから書いてあります。


確認画面です。
問題なければLaunch DB Instance !!


完了すると


と表示されます。
これでRDSの作成は完了です。
Closeをbuttonを押してもそのままウインドウを閉じても問題ありません。
それでは実際に接続してみましょう。
※ただしRDSのInstanceは作成してから起動するまでに時間がかかります。



3 RDSへの接続

やっと待ちにまった接続です。
ネットで検索するとみなさんCUIからpsqlを叩いています。
実際にはGUIで使いたいですよね?
今回の接続方法はGUIツールとしてpgAdmin Ⅲ(以下 pgadmin3)を使います。

■pgadmin3

Windows版

MacOS版

今回は現時点(平成26年1月22日現在)の最新版の1.18.1を使います。

まずはインストール。
インストールについてはバージョンが違いますがこちらがわかりやすくまとめてあります。

※Windows版です
PostgreSQL 9.2にクライアントから接続する pgAdminのインストール設定

基本的にはインストール‐ウィザードにしたがって進んでください。
インストール終わったらまずはAWSのマネジメントコンソールでRDSの管理画面にアクセスします。
そしてInstanceのメニューを開き、接続先を確認します。
※IPアドレスは変わる可能性があるのでエンドポイント名で接続します



接続先を確認したらpgadmin3を起動させます。
接続先の新規追加を行います。
※補足ですが1.18からSSLトンネルできるようになってます


pgadmin3は設定時に一旦接続確認を行います。
設定で弾かれる場合はRDSの設定やセキュリティグループを確認してみてください。
無事接続先が増えた場合は接続できています。


無事な中身が見えました。
これでRDSの簡単な管理はpgadmin3上で出来るようになりました。
またpgadmin3はPostgreSQL専用ツールなだけあって他にも色んな機能があります。
PostgreSQLの高機能な部分を余すこと無くサポートしていますので是非お試しください。
時間がある時に調べてみると便利な発見があると思いますよ。

公式ドキュメント(英語)

GUIでデータベースを簡単にいじれるpgAdminとっても便利ですね

WindowsでPostgreSQLを使ってみよう


それではRDS for PostgreSQLライフをお楽しみにください!!