NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

注目のタグ

    【NW観点で考える】CloudShellか踏み台EC2(ECS)か ― AWS CLI実行環境の最適解

    本記事は  ネットワークウィーク  9日目の記事です。
    💻  8日目  ▶▶ 本記事 ▶▶  10日目  🌐

    こんにちは、小山です。 季節の変わり目で風邪を引きました。

    AWSでCLIを使って運用・構築を行う際、
    CloudShellから叩くか?」「踏み台EC2(ECS)経由で叩くか?
    という選択は、単なる利便性だけでなく ネットワーク設計・セキュリティ運用 に深く関わります。

    この記事では、NW構成の観点から この2つのアプローチを比較・整理していきます。 まずはそれぞれのサービスについて簡単に紹介します。

    CloudShell

    • AWSが提供するブラウザ上のCLI環境(ブラウザシェル)
    • IAMユーザー/ロールの権限をそのまま利用可能
    • Public(AWSの中のグローバルIP)経由でAWS APIを叩くためVPC内部に直接入るわけではない(新規でVPCをCloudShell用に作成した場合はVPC内のリソースアクセス可能) docs.aws.amazon.com

    EC2

    • 追加のSSHキーや設定が不要
    • AWSが提供する仮想サーバサービス
    • Private Subnetにあるリソースへアクセスするための中継用EC2
    • SSHやSession Managerを使って接続する
    • VPC内部に配置されるため、Privateリソースへ直接アクセス可能
    • セキュリティグループやNACLで細かくアクセス制御可能

    ネットワーク観点での比較表

    次に、ネットワーク観点での特徴を整理・比較します。

    観点 CloudShell 踏み台EC2
    接続経路 AWS管理プレーン経由(Public API) SSHやSession ManagerでVPC内に接続
    VPC内リソースアクセス 可能 可能
    セキュリティグループ / NACL VPC外作成の場合関与しない・VPC作成した場合は可能 踏み台側で細かく制御可能
    VPN / Direct Connect対応 不可 可能(オンプレ閉域接続対応)
    コスト 無料(制限あり) EC2+EBS費用が発生
    操作ログ・証跡 CloudTrail連携 OSログ+CloudWatch Logs+SSMログで詳細管理可能
    IPの固定化 不可能 Elastic IPを付与すると固定可能

    ユースケース別の使い分け

    それぞれの特徴・比較が完了したので、それらを踏まえつつそれぞれのユースケースを考えます。

    CloudShellが向いているケース

    • コストが安い(基本無料)
    • 構築不要のため簡単に使用できる
    • 一時的な運用・調査・検証作業

    踏み台EC2が向いているケース

    • Private Subnet内のEC2, RDS, Redis, EFS に直接アクセスしたい
    • VPN / Direct Connect で閉域構成をとっている
    • セキュリティポリシー上、Publicアクセスが禁止されている
    • 恒久的なメンテナンス・ログ収集・SSH操作が必要な場合
    • 運用でシステムにアクセスできるIPに制限をかけている

    セキュリティと運用性の観点

    項目 CloudShell 踏み台EC2
    認証方式 IAM認証済(ブラウザ) SSH鍵 / IAM Role / SSM
    アクセス制御 IAMポリシー依存 SG + IAMで多層制御
    ログ監査 CloudTrailでAPIレベル OSログ+Session Managerログも取得可能
    運用負荷 低い(AWSマネージド) パッチ・鍵・死活監視が必要

    まとめ:NW観点からの選定指針

    用途 推奨手段
    API中心の操作(S3/IAM/Lambdaなど) CloudShell
    Private Subnet操作 / 閉域ネットワーク 踏み台EC2
    高セキュリティ構成 / 監査要件あり 踏み台EC2
    一時的なCLI実行・検証 CloudShell

    結論

    ネットワークの観点で最も重要なのは、
    どの経路を通じてAWSリソースにアクセスしているか」を明確にすることです。

    • CloudShell は管理プレーン経由(Public API)
    • 踏み台EC2 はデータプレーン経由(VPC内部)

    それぞれが得意とする領域を理解し、
    NW構成・セキュリティ要件・運用負荷 に合わせて使い分けること、使用するサービスにどのような特徴があるかを把握することが大事です。

    おまけ

    NW観点だけでなくストレージ容量やコスト観点、権限制御の観点でも使い分けを考えられるので、奥が深いと思いました。