Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プライベートサブネットにあるEC2へのアクセス方法を整理してみた / Organized ac...
Search
inomaso
October 19, 2021
Technology
0
28k
プライベートサブネットにあるEC2へのアクセス方法を整理してみた / Organized access to EC2 on a private subnet.
Talked at "DevelopersIO 2021 Decade #devio2021"
inomaso
October 19, 2021
Tweet
Share
More Decks by inomaso
See All by inomaso
CyberduckでMFAを利用してS3へ接続するための導入手順まとめ、を深掘りする / A summary of the implementation steps to connect to S3 using MFA with Cyberduck, in depth.
inomasosan
0
620
EC2のバックアップ運用について思いを馳せる / Thinking about EC2 backup operation
inomasosan
0
1.1k
Direct ConnectとSite-to-Site VPNによる冗長化構成の勘所 / Check point for redundant configuration with Direct Connect and Site-to-Site VPN
inomasosan
0
4.6k
CloudWatchアラームによるサービス継続のための監視入門 / Introduction to Monitoring for Service Continuity with CloudWatch Alarms
inomasosan
1
2k
Former2でコード生成してGUIポチポチ卒業の第一歩を / Generate code with Former2 and take the first step to graduate from GUI operation.
inomasosan
1
3k
Other Decks in Technology
See All in Technology
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
240
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
220
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
データ基盤の成長を加速させる:アイスタイルにおける挑戦と教訓
tsuda7
3
650
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
130
アジャイル開発とスクラム
araihara
0
160
自動テストの世界に、この5年間で起きたこと
autifyhq
10
7.1k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
480
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
320
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
5.8k
データの品質が低いと何が困るのか
kzykmyzw
6
1k
Larkご案内資料
customercloud
PRO
0
600
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
RailsConf 2023
tenderlove
29
1k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Six Lessons from altMBA
skipperchong
27
3.6k
Thoughts on Productivity
jonyablonski
69
4.5k
A better future with KSS
kneath
238
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Transcript
プライベートサブネットにあるEC2への アクセス方法を整理してみた 2021/10/14 AWS事業本部コンサルティング部 猪股翔
自己紹介 猪股 翔(inomaso) • 2021年1月入社 (元金融系SIer) • AWS事業本部コンサルティング部 • 好きなAWSサービス
◦ AWS Certificate Manager ◦ AWS Chatbot • 好きなIaCツール ◦ Terraform @inomasosan 2
本セッションは… 想定聴講者 • Web三層(ELB+EC2+RDS)の構築経験あり • 踏み台サーバを使用している ゴール • 踏み台サーバ以外のアクセス方法があることを知る •
アクセス方法のメリット・デメリットがわかる 3
まとめ プライベートサブネットにあるEC2へのアクセス方法は 主に以下の3つ • AWS Systems Manager Session Manager (以下セッションマネージャーという)
• AWS ClientVPN • 踏み台サーバ 4
まとめ プライベートサブネットにあるEC2へのアクセス方法は 主に以下の3つ • AWS Systems Manager Session Manager (以下セッションマネージャーという)
• AWS ClientVPN • 踏み台サーバ 5 まずはセッションマネージャー の採用から検討しましょう!
6 おさらい プライベートサブネットって何だっけ?
プライベートサブネットとは このセッションではプライベートサブ ネットをインターネットから直接アク セスできないサブネットとします。 ※詳細に分類するとプロテクトサブ ネットという考えもありますが、この セッションでは割愛します。 7
8 1. セッションマネージャー
セッションマネージャーとは • AWS Systems Managerの機能のひとつ • AWSマネージメントコンソールやAWS CLIから、SSHやRDPなし でEC2へCLI操作が可能 •
ProxyCommandやポート転送セッションを利用して、Linuxサーバ にSSH接続や、Windows ServerへRDP接続可能 9
10 構成例 実際に構成例を見ていきましょう
構成図(NatGateway) 11 NatGatewayを利用した構成例 EC2のフロントにELBを配置 し、SSL証明書運用の簡略化 やセキュリティ等を考慮した ネットワーク構成
構成図(NatGateway) 12 ・セキュリティグループのアウトバウ ンドルールで、HTTPSの許可があ れば通信可能 ・ユーザがアクセスしているのは、 インスタンスではなくセッションマ ネージャのエンドポイント
構成図(VPCエンドポイント) 13 VPCエンドポイントを利用した 構成例 インターネットにアクセスでき ない環境で、急遽アクセスが 必要となった場合にも最小限 の設定変更で導入可能
構成図(VPCエンドポイント) 14 ・セッションマネージャーと通信するために 3つのInterface型VPCエンドポイント作成 com.amazonaws.region.ssm com.amazonaws.region.ec2messages com.amazonaws.region.ssmmessages ・セキュリティグループのインバウンドルールに、 VPC内からのHTTPSの許可が必要 ・セキュリティグループのアウトバウ
ンドルールで、HTTPSの許可があ れば通信可能 ・SSM Agent更新用に、以下のGateway型 VPCエンドポイント作成 com.amazonaws.ap-northeast-1.s3
メリット・デメリット メリット • 踏み台用のEC2作成不要 • セッションマネージャー自体の料金無料 • EC2のセキュリティグループに、追加のインバウンドルール不用 • AWSマネージメントコンソールやAWS
CLIから公開鍵認証やパスワード 認証なしで、EC2へCLI操作可能 • ProxyCommandやポート転送セッションで、SSHやRDP接続可能 15
メリット・デメリット デメリット • Windows ServerをGUIで操作したい場合は、ポート転送セッションによる RDP接続が必要 • LinuxサーバにクライアントPCからscp等でファイルコピーしたい場合 は、ProxyCommandかポート転送セッションが必須 •
SSHやRDP接続にローカル端末でTera Termやリモートデスクトップクラ イアントを使用する場合は、AWS CLIが必要となるためIAMアクセス キーやシークレットキーを管理・運用しなければならない 16
参考資料 ProxyCommand例 https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-sta rted-enable-ssh-connections.html ポート転送セッション開始方法 https://dev.classmethod.jp/articles/ssh-through-session-manager/ セッションマネージャーを使用してプライベートサブネットのLinux用EC2にアクセス(NAT Gateway編) https://dev.classmethod.jp/articles/terraform-session-manager-linux-ec2-natgateway/ セッションマネージャーを使用してプライベートサブネットのLinux用EC2にアクセス(VPCエンドポイント編)
https://dev.classmethod.jp/articles/terraform-session-manager-linux-ec2-vpcendpoint/ 17
18 2. AWS Client VPN
AWS Client VPNとは • VPC上のAWSリソース、および VPC を経由した対向の環境への安全なアク セスを提供するマネージドなクライアントベースのVPNサービス • 認証方法は以下のいずれかを選択
◦ 相互認証(クライアント証明書認証) ◦ AD認証 ◦ SAML経由のフェデレーション認証 19
20 構成例 実際に構成例を見ていきましょう
相互認証 証明書を利用した構成例 クライアント証明書やサーバ証 明書は自前で用意し、ACMへ インポートする必要有り 21
相互認証 22 ・VPNクライアントに証明書設定し VPN接続
メリット・デメリット メリット • 踏み台用のEC2作成不要 • EC2以外にもS3やDX経由でオンプレに接続可能 • ローカル端末のTera Termやリモートデスクトップクライアントそのまま 利用可能
23
メリット・デメリット デメリット • 料金が最低でも$108/月は必要 • 相互認証の場合、クライアント証明書・サーバ証明書の発行・管理が必 要 • AD認証、SAML経由のフェデレーション認証も別途構築が必要 •
端末毎にVPNクライアントの導入準備が必要 24
参考資料 [AWS]踏み台をワンチャンなくせる!?VPC接続にClient VPNを使ってみよう https://dev.classmethod.jp/articles/vpc-client-vpn/ 【登壇資料】AWS Client VPN 入門 #devio2020 https://dev.classmethod.jp/articles/developers-io-2020-connect-aws-client-vpn/
25
26 3. 踏み台サーバ
踏み台サーバとは • プライベートサブネットのEC2にログインするための中継サーバ • インターネットからアクセス可能なパブリックサブネットに構築 • 踏み台サーバのOSにLinuxを選んでも、SSHポート転送でWindows Serverに リモートデスクトップで接続可能 27
28 構成例 実際に構成例を見ていきましょう
踏み台サーバ 踏み台サーバを利用した構成 例 踏み台サーバ用のEC2構築の みなので、簡単に準備できる 29
補足)踏み台サーバに秘密鍵のコピーは危険 30 https://dev.classmethod.jp/articles/bastion-multi-stage-ssh-only-local-pem/
メリット・デメリット メリット • 簡単に構築可能 • オンプレの踏み台と同様に使用できる • 未使用時はEC2を停止することで、コスト最小化が可能 • ECS
+ RDSのような構成の場合、RDSメンテナンス用に踏み台サーバ を構築した方が良いケース有り 31
メリット・デメリット デメリット • 継続的なサーバ管理が必要 • 踏み台サーバ含めた鍵の管理が必要 32
33 アクセス方法の比較
比較表(個人的主観) 34 セッションマネージャ Client VPN 踏み台サーバ 料金 ◎ △ ◯
運用・管理の手間 ◎ ◯ △ (AWS側)導入容易性 ◎ △ ◎ (クライアント側)導入容易性 △ ◯ ◎ 接続可能リソース数 △ ◎ ◎
比較表(個人的主観) 35 セッションマネージャ Client VPN 踏み台サーバ 料金 ◎ △ ◯
運用・管理の手間 ◎ ◯ △ (AWS側)導入容易性 ◎ △ ◎ (クライアント側)導入容易性 △ ◯ ◎ 接続可能リソース数 △ ◎ ◎ 料金や運用面で優れており、 AWS側の導入も容易
比較表(個人的主観) 36 セッションマネージャ Client VPN 踏み台サーバ 料金 ◎ △ ◯
運用・管理の手間 ◎ ◯ △ (AWS側)導入容易性 ◎ △ ◎ (クライアント側)導入容易性 △ ◯ ◎ 接続可能リソース数 △ ◎ ◎ IAM管理やEC2以外の接続要 件あり
まとめ プライベートサブネットにあるEC2へのアクセス方法は 主に以下の3つ • AWS Systems Manager Session Manager (以下セッションマネージャーという)
• AWS ClientVPN • 踏み台サーバ 37 まずはセッションマネージャー の採用から検討しましょう!
本セッションは… 想定聴講者 • Web三層(ELB+EC2+RDS)を構築経験あり • 踏み台サーバをメインで運用している ゴール • 踏み台サーバ以外のアクセス方法があることを知る •
アクセス方法のメリット・デメリットがわかる 38
None