AWS Management Console Private Access でインターネット接続なしにコンソールへアクセスしてみた

AWS Management Console Private Access でインターネット接続なしにコンソールへアクセスしてみた

AWS Management Console Private Access が 2026/6/15 に、サポート対象のコンソール画面について、インターネット接続なしでのアクセスに対応しました。IGW/NAT なしの VPC から VPC エンドポイント経由でサインインし、S3 / DynamoDB などのコンソール画面を表示できることを、CloudFormation で構築した検証環境で確認しました。
2026.06.16

はじめに

2026年6月15日、AWS Management Console Private Access がインターネット接続なしでの動作に対応しました。

https://aws.amazon.com/about-aws/whats-new/2026/06/aws-management-console-private-access-without-internet/

従来の Console Private Access はアカウントやネットワークの制限を設定できましたが、コンソール表示自体にはインターネット接続が必要でした。今回のアップデートにより、対応サービスではコンソール表示・サインインが VPC エンドポイント経由で利用可能になりました。

本記事ではインターネットアクセスのない VPC に Windows EC2 を配置し、Fleet Manager Remote Desktop 経由でブラウザを操作してコンソールへのサインインと、一部サービス画面の表示・API 通信を検証しました。

検証環境と構成

  • リージョン: ap-northeast-1(東京)
  • VPC: 10.0.0.0/16、DNS サポート / DNS ホスト名 有効
  • サブネット: プライベートのみ(10.0.1.0/24)、IGW / NAT なし
  • EC2: Windows Server 2022、t3.medium、パブリック IP なし
  • 接続方法: SSM Fleet Manager(Remote Desktop)
  • サインイン方式: IAM ユーザー

「インターネット接続なし」の対象は VPC 内 EC2 からコンソール / AWS API への通信経路です。Fleet Manager を開く管理端末側の経路は対象外です。

VPC エンドポイント

マネジメントコンソール用(Interface 型、PrivateDNS 有効)

サービス名 用途
com.amazonaws.ap-northeast-1.console マネジメントコンソール
com.amazonaws.ap-northeast-1.signin サインイン
com.amazonaws.ap-northeast-1.console-static 静的コンテンツ配信

SSM 接続用(Interface 型、PrivateDNS 有効)

サービス名 用途
com.amazonaws.ap-northeast-1.ssm SSM サービス
com.amazonaws.ap-northeast-1.ssmmessages SSM セッション通信
com.amazonaws.ap-northeast-1.ec2messages EC2 メッセージ

サービス API 用(Gateway 型)

サービス名 用途
com.amazonaws.ap-northeast-1.s3 S3 API(バケット一覧画面表示の確認用)
com.amazonaws.ap-northeast-1.dynamodb DynamoDB API(コンソール画面表示の確認用)

セキュリティグループはエンドポイント用にインバウンド 443/TCP を VPC CIDR から許可しています。

CloudFormation テンプレート

CloudFormation テンプレート(console-private-access.yaml)
AWSTemplateFormatVersion: "2010-09-09"
Description: Console Private Access - Internet-free VPC with Management Console access via PrivateLink

Parameters:
  LatestWindowsAmi:
    Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
    Default: /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-Base

Resources:
  # VPC
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: console-private-access-vpc

  # Private Subnet
  PrivateSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: !Select [0, !GetAZs ""]
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: console-private-access-private-subnet

  # Route Table (no routes to internet)
  PrivateRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: console-private-access-rt

  PrivateSubnetRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref PrivateSubnet
      RouteTableId: !Ref PrivateRouteTable

  # Security Group for VPC Endpoints
  EndpointSG:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Allow HTTPS from VPC
      VpcId: !Ref VPC
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          CidrIp: 10.0.0.0/16
      Tags:
        - Key: Name
          Value: console-private-access-endpoint-sg

  # Security Group for EC2
  EC2SG:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: EC2 instance SG
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: console-private-access-ec2-sg

  # VPC Endpoints - Console
  ConsoleEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.console
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  SigninEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.signin
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  ConsoleStaticEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.console-static
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  # VPC Endpoints - SSM
  SsmEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.ssm
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  SsmMessagesEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.ssmmessages
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  Ec2MessagesEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.ec2messages
      VpcEndpointType: Interface
      SubnetIds:
        - !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EndpointSG
      PrivateDnsEnabled: true

  # VPC Endpoints - Gateway
  S3Endpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.s3
      VpcEndpointType: Gateway
      RouteTableIds:
        - !Ref PrivateRouteTable

  DynamoDBEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref VPC
      ServiceName: !Sub com.amazonaws.${AWS::Region}.dynamodb
      VpcEndpointType: Gateway
      RouteTableIds:
        - !Ref PrivateRouteTable

  # IAM Role for EC2 (SSM)
  EC2Role:
    Type: AWS::IAM::Role
    Properties:
      RoleName: console-private-access-ec2-role
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal:
              Service: ec2.amazonaws.com
            Action: sts:AssumeRole
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

  EC2InstanceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Roles:
        - !Ref EC2Role

  # EC2 Instance
  WindowsInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref LatestWindowsAmi
      InstanceType: t3.medium
      SubnetId: !Ref PrivateSubnet
      SecurityGroupIds:
        - !Ref EC2SG
      IamInstanceProfile: !Ref EC2InstanceProfile
      Tags:
        - Key: Name
          Value: console-private-access-windows

