の使用を開始する AWS PrivateLink - Amazon Virtual Private Cloud

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の使用を開始する AWS PrivateLink

このチュートリアルでは、 CloudWatch を使用してプライベートサブネットの EC2 インスタンスから Amazon にリクエストを送信する方法を示します AWS PrivateLink。

次の図は、このシナリオの概要を示しています。コンピュータからプライベートサブネットのインスタンスに接続するには、まずパブリックサブネットの踏み台ホストに接続します。踏み台ホストとインスタンスの両方で同じキーペアを使用する必要があります。プライベートキーの .pem ファイルが踏み台ホストではなくコンピュータに存在するため、SSH キー転送を使用します。これで、ssh コマンドで .pem ファイルを指定しなくても、踏み台ホストからインスタンスに接続できます。の VPC エンドポイントを設定すると CloudWatch、 宛てのインスタンスからのトラフィック CloudWatch はエンドポイントネットワークインターフェイスに解決され、VPC エンドポイント CloudWatch を使用して に送信されます。

プライベートサブネットのインスタンスは、VPC エンドポイント CloudWatch を使用して にアクセスします。

テスト目的で、1 つのアベイラビリティーゾーンを使用できます。本番環境では、低レイテンシーと高可用性を得るために少なくとも 2 つのアベイラビリティーゾーンを使用することをお勧めします。

ステップ 1: サブネットを持つ VPC を作成する

次の手順を使用して、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。

VPC を作成するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. [Create VPC(VPC の作成)] を選択します。

  3. [Resources to create] (作成するリソース) で、[VPC and more] (VPC など) を選択します。

  4. [名前タグの自動生成] に、VPC の名前を入力します。

  5. サブネットを設定するには、次の操作を行います。

    1. [アベイラビリティーゾーンの数] で、ニーズに応じて [1] または [2] を選択します。

    2. [パブリックサブネットの数] で、アベイラビリティーゾーンごとに 1 つのパブリックサブネットがあることを確認します。

    3. [Number of private subnets] (プライベートサブネットの数) で、アベイラビリティーゾーンごとに 1 つのプライベートサブネットがあることを確認します。

  6. [Create VPC(VPC の作成)] を選択します。

ステップ 2: インスタンスを起動する

前のステップで作成した VPC を使用して、パブリックサブネットの踏み台ホストとプライベートサブネットのインスタンスを起動します。

前提条件
  • .pem 形式を使用してキーペアを作成します。踏み台ホストとインスタンスの両方を起動するときに、このキーペアを選択する必要があります。

  • コンピュータの CIDR ブロックからのインバウンド SSH トラフィックを許可するセキュリティグループを、踏み台ホストに作成します。

  • 踏み台ホストのセキュリティグループからのインバウンド SSH トラフィックを許可するセキュリティグループを、インスタンスに作成します。

  • IAM インスタンスプロファイルを作成し、CloudWatchReadOnlyアクセスポリシーをアタッチします。

踏み台ホストを起動するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. [インスタンスを起動] を選択します。

  3. [Name] (名前) に、踏み台ホストの名前を入力します。

  4. デフォルトのイメージおよびインスタンスタイプを維持します。

  5. [Key pair] (キーペア) で、キーペアを選択します。

  6. [Network settings] (ネットワーク設定) で、次の操作を行います。

    1. [VPC] で、ユーザーの VPC を選択します。

    2. [Subnet] (サブネット) で、パブリックサブネットを選択します。

    3. [Auto-assign public IP] (パブリック IP の自動割り当て) で、[Enable] (有効化) を選択します。

    4. [Firewall] (ファイアウォール) で [Select existing security group] (既存のセキュリティグループの選択) を選択してから、踏み台ホストのセキュリティグループを選択します。

  7. [インスタンスを起動] を選択します。

インスタンスを起動するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. [インスタンスを起動] を選択します。

  3. [Name] (名前) に、インスタンスの名前を入力します。

  4. デフォルトのイメージおよびインスタンスタイプを維持します。

  5. [Key pair] (キーペア) で、キーペアを選択します。

  6. [Network settings] (ネットワーク設定) で、次の操作を行います。

    1. [VPC] で、ユーザーの VPC を選択します。

    2. [Subnet] (サブネット) で、プライベートサブネットを選択します。

    3. [Auto-assign public IP] (パブリック IP の自動割り当て) で、[Disable] (無効化) を選択します。

    4. [Firewall] (ファイアウォール) で [Select existing security group] (既存のセキュリティグループの選択) を選択してから、インスタンスのセキュリティグループを選択します。

  7. [Advanced Details] (高度な詳細) を展開します。[IAM instance profile] (IAM インスタンスプロファイル) で、IAM インスタンスプロファイルを選択します。

  8. [インスタンスを起動] を選択します。

ステップ 3: CloudWatch アクセスをテストする

次の手順を使用して、インスタンスが にアクセスできないことを確認します CloudWatch。これを行うには、 の読み取り専用 AWS CLI コマンドを使用します CloudWatch。

CloudWatch アクセスをテストするには
  1. コンピュータから、次のコマンドを使用してキーペアを SSH エージェントに追加します。ここで、key.pem は.pem ファイルの名前です。

    ssh-add ./key.pem

    キーペアのアクセス許可が開放しすぎているいうエラーが表示された場合は、次のコマンドを実行してから、前のコマンドを再試行してください。

    chmod 400 ./key.pem
  2. コンピュータから踏み台ホストに接続します。-A オプション、インスタンスユーザー名 (例: ec2-user)、および踏み台ホストのパブリック IP アドレスを指定する必要があります。

    ssh -A ec2-user@bastion-public-ip-address
  3. 踏み台ホストからインスタンスに接続します。インスタンスユーザー名 (例: ec2-user) とインスタンスのプライベート IP アドレスを指定する必要があります。

    ssh ec2-user@instance-private-ip-address
  4. 次のようにインスタンスで CloudWatch list-metrics コマンドを実行します。--region オプションで、VPC を作成したリージョンを指定します。

    aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1
  5. 数分後、コマンドはタイムアウトします。これは、現在の VPC 設定のインスタンス CloudWatch から にアクセスできないことを示しています。

    Connect timeout on endpoint URL: https://monitoring.us-east-1.amazonaws.com/
  6. インスタンスへの接続を維持します。VPC エンドポイントを作成したら、この list-metrics コマンドをもう一度試します。

ステップ 4: アクセスする VPC エンドポイントを作成する CloudWatch

に接続する VPC エンドポイントを作成するには、次の手順に従います CloudWatch。

前提条件

へのトラフィックを許可する VPC エンドポイントのセキュリティグループを作成します CloudWatch。例えば、VPC CIDR ブロックからの HTTPS トラフィックを許可するルールを追加します。

の VPC エンドポイントを作成するには CloudWatch
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。

  3. [エンドポイントの作成] を選択します。

  4. [Name tag] (名前タグ) に、エンドポイントの名前を入力します。

  5. [Service category] (サービスカテゴリ) で、AWS のサービス を選択します。

  6. [Service] (サービス) で、com.amazonaws.region.monitoring を選択します。

  7. [VPC] で、自分の VPC を選択します。

  8. [Subnets] (サブネット) で、アベイラビリティーゾーンを選択してから、プライベートサブネットを選択します。

  9. [Security group] (セキュリティグループ) で、VPC エンドポイントのセキュリティグループを選択します。

  10. [Policy] (ポリシー) で [Full access] (フルアクセス) を選択して、すべてのリソースに対するすべてのプリンシパルによる VPC エンドポイント経由のすべてのオペレーションを許可します。

  11. (オプション) タグを追加するには、[新しいタグを追加] を選択し、そのタグのキーと値を入力します。

  12. [エンドポイントの作成] を選択します。初期ステータスは、Pending です。次のステップに進む前に、ステータスが Available になるまで待機します。これは数分かかることがあります。

ステップ 5: VPC エンドポイントをテストする

VPC エンドポイントがインスタンスから にリクエストを送信していることを確認します CloudWatch。

VPC エンドポイントをテストするには

インスタンスで次のコマンドを実行します。--region オプションで、VPC エンドポイントを作成したリージョンを指定します。

aws cloudwatch list-metrics --namespace AWS/EC2 --region us-east-1

空の結果のレスポンスであっても、レスポンスが返された場合は、 CloudWatch を使用して に接続されます AWS PrivateLink。

UnauthorizedOperation エラーが発生した場合は、インスタンスに へのアクセスを許可する IAM ロールがあることを確認してください CloudWatch。

リクエストがタイムアウトした場合は、次の点を確認してください。

  • エンドポイントのセキュリティグループは、 へのトラフィックを許可します CloudWatch。

  • --region オプションで、VPC エンドポイントを作成したリージョンが指定されている。

ステップ 6: クリーンアップする

このチュートリアルで作成した踏み台ホストとインスタンスが不要になった場合は、終了させることができます。

インスタンスを終了するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. 両方のテストインスタンスを選択し、[インスタンスの状態][インスタンスの終了] の順に選択します。

  4. 確認を求めるメッセージが表示されたら、[終了] を選択します。

VPC エンドポイントが不要になった場合は、削除できます。

VPC エンドポイントを削除するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。

  3. VPC エンドポイントを選択します。

  4. [Actions] (アクション)、[Delete VPC endpoints] (VPC エンドポイントを削除) の順に選択します。

  5. 確認を求められたら、deleteと入力し、[削除] を選択します。