AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
ローカルマシンからプライベートの Amazon Redshift クラスターにアクセスする方法を教えてください。
ローカルコンピュータを使用して、Amazon Virtual Private Cloud (Amazon VPC) プライベートサブネットにある Amazon Redshift クラスターにアクセスしたいと考えています。
簡単な説明
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスと SQL Workbench/J を使用して SSH トンネルを作成します。トンネルは、ローカルマシンからのすべての受信トラフィックをプライベート Amazon Redshift クラスターにルーティングします。
解決策
Amazon VPC、EC2 インスタンス、および Amazon Redshift クラスターを作成する
Amazon VPC、EC2 インスタンスおよび Amazon Redshift クラスターを作成するには、次の手順を実行します。
-
パブリックサブネットとプライベートサブネットを使用して Amazon VPC を作成します。
-
Amazon Linux 2 Amazon マシンイメージ (AMI) から Amazon VPC のパブリックサブネットに EC2 インスタンスを起動します。インスタンスを作成するときは、次のオプションを選択します。
[パブリック IP の自動割り当て] で [有効化] を選択します。または、インスタンスに Elastic IP アドレスを割り当てます。
SSH ルールを使用して新しいセキュリティグループを作成します。
[ソース] で [カスタム] を選択し、CIDR ブロックを入力します。または、[My IP] を選択します。 -
Amazon Redshift コンソール で、クラスターサブネットを作成します。次の情報を入力します。
[VPC ID] には、お使いの Amazon VPC の ID を選択します。
[サブネット ID] で、プライベートサブネットの ID を選択します。 -
インスタンスのセキュリティグループからのインバウンドトラフィックを許可するルールをセキュリティグループに追加します。次の情報を入力します。
[タイプ] で、[カスタム TCP] を選択します。
[ポート範囲] に、Amazon Redshift のデフォルトポート 5439 を入力します。
[送信元] で [カスタム] を選択し、セキュリティグループの名前を入力します。 -
新しい Amazon Redshift クラスターを起動するか、スナップショットからクラスターを復元します。[その他の構成] ページで、次のオプションを選択します。
[VPC を選択] で、お使いの Amazon VPC を選択します。
[クラスターサブネットグループ] で、サブネットグループを選択します。
[一般公開] ** で [いいえ] を選択します。
VPC セキュリティグループ では、セキュリティグループを選択します。クラスターが使用可能な**状態になるまで待ちます。 -
次のコマンドを実行して、ローカルマシンから EC2 インスタンスに接続します。
ssh -i "your_key.pem" ec2-user@your_EC2_endpoint**注:**your_key.pem と your_EC2_endpoint を自分の値に置き換えてください。詳細については、「SSH を使用して Linux または macOS から Linux インスタンスに接続します。」を参照してください。
-
次のコマンドを実行して telnet をインストールします。
sudo yum install telnet -
telnet を使用して Amazon Redshift クラスターへの接続をテストするには、次のコマンドを実行します。
telnet cluster-endpoint cluster-port**注:**cluster-endpoint と cluster-port を自分の値に置き換えてください。
または、次のコマンドを実行し、dig を使用して、ローカルマシンが Amazon Redshift クラスターのプライベート IP アドレスにアクセスできることを確認します。dig cluster-endpoint**注:**cluster-endpoint をご利用のクラスターエンドポイントに置き換えてください。
トンネルの作成
トンネルを作成するには、次の手順を実行します。
- SQL Workbench/J をローカルマシンにインストールします。
- 最新の Amazon Redshift JDBC ドライバーをダウンロードしてください。
- SQL ワークベンチ/J では、JDBC ドライバーを使用して接続プロファイルを作成します。
- SQL Workbench/J で SSH 接続を設定するには、[SSH] を選択し、次の情報を入力します。
[SSH ホスト名] には、EC2 インスタンスのパブリック IP アドレスまたは DNS を入力します。
[SSH ポート] には、22 と入力します。
[ユーザー名] に ec2-user と入力します。
[プライベートキーファイル] に、EC2 インスタンスの作成時にダウンロードした.pem ファイルを入力します。
[パスワード] フィールドは空白のままにします。
[ローカルポート] に、空いているローカルポートを入力します。Amazon Redshift クラスターはデフォルトでポート 5439 を使用します。
[DB ホスト名] には、クラスターエンドポイントを入力します。エンドポイントにポート番号やデータベース名を含めることはできません。
[DB ポート] に 5439 と入力します。
[JDBC URL の書き換え] オプションを選択します。 - [OK] を選択します。
- JDBC URL、スーパーユーザー名、およびパスワードを正しく入力してください。
- 接続が機能していることを確認するには、[Test] を選択します。詳細については、SQL Workbench/J ウェブサイトの「Connecting through an SSH tunnel」を参照してください。
(オプション) AWS ID およびアクセス管理 (IAM) ユーザーの接続を変更する
IAM ユーザーとして Amazon Redshift クラスターに接続するには、次の手順を実行して接続プロファイルを変更します。
- IAM ユーザーポリシーを確認してください。IAM ユーザーポリシーで、dbgroup、dbuser、dbname リソースに GetClusterCredentials、**JoinGroup **、CreateClusterUser の Amazon Redshift アクションを許可する必要があります。以下に IAM ポリシーの例を示します。
注:us-west-2 はクラスターが属する AWS リージョンに、012345678912 は AWS アカウント ID に、user_name は Amazon Redshift ユーザーの名前に置き換えてください。または、特定のユーザー名の代わりに「*」を使用することもできます。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": [ "arn:aws:redshift:eu-west-2:012345678912:dbgroup:clustername/group_name", "arn:aws:redshift:eu-west-2:012345678912:dbuser:clustername/user_name or * ", "arn:aws:redshift:eu-west-2:012345678912:dbname:clustername/database_name" ] } ] } - SQL Workbench/J で、接続プロファイルの JDBC URL の最初の部分を jdbc:redshift:iam に変更します。たとえば、JDBC URL を jdbc:redshift:iam://127.0.0.1:5439/example に変更します。
- [拡張プロパティ] を選択し、次の情報を入力します。
[AccessKeyID] には、IAM ユーザーの [アクセスキー ID] を入力します。
[SecretAccessKey] には、IAM ユーザーのシークレットアクセスキーを入力します。
(オプション) [DbGroups] では、このオプションを選択して IAM ユーザーを強制的に既存のグループに参加させます。
[DbUser] には、IAM ユーザーの名前を入力します。
[AutoCreate] では、オプションを [true] に設定します。
[ClusterID] には、Amazon Redshift クラスターの名前を入力します。
[Region] には、us-east-1 など、クラスターが属するリージョンを入力します。 - クラスター接続プロファイルページで、[テスト] を選択します。

