QGISとAmazon AuroraのPostgreSQL&PostGISを利用してジオデータを表示してみた


![](https://day-journal.com/memo/images/try-066_00.gif)

![](https://day-journal.com/memo/images/try-066_00.png)

### QGISとAmazon AuroraのPostgreSQL&PostGISを利用してジオデータを表示してみました :tada:  

2年くらい前に「[QGISとCloud SQLのPostgreSQL&PostGISを利用してジオデータを表示してみた](https://day-journal.com/memo/try-023)」という記事を書いたのを思い出して、今回は[Amazon Aurora](https://aws.amazon.com/jp/rds/aurora/?aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)でPostgreSQL&PostGISデータベースを構築し[QGIS](http://www.qgis.org/ja/site/)で表示してみました！


<br>

## Amazon Auroraの設定
はじめに、Amazon Auroraでデータベースを作成します。

<br>

AWSコンソールでAmazon RDSに移動し「データベースの作成」をクリックします。次に、標準作成・Amazon Aurora・PostgreSQL・プロビジョニング済み・PostgreSQL 13.3・開発/テストを選択します。
![画像](https://day-journal.com/memo/images/try-066_01.png)

DBクラスタ名・ユーザー名・パスワードを設定します。それ以外はデフォルトに設定。
![画像](https://day-journal.com/memo/images/try-066_02.png)

パブリックアクセスあり・セキュリティグループ新規作成・初期データベース名を設定します。それ以外はデフォルトに設定。本番環境では利用しませんが、パブリックアクセスありにすることでローカルPCから直接アクセス可能となります。
![画像](https://day-journal.com/memo/images/try-066_03.png)

データベースが作成されたらクラスターをクリックします。
![画像](https://day-journal.com/memo/images/try-066_04.png)

ホスト情報で必要になるので、エンドポイントをコピーしておきます。
![画像](https://day-journal.com/memo/images/try-066_05.png)

これでAmazon Auroraの設定は完了になります :thumbsup: 

<br>

## PostGISの設定
次に、PostGISのインストールとGISデータのインポートをします。

<br>

今回は[DBeaver](https://dbeaver.io)を利用しAmazon Auroraに接続します。ホスト名にコピーしたエンドポイントとポート・データベース名・ユーザー名・パスワードを設定します。
![画像](https://day-journal.com/memo/images/try-066_06.png)

Amazon Auroraに接続後、PostGISをインストールします。

```sql
CREATE EXTENSION postgis;
```

インストールされているか確認します。

```sql
SELECT postgis_version();
```

![画像](https://day-journal.com/memo/images/try-066_07.png)

データのインポートについてですが、100万件のポイントデータをインポートしてみました。
インポート方法は、以前の[記事](https://day-journal.com/memo/try-023)ではQGISのDBマネージャーでインポートができましたが、Amazon RDSだと正常にインポートできなかったため、今回は「shp2pgsql」でデータをインポートしました。
![画像](https://day-journal.com/memo/images/try-066_08.png)

これでPostGISの設定は完了になります :thumbsup: 

<br>

## QGISで表示
最後に、QGISでAmazon Auroraに接続しデータを表示します。

<br>

レイヤ → データソースマネジャー
ホスト名にコピーしたエンドポイントとポート・データベース名・ユーザー名・パスワードを設定し、Amazon Auroraに接続します。
![画像](https://day-journal.com/memo/images/try-066_09.png)

インポートしたデータを選択し追加します。
![画像](https://day-journal.com/memo/images/try-066_10.png)

100万件のデータがリアルタイムに表示されているのを確認できます。
![画像](https://day-journal.com/memo/images/try-066_00.gif)

<br>

#### QGISとAmazon AuroraのPostgreSQL&PostGISを利用してジオデータを表示できました :thumbsup: 

QGISとAmazon Auroraを利用することで、ローカルPCからもデータを直接確認することができました。Cloud SQLと同じく、社内等でデータを共有したい場合にうまく利用できそうです！ただ、ローカルでDBを用意するのと違って従量課金がかかってしまうのがデメリットかなと思います。

今後、Amazon RDSのPostgreSQL&PostGISにもトライしてみたいと思います:muscle: 

<br>

やってみたシリーズ :grinning:
<a href="https://day-journal.com/memo/tags/Try" target="_blank">tags - Try</a>
<a href="https://day-journal.com/memo/try-023" target="_blank">QGISとCloud SQLのPostgreSQL&PostGISを利用してジオデータを表示してみた</a>
<a href="https://day-journal.com/memo/try-061" target="_blank">Amazon Location ServiceとLeafletとAWS AmplifyとVue.jsを組み合わせてマップアプリケーションを構築してみた</a>
<a href="https://day-journal.com/memo/try-059" target="_blank">AWS AmplifyとAmplify UI VueとVue.jsでログイン機能を構築してみた</a>
<a href="https://day-journal.com/memo/try-056" target="_blank">Serverless FrameworkでTypeScriptのサーバーレスAPIをAWSにデプロイしてみた</a>

<br>
<br>

<a href="https://dayjournal.booth.pm" target="_blank"><img src="https://day-journal.com/memo/images/etc/book.png" alt="book"></a>