sql >> データベース >  >> RDS >> Database

データベースをAmazonVPCに接続する方法

    このチュートリアルでは、プライベートVPCサブネット内にAmazon RDSインスタンスを設定し、SSHトンネルを使用して接続する方法について説明します。

    リバースSSHトンネルは、VPC内からChartioのサーバーへのアウトバウンド暗号化接続を確立します。これにより、ルートテーブルやセキュリティグループを変更することなく、ChartioをプライベートVPCサブネット内のデータベースに接続できます。

    概要

    次の図は、最終的なアーキテクチャがどのようになるかを示しています。 us-west-1リージョンに2つのサブネットを持つVPCを作成します。 us-west-1aアベイラビリティーゾーンに1つのパブリックサブネットとus-west-1bアベイラビリティーゾーンに1つのプライベートサブネット。 VPCにはインターネットゲートウェイが接続されますが、メインルートテーブルには、VPC内の通信を可能にする単一のローカルルートのみが含まれます。パブリックサブネットには、ローカルルートと、インターネットゲートウェイを介して他のすべてのトラフィックを転送するルートを含むカスタムルートテーブルがあります。 Postgres RDSインスタンスは、パブリックサブネットからのポート5432でのインバウンドトラフィックのみを許可するセキュリティグループが接続されたプライベートサブネットでプロビジョニングされます。 EC2インスタンスは、ローカルIPからのインバウンドSSHトラフィックとすべてのアウトバウンドトラフィックのみを許可するセキュリティグループが接続されたパブリックサブネットでプロビジョニングされます。最後に、EC2インスタンスにSSHで接続し、Postgresクライアントpsqlをインストールします 、RDSインスタンスにテーブルを作成し、SSHトンネルをインストールして設定します。

    VPCを作成する

    AWS Management ConsoleでVPCダッシュボードに移動し、新しいVPCを作成します。

    インターネットゲートウェイを作成して接続する

    VPCダッシュボードの[インターネットゲートウェイ]タブで、新しいインターネットゲートウェイを作成します。

    新しく作成されたVPCにゲートウェイを接続します。

    カスタムルートテーブルを作成する

    VPCダッシュボードの[ルートテーブル]タブで、新しいルートテーブルを作成します。

    インターネットゲートウェイのルートテーブルにルートを追加します。

    パブリックサブネットとプライベートサブネットを作成する

    us-west-1aアベイラビリティーゾーンにサブネットを作成します。

    以前に作成したサブネットのルートテーブルをメインルートテーブルからカスタムルートテーブルに変更します。

    us-west-1bアベイラビリティーゾーンにサブネットを作成します。

    セキュリティグループを作成する

    パブリックus-west-1aサブネットでプロビジョニングされるEC2インスタンスのセキュリティグループを作成します。

    ローカルIPアドレスからのインバウンドSSHトラフィックを承認します。デフォルトのアウトバウンドルールで問題ないはずです。

    プライベートus-west-1bサブネットでプロビジョニングされるPostgresRDSインスタンスのセキュリティグループを作成します。

    ポート5432を介したパブリックサブネットからのインバウンドトラフィックを承認します。

    RDSセキュリティグループのすべてのアウトバウンドルールを削除します。

    EC2インスタンスをプロビジョニングする

    パブリックus-west-1aサブネットにEC2インスタンスをプロビジョニングします。パブリックIPが割り当てられていることを確認します。

    以前に作成したセキュリティグループを割り当てます。

    PostgresRDSインスタンスをプロビジョニングする

    プライベートus-west-1bサブネットにPostgresRDSインスタンスをプロビジョニングします。パブリックIPが割り当てられていないことを確認してください。

    SSHトンネルをインストールして設定します

    EC2インスタンスにSSHで接続し、次のコマンドを実行します。

    # Substitute 54.153.81.83 with your instance's public IP.
    ssh [email protected]
    
    # Create a table so Chartio has something to reflect.
    # Substitute chartio.cacziwncd30i.us-west-1.rds.amazonaws.com with your instance's endpoint.
    sudo apt-get update
    sudo apt-get install postgresql-client
    psql -h chartio.cacziwncd30i.us-west-1.rds.amazonaws.com -p 5432 -d chartio -U chartio -c "CREATE TABLE foo(id int);"
    

    autossh(または選択したSSHトンネルマネージャー)をインストールし、手順を使用してトンネル接続をセットアップします。

    Chartioスキーマエディタをチェックして、RDSインスタンスのスキーマが反映されていることを確認します。表示されていない場合は、[スキーマの更新]ボタンをクリックしてみてください。


    1. ORACLEIIFステートメント

    2. トリガーとチェック制約

    3. 最新のPostgreSQLトレンド:最も時間のかかるタスクと追跡する重要なメトリック

    4. SQLのカーソルとは何ですか?それを実装する方法は?