Tableau

【手順解説】MacでRedshiftに接続できない時の原因と対処法【Tableau経由】

はじめに

今回は、私(ヨナハ)が実際に業務でトラブったことをシェアしたいと思います。
状況としては、
・リモートデスクトップ(Linux)でRedshiftに接続することはできる。
・Macで「RedshiftをデータソースとするTableauファイル」が開けない。
という感じです。
会社でTableau Server / Onlineを利用するMacユーザーであれば、今後起こり得るトラブルなのでぜひ参考にしてみて下さい。

実行手順およびその結果

①Macでターミナルを開いて以下のコマンドを実行(psqlインストール)
$ brew install postgresql

※既にPostgreSQL(ポストグレエスキューエル)をインストールしている方はこの手順をスキップして下さい。
※この段階でエラーが出る方はHomebrewをインストールして下さい(参考
<解説>
PostgreSQLは通称ポスグレと呼ばれており、SQLを用いたデータベースの一つです。
また、HomebrewはMacでプログラムをインストールしたりするシステムです(雑

②psqlを用いて接続にトライ
$ psql -h (会社によって違う).redshift.amazonaws.com -d (データベース名) -U (接続ユーザー名) -p (ポート名)

<結果>
psql: error: could not connect to server: could not connect to server: Operation timed out
Is the server running on host “(会社によって違う).redshift.amazonaws.com” (接続先IPアドレス) and accepting
TCP/IP connections on port (接続先ポート)?
<解説>
psqlのオプションは以下の通りです。
-h (ホスト名):実行するサーバーのホスト名を指定。
-d (データベース名):接続するデータベースの名前を指定。
-U (接続ユーザー名):指定したユーザー名でデータベースへ接続。
-p (ポート名):サーバーが接続監視を行うポート名を指定。通常4桁。

③telnetでトライ
$ telnet (ホスト名) (ポート名)

<結果>
Trying (接続先IPアドレス)…
telnet: connect to address (接続先IPアドレス): Operation timed out
telnet: Unable to connect to remote host
<解説>
ホストに接続できないとのことなので、どうやら私が以前ホストを書き換えていた可能性が浮上した(全く記憶はないが
応答したIPアドレスがパブリックのものだったので、ドメインの解決に問題があると分かった。

④アドレスに直で繋いでみる
$ psql -h (②とは異なるホスト名) -d (データベース名) -U (接続ユーザー名) -p (ポート名)
→パスワードの要求が出たら入力。

<結果>
Password for user (接続ユーザー名):
psql (サーバー情報とか)
SSL connection (protocol、cipher、bitsの情報とかが色々)
Type “help” for help.
(データベース名)=> psql -h (会社によって違う).redshift.amazonaws.com -d (データベース名) -U (接続ユーザー名) -p (ポート名)
(データベース名)->
<解説>
②と異なり、大元のホスト名を指定して直で接続した。

⑤Redshiftのドメインがどこで解決されているかを調査
$ nslookup -h (会社によって違う).redshift.amazonaws.com

<結果>
Server: (サーバー名)
Address: (IPアドレス情報)
Non-authoritative answer:
(会社によって違う).redshift.amazonaws.com canonical name = (会社によって違う).compute.amazonaws.com.
Name: (会社によって違う).compute.amazonaws.com
<解説>
nslookupを用いてDNS情報を取得した。
→DNSとは「ドメイン(人間がわかりやすい住所)」と「IPアドレス(コンピュータで管理する住所)」の対応表のこと。
調べた結果、Redshiftのドメインがローカルで解決されていることを知った。
→IPアドレスがローカルのものだった。
ここで、hostsを書き換えている説が濃厚となった。

⑥hostsを確認
MacのFinderの検索窓で「hosts」と検索すれば、「hosts」というファイルが見つかるのでそれを開く

<結果>
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
(hosts名) (会社によって違う).compute.amazonaws.com
~
~
~
<解説>
hostsが正しくないことが分かった。
本来であれば最後の行が(hosts名)だけになるはずだからである。

⑦hostsを書き換えてDNSのキャッシュをクリアしpsqlに再接続
hostsの編集:ターミナル版とテキストエディット版
DNSのキャッシュをクリア:$ sudo killall -HUP mDNSResponder
psqlに再接続:$ psql -h (会社によって違う).redshift.amazonaws.com -d (データベース名) -U (接続ユーザー名) -p (ポート名)
(psqlは②と同じ)

<結果>
Last login: (日付と時間)
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
$ sudo killall -HUP mDNSResponder
Password:
$ psql h (会社によって違う).redshift.amazonaws.com -d (データベース名) -U (接続ユーザー名) -p (ポート名)
Password for user exture:
psql (12.2, server 8.0.2)
SSL connection (protocol、cipher、bitsの情報とかが色々)
Type “help” for help.
(データベース名)=>
<解説>
成功。

まとめ

今回の原因は「Redshiftの名前解決をVPNで行っていた」ということでした。
私と同じミスをした方の参考になれば幸いです。
最後まで目を通していただきありがとうございました。

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Tableau

    Tableau 2021.1 新機能紹介

    Tableau 2021.1 新機能紹介今回の2021.1は前回ま…

  2. Tableau

    Tableauのヘックスタイルマップでヒートマップを地図上に粗く表現する

    今回は、「ヘックスタイル(六角形)マップ」という表現方法をご紹介しま…

  3. IT用語集

    【完全版】Tableau(タブロー)って何?

    【目次】・はじめに・Tableau(タブロー)とは・具体例〜Ex…

  4. Tableau

    Tableau ServerとTableau Onlineの違い【管理者向け】

    【基本のキ】Tableau ServerとTableau Online…

  5. Tableau

    Tableau Tips〜データソースの置換〜

    はじめにこんにちは!インターンの與那覇(ヨナハ)です今回はTabl…

  6. Tableau

    【学生向け】TableauのアカデミックプログラムでTableauが無料で使える!!

    こんにちは!エクスチュアインターン生の柳沼です。前回の投稿から期間が…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

  1. 【GA4/GTM】dataLayerを使ってカスタムイベント…
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. KARTE

    KARTE 「フローイベント」
  2. Tableau

    TableauでTreasure Data上のデータへ接続する方法(2019/1…
  3. Adobe Dynamic Tag Manager

    Tag Manager: Adobe DTM で Google Analytic…
  4. IT用語集

    オブジェクト(Object)・オブジェクト指向(Object-Oriented)…
  5. ブログ

    ③DMPについてーKrux
PAGE TOP