【朗報】Amazon Aurora with PostgreSQL 互換が東京リージョンにやってきました!

大栗です。

Aurora Postgresql互換が東京リージョンにやってきました!

Amazon Aurora with PostgreSQL Compatibility is Available in the Asia Pacific (Tokyo) Region

Auroraの状況

先日はAurora MySQL 2系(MySQL5.7互換)の正式リリースがありましたが、やっとPostgreSQL互換のAuroraが東京に来ました。一般的に使用できるリージョンのAurora対応状況は以下のようになっています。

リージョン MySQL 5.6 MySQL 5.7 PostgreSQL
米国東部 (バージニア北部)
米国東部 (オハイオ)
米国西部 (北カリフォルニア)
米国西部 (オレゴン)
アジアパシフィック (ムンバイ)
アジアパシフィック (ソウル)
アジアパシフィック (シンガポール)
アジアパシフィック (シドニー)
アジアパシフィック (東京) <- New!
カナダ (中部)
EU (フランクフルト)
EU (アイルランド)
EU (ロンドン)
EU (パリ)
南米 (サンパウロ)

使用できるインスタンスクラスは以前と変わらずにdb.r4.large 〜 db.r4.16xlarge となっています。まだPostgreSQL互換にはT2系が無いので検証でもR4系を使用する必要があります。

インスタンスクラス 時間あたりの料金(東京リージョン)
db.r4.large $0.35
db.r4.xlarge $0.70
db.r4.2xlarge $1.40
db.r4.4xlarge $2.80
db.r4.8xlarge $5.60
db.r4.16xlarge $11.20

試してみる

起動する

東京リージョンでRDSのコンソールを開き、DB インスタンスの起動をクリックします。

PostgreSQL 対応の選択肢が増えています。MySQL 5.7互換は古いルックアンドフィールのコンソールでは表示されませんでしたがPostgreSQL互換は古くてもちゃんと表示されます。

以降は、以下のエントリーに沿ってAuroraを起動します。

PostgreSQL 互換 Amazon Auroraが正式リリースされました

確認する

Auroraにログインします。

