概要と構成
リモート開発環境に関する概要と構成図を記載したページです。図の上からマウスオーバーして拡大や縮小をしたり、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 アドレスのみ開放するようにしてください。