Outputs:
  InstanceId:
    Value: !Ref WindowsInstance
    Description: EC2 Instance ID (use SSM Fleet Manager to RDP)
  VpcId:
    Value: !Ref VPC

やってみた

サインイン

CloudFormation スタックのデプロイ後、EC2 が SSM マネージドインスタンスとして登録されたことを確認し、Fleet Manager の Remote Desktop で RDP 接続しました。EC2 内の Edge ブラウザで https://console.aws.amazon.com にアクセスしました。

Fleet Manager RDP + サインイン画面

IAM ユーザーの認証情報を入力してサインインすると、Console Home が表示されました。画面上部に Private Access バナーが表示されています。

Console Home + Private Access バナー

サポート対象サービスのコンソール確認

S3 と DynamoDB のコンソール画面を確認しました。今回の構成では S3 / DynamoDB の Gateway Endpoint を作成しているため、S3 のバケット一覧画面と DynamoDB のコンソール画面を表示できました。

S3

S3 バケット一覧画面

DynamoDB

DynamoDB コンソール画面

サービス API エンドポイント未追加時の挙動

EC2 コンソール画面を開いたところ、画面自体は表示されますが、EC2 サービスの API エンドポイントを追加していないためリソース情報の取得に失敗し、API Error が多発しました。

EC2 ダッシュボード API Error 多発

コンソールの UI 表示(console / signin / console-static エンドポイント経由)とサービス API の疎通は別レイヤーです。コンソール画面を表示できても、その画面や操作で必要となるサービス API エンドポイントがなければ、データ取得に失敗する場合があります。

注意事項

  • サポート対象サービスは公式ドキュメントに一覧が掲載されています(2026年6月16日時点で約45サービス)。一覧外のサービスコンソールは Private Access 経由ではサポートされません。利用する場合はインターネット経路など別経路が必要です
  • AWS CloudShell および Default Region 設定は、Private Access 経由では利用できません
  • コンソール操作の内容によっては、追加のサービス API エンドポイントが必要になる場合があります
  • 本検証では再現性を優先した最小構成としています。本番利用時は IAM policy や、対応する VPC Endpoint の endpoint policy 等でアクセス範囲を制御してください
  • Gateway Endpoint は VPC 内リソース専用です。オンプレミスから Direct Connect 経由で利用する場合は別途設計が必要です

https://docs.aws.amazon.com/awsconsolehelpdocs/latest/userguide/console-private-access-limitations.html

まとめ

AWS Management Console Private Access のアップデートにより、サポート対象のコンソール画面では、VPC エンドポイント経由でインターネット接続なしにアクセスできるようになりました。

今回の検証では、IGW / NAT のない VPC に配置した Windows EC2 から、コンソール表示用の Interface Endpoint(console / signin / console-static)と必要なサービス API 用の VPC Endpoint を組み合わせることで、AWS マネジメントコンソールへのサインイン、S3 のバケット一覧画面、DynamoDB のコンソール画面の表示を確認しました。

対応範囲内であれば、コンソールアクセスを VPC Endpoint 経由で構成できるようになり、ネットワーク制御の選択肢が広がりました。一方で、インターネット経路を排除する構成では閉域接続の可用性設計やコストなど考慮すべき点も増えるため、採用時はこれらを含めた評価をおすすめします。

参考リンク

https://docs.aws.amazon.com/awsconsolehelpdocs/latest/userguide/console-private-access-supported-services.html

https://docs.aws.amazon.com/awsconsolehelpdocs/latest/userguide/console-private-access.html

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事