$ psql -h aurora-postgresql.abcdefghijkl.ap-northeast-1.rds.amazonaws.com -U awsuser -d mydb
Password for user awsuser:
psql (9.6.6, server 9.6.3)
SSL connection (protocol: TLSv1.2, cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

mydb=>

導入済みモジュールを確認してみます。同バージョン(9.6.3)のPostgreSQL for RDSと比較すると以下のモジュールが増えています。pgRoutingは地理空間の経路探索機能を提供してくれるので面白い使い方ができそうです。

  • xml2
  • apgunit
  • apgcc
  • pageinspect
  • pgrouting
  • aurora_stat_utils
mydb=> select * FROM pg_available_extensions;
             name             	 default_version 	 installed_version 	                                                       comment
------------------------------+-----------------+-------------------+---------------------------------------------------------------------------------------------------------------------
 pgstattuple                  	 1.4             	                   	 show tuple-level statistics
 uuid-ossp                    	 1.1             	                   	 generate universally unique identifiers (UUIDs)
 xml2                         	 1.1             	                   	 XPath querying and XSLT
 citext                       	 1.3             	                   	 data type for case-insensitive character strings
 dblink                       	 1.2             	                   	 connect to other PostgreSQL databases from within a database
 isn                          	 1.1             	                   	 data types for international product numbering standards
 dict_int                     	 1.0             	                   	 text search dictionary template for integers
 fuzzystrmatch                	 1.1             	                   	 determine similarities and distance between strings
 ltree                        	 1.1             	                   	 data type for hierarchical tree-like structures
 pltcl                        	 1.0             	                   	 PL/Tcl procedural language
 postgis                      	 2.3.4           	                   	 PostGIS geometry, geography, and raster spatial types and functions
 dict_xsyn                    	 1.0             	                   	 text search dictionary template for extended synonym processing
 apgunit                      	 1.0             	                   	 Extension for unit testing
 pgcrypto                     	 1.3             	                   	 cryptographic functions
 pg_freespacemap              	 1.1             	                   	 examine the free space map (FSM)
 hstore                       	 1.4             	                   	 data type for storing sets of (key, value) pairs
 plv8                         	 1.5.3           	                   	 PL/JavaScript (v8) trusted procedural language
 postgres_fdw                 	 1.0             	                   	 foreign-data wrapper for remote PostgreSQL servers
 postgis_tiger_geocoder       	 2.3.4           	                   	 PostGIS tiger geocoder and reverse geocoder
 unaccent                     	 1.1             	                   	 text search dictionary that removes accents
 chkpass                      	 1.0             	                   	 data type for auto-encrypted passwords
 pgaudit                      	 1.0             	                   	 provides auditing functionality
 address_standardizer_data_us 	 2.3.4           	                   	 Address Standardizer US dataset example
 log_fdw                      	 1.0             	                   	 foreign-data wrapper for Postgres log file access
 test_parser                  	 1.0             	                   	 example of a custom parser for full-text search
 tsearch2                     	 1.0             	                   	 compatibility package for pre-8.3 text search functions
 ip4r                         	 2.0             	                   	
 plpgsql                      	 1.0             	 1.0               	 PL/pgSQL procedural language
 earthdistance                	 1.1             	                   	 calculate great-circle distances on the surface of the Earth
 tsm_system_rows              	 1.0             	                   	 TABLESAMPLE method which accepts number of rows as a limit
 plperl                       	 1.0             	                   	 PL/Perl procedural language
 plcoffee                     	 1.5.3           	                   	 PL/CoffeeScript (v8) trusted procedural language
 pg_visibility                	 1.1             	                   	 examine the visibility map (VM) and page-level visibility info
 address_standardizer         	 2.3.4           	                   	 Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
 hstore_plperl                	 1.0             	                   	 transform between hstore and plperl
 pg_stat_statements           	 1.4             	                   	 track execution statistics of all SQL statements executed
 cube                         	 1.2             	                   	 data type for multidimensional cubes
 apgcc                        	 1.0             	                   	 Extension for checking consistency between heap and index
 tablefunc                    	 1.0             	                   	 functions that manipulate whole tables, including crosstab
 pageinspect                  	 1.5             	                   	 inspect the contents of database pages at a low level
 tsm_system_time              	 1.0             	                   	 TABLESAMPLE method which accepts time in milliseconds as a limit
 intagg                       	 1.1             	                   	 integer aggregator and enumerator (obsolete)
 sslinfo                      	 1.2             	                   	 information about SSL certificates
 plls                         	 1.5.3           	                   	 PL/LiveScript (v8) trusted procedural language
 pgrowlocks                   	 1.2             	                   	 show row-level locking information
 pg_trgm                      	 1.3             	                   	 text similarity measurement and index searching based on trigrams
 btree_gin                    	 1.0             	                   	 support for indexing common datatypes in GIN
 bloom                        	 1.0             	                   	 bloom access method - signature file based index
 pgrouting                    	 2.4.2           	                   	 pgRouting Extension
 pg_buffercache               	 1.2             	                   	 examine the shared buffer cache
 pg_hint_plan                 	 1.1.3           	                   	
 pg_prewarm                   	 1.1             	                   	 prewarm relation data
 aurora_stat_utils            	 1.0             	                   	 Statistics utility functions
 btree_gist                   	 1.2             	                   	 support for indexing common datatypes in GiST
 postgis_topology             	 2.3.4           	                   	 PostGIS topology spatial types and functions
 intarray                     	 1.2             	                   	 functions, operators, and index support for 1-D arrays of integers
(56 rows)

さいごに

re:Invent 2016でPostgreSQL互換のAuroraが発表されて以来ずっと東京に来ることを待ち望んでいた方も多数いらっしゃったと思います。本日ようやくやってきました。既存のPostgreSQL for RDSからも簡単に移行できるので早速検証するのはいかがでしょうか。