翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このチュートリアルでは、 を使用してプライベートサブネットの EC2 インスタンスから Amazon CloudWatch にリクエストを送信する方法を示します AWS PrivateLink。
次の図は、このシナリオの概要を示しています。コンピュータからプライベートサブネットのインスタンスに接続するには、まずパブリックサブネットの踏み台ホストに接続します。踏み台ホストとインスタンスの両方で同じキーペアを使用する必要があります。プライベートキーの .pem
ファイルが踏み台ホストではなくコンピュータに存在するため、SSH キー転送を使用します。これで、ssh コマンドで .pem
ファイルを指定しなくても、踏み台ホストからインスタンスに接続できます。CloudWatch 用の VPC エンドポイントを設定すると、CloudWatch を宛先とするインスタンスからのトラフィックはエンドポイントのネットワークインターフェイスに解決され、その後 VPC エンドポイントを使用して CloudWatch に送信されます。

テスト目的で、1 つのアベイラビリティーゾーンを使用できます。本番環境では、低レイテンシーと高可用性を得るために少なくとも 2 つのアベイラビリティーゾーンを使用することをお勧めします。
タスク
ステップ 1: サブネットを持つ VPC を作成する
次の手順を使用して、パブリックサブネットとプライベートサブネットを持つ VPC を作成します。
VPC を作成するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
[Create VPC (VPC の作成)] を選択します。
-
[Resources to create] (作成するリソース) で、[VPC and more] (VPC など) を選択します。
-
[名前タグの自動生成] に、VPC の名前を入力します。
-
サブネットを設定するには、次の操作を行います。
-
[アベイラビリティーゾーンの数] で、ニーズに応じて [1] または [2] を選択します。
-
[パブリックサブネットの数] で、アベイラビリティーゾーンごとに 1 つのパブリックサブネットがあることを確認します。
-
[Number of private subnets] (プライベートサブネットの数) で、アベイラビリティーゾーンごとに 1 つのプライベートサブネットがあることを確認します。
-
-
[Create VPC (VPC の作成)] を選択します。
ステップ 2: インスタンスを起動する
前のステップで作成した VPC を使用して、パブリックサブネットの踏み台ホストとプライベートサブネットのインスタンスを起動します。
前提条件
.pem 形式を使用してキーペアを作成します。踏み台ホストとインスタンスの両方を起動するときに、このキーペアを選択する必要があります。
コンピュータの CIDR ブロックからのインバウンド SSH トラフィックを許可するセキュリティグループを、踏み台ホストに作成します。
踏み台ホストのセキュリティグループからのインバウンド SSH トラフィックを許可するセキュリティグループを、インスタンスに作成します。
IAM インスタンスプロファイルを作成し、CloudWatchReadOnlyAccess ポリシーをアタッチします。
踏み台ホストを起動するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
Launch instance (インスタンスの起動) を選択します。
-
[Name] (名前) に、踏み台ホストの名前を入力します。
-
デフォルトのイメージおよびインスタンスタイプを維持します。
-
[Key pair] (キーペア) で、キーペアを選択します。
-
[Network settings] (ネットワーク設定) で、次の操作を行います。
-
[VPC] で、ユーザーの VPC を選択します。
-
[Subnet] (サブネット) で、パブリックサブネットを選択します。
-
[Auto-assign public IP] (パブリック IP の自動割り当て) で、[Enable] (有効化) を選択します。
-
[Firewall] (ファイアウォール) で [Select existing security group] (既存のセキュリティグループの選択) を選択してから、踏み台ホストのセキュリティグループを選択します。
-
-
Launch instance (インスタンスの起動) を選択します。
インスタンスを起動するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
Launch instance (インスタンスの起動) を選択します。
-
[Name] (名前) に、インスタンスの名前を入力します。
-
デフォルトのイメージおよびインスタンスタイプを維持します。
-
[Key pair] (キーペア) で、キーペアを選択します。
-
[Network settings] (ネットワーク設定) で、次の操作を行います。
-
[VPC] で、ユーザーの VPC を選択します。
-
[Subnet] (サブネット) で、プライベートサブネットを選択します。
-
[Auto-assign public IP] (パブリック IP の自動割り当て) で、[Disable] (無効化) を選択します。
-
[Firewall] (ファイアウォール) で [Select existing security group] (既存のセキュリティグループの選択) を選択してから、インスタンスのセキュリティグループを選択します。
-
-
[Advanced Details] (高度な詳細) を展開します。[IAM instance profile] (IAM インスタンスプロファイル) で、IAM インスタンスプロファイルを選択します。
-
Launch instance (インスタンスの起動) を選択します。
ステップ 3: CloudWatch へのアクセスをテストする
次の手順を使用して、インスタンスが CloudWatch にアクセスできないことを確認します。これを行うには、CloudWatch の読み取り専用 AWS CLI コマンドを使用します。
CloudWatch へのアクセスをテストするには
-
コンピュータから、次のコマンドを使用してキーペアを SSH エージェントに追加します。ここで、
key.pem
は.pem ファイルの名前です。ssh-add ./
key.pem
キーペアのアクセス許可が開放しすぎているいうエラーが表示された場合は、次のコマンドを実行してから、前のコマンドを再試行してください。
chmod 400 ./
key.pem
-
コンピュータから踏み台ホストに接続します。
-A
オプション、インスタンスユーザー名 (例:ec2-user
)、および踏み台ホストのパブリック IP アドレスを指定する必要があります。ssh -A
ec2-user
@bastion-public-ip-address
-
踏み台ホストからインスタンスに接続します。インスタンスユーザー名 (例:
ec2-user
) とインスタンスのプライベート IP アドレスを指定する必要があります。ssh
ec2-user
@instance-private-ip-address
-
次のように、インスタンスで CloudWatch のコマンド list-metrics
を実行します。 --region
オプションで、VPC を作成したリージョンを指定します。aws cloudwatch list-metrics --namespace AWS/EC2 --region
us-east-1
-
数分後、コマンドはタイムアウトします。これは、現在の VPC 設定が適用されたインスタンスから CloudWatch にアクセスできないことを示しています。
Connect timeout on endpoint URL: https://monitoring.
us-east-1
.amazonaws.com/ -
インスタンスへの接続を維持します。VPC エンドポイントを作成したら、この list-metrics コマンドをもう一度試します。
ステップ 4: CloudWatch にアクセスするための VPC エンドポイントを作成する
次の手順を使用して、CloudWatch に接続する VPC エンドポイントを作成します。
前提条件
CloudWatch にトラフィックを許可するセキュリティグループを VPC エンドポイントに作成します。例えば、VPC CIDR ブロックからの HTTPS トラフィックを許可するルールを追加します。
CloudWatch 用の VPC エンドポイントを作成するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。
-
[エンドポイントの作成] を選択します。
-
[Name tag] (名前タグ) に、エンドポイントの名前を入力します。
-
[Service category] (サービスカテゴリ) で、AWS のサービス を選択します。
-
[Service] (サービス) で、com.amazonaws.
region
.monitoring を選択します。 -
[VPC] で、自分の VPC を選択します。
-
[Subnets] (サブネット) で、アベイラビリティーゾーンを選択してから、プライベートサブネットを選択します。
-
[Security group] (セキュリティグループ) で、VPC エンドポイントのセキュリティグループを選択します。
-
[Policy] (ポリシー) で [Full access] (フルアクセス) を選択して、すべてのリソースに対するすべてのプリンシパルによる VPC エンドポイント経由のすべてのオペレーションを許可します。
-
(オプション) タグを追加するには、[新しいタグを追加] を選択し、そのタグのキーと値を入力してください。
-
[エンドポイントの作成] を選択します。初期ステータスは、Pending です。次のステップに進む前に、ステータスが Available になるまで待機します。これは数分かかることがあります。
ステップ 5: VPC エンドポイントをテストする
VPC エンドポイントで、インスタンスからのリクエストが CloudWatch に送信されていることを確認します。
VPC エンドポイントをテストするには
インスタンスで次の コマンドを実行します。--region
オプションで、VPC エンドポイントを作成したリージョンを指定します。
aws cloudwatch list-metrics --namespace AWS/EC2 --region
us-east-1
空の結果のレスポンスであっても、レスポンスが返された場合は、 を使用して CloudWatch に接続されます AWS PrivateLink。
UnauthorizedOperation
エラーが表示された場合は、インスタンスに CloudWatch へのアクセスを許可する IAM ロールがあることを確認します。
リクエストがタイムアウトした場合は、次の点を確認してください。
エンドポイントのセキュリティグループによって、CloudWatch へのトラフィックが許可されている。
--region
オプションで、VPC エンドポイントを作成したリージョンが指定されている。
ステップ 6: クリーンアップする
このチュートリアルで作成した踏み台ホストとインスタンスが不要になった場合は、終了させることができます。
インスタンスを終了するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
両方のテストインスタンスを選択し、[インスタンスの状態]、[インスタンスの終了] の順に選択します。
-
確認を求めるメッセージが表示されたら、[終了] を選択します。
VPC エンドポイントが不要になった場合は、削除できます。
VPC エンドポイントを削除するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。
-
VPC エンドポイントを選択します。
-
[アクション 、[VPC エンドポイントを削除] の順に選択してください。
-
確認を求められたら、
delete
と入力し、[削除] を選択します。