メインコンテンツまでスキップ

概要と構成

リモート開発環境に関する概要と構成図を記載したページです。図の上からマウスオーバーして拡大や縮小をしたり、draw.io を開いて直接編集を行うことが可能です。編集してもアップロードされている原本のファイルには反映されません。

Private Subnet 構成の場合

高いセキュリティレベルが実現できる推奨構成です。SSH ポート( 22 )を直接利用できない場合に便利ですが、VPC Endpoint 及び NAT Gateway による固定費用が発生します。

Public Subnet 構成の場合

アドホックな検証や環境構築などを行う場合の推奨構成です。簡易的で便利な構成ですが、セキュリティグループの設定に抜け漏れがないよう注意が必要です。

構成に関する特記事項

以下、構成に関してのポイントや特記事項について記載した内容です。

リモート開発構成のメリット

  • 高い再現性を持ち、OS・環境違いによるエラーを防止
  • データベースなどプライベートアクセスが必要な場合の開発利便性
  • ツール・開発手法の共通化による効率向上
  • ローカルPCとの優位性
    • スペックに左右されない
    • 開発ツール類を直接インストールする必要がない
  • ローカルPCでは AssumeRole 以外の権限を持つ AWS 認証情報を利用せず、セキュアなサンドボックス環境

System Manager による SSH Port Forwarding の通信速度について

System Manager による SSH Port Forwarding を利用する場合、通信速度は通常の 5 - 10 倍ほど遅くなることがあります。リモート接続なので通常の開発にはさほど問題なく、ローカル環境での動作確認でレイテンシーが遅くなることは想定されますが、バックエンドや WebAPI 開発においてはイシューになることは少ないです。フロントエンド開発においては、アセットの読み込みや開発モードにおけるソースコードのロードに時間がかかることがあり、開発が困難な場合はローカル環境で開発を行い、docker などによるビルド作業や確認に関してはリモートインスタンス上で行う形で進められます。

注意事項

Public subnet 構成を利用する場合、必ず Security Group の設定が適切に行われているかを確認し、必要最低限のポート番号と IP アドレスのみ開放するようにしてください。