翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
セキュリティ設定と IAM ロール
eb migrate コマンドは、IAM ロール、インスタンスプロファイル、およびサービスロールを通じて AWS セキュリティ設定を管理します。これらのコンポーネントを理解することで、移行中の適切なアクセスコントロールとセキュリティコンプライアンスを確保できます。
インスタンスプロファイル設定
インスタンスプロファイルは、Elastic Beanstalk が環境内の EC2 インスタンスにアタッチする IAM ロールのコンテナとして機能します。eb migrate を実行するときに、カスタムインスタンスプロファイルを指定できます。
PS C:\migrations_workspace>eb migrate --instance-profile "CustomInstanceProfile"
インスタンスプロファイルを指定しない場合、eb migrate はこれらのアクセス許可を持つデフォルトプロファイルを作成します。
サービスロールの管理
サービスロールを使用すると、Elastic Beanstalk はユーザーに代わって AWS リソースを管理できます。次のコマンドを使用して、移行中にカスタムサービスロールを指定します。
PS C:\migrations_workspace>eb migrate --service-role "CustomServiceRole"
指定しない場合、eb migrate は、Elastic Beanstalk がロールを引き受けることを許可する信頼ポリシーを持つ aws-elasticbeanstalk-service-role という名前のデフォルトのサービスロールを作成します。このサービスロールは、Elastic Beanstalk が環境の状態をモニタリングし、マネージドプラットフォームの更新を実行するために不可欠です。サービスロールには、次の 2 つのマネージドポリシーが必要です。
-
AWSElasticBeanstalkEnhancedHealth- Elastic Beanstalk が強化されたヘルスレポートシステムを使用してインスタンスと環境の正常性をモニタリングできるようにします -
AWSElasticBeanstalkManagedUpdates- 新しいプラットフォームバージョンが利用可能になったときに環境リソースを更新するなど、Elastic Beanstalk がマネージドプラットフォームの更新を実行できるようにします
これらのポリシーでは、サービスロールには以下のアクセス許可があります。
-
Auto Scaling グループを作成して管理する
-
Application Load Balancer を作成して管理する
-
Amazon CloudWatch にログをアップロードする
-
EC2 インスタンスを管理する
サービスロールの詳細については、「Elastic Beanstalk デベロッパーガイド」の「Elastic Beanstalk サービスロール」を参照してください。
セキュリティグループの構成
eb migrate コマンドは、IIS サイトのバインディングに基づいてセキュリティグループを自動的に設定します。例えば、ソース環境にポート 80、443、8081 を使用するサイトがある場合、次の設定結果になります。
<site name="Default Web Site"> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="https" bindingInformation="*:443:" /> </bindings> </site> <site name="InternalAPI"> <bindings> <binding protocol="http" bindingInformation="*:8081:" /> </bindings> </site>
移行プロセスは、次のアクションを完了します。
-
インターネットからのポート 80 および 443 でのインバウンドトラフィックを許可するロードバランサーセキュリティグループを作成します (0.0.0.0/0)
-
ロードバランサーからのトラフィックを許可する EC2 セキュリティグループを作成します
-
--copy-firewall-configが指定されている場合、追加のポート (8081 など) を設定します
デフォルトでは、Application Load Balancer はインターネットからのパブリックアクセスで設定されます。特定の IP 範囲へのアクセスの制限やプライベートロードバランサーの使用など、この動作をカスタマイズする必要がある場合は、--vpc-config パラメータを使用してデフォルトの VPC とセキュリティグループの設定を上書きできます。
PS C:\migrations_workspace>eb migrate --vpc-config vpc-config.json
例えば、次の vpc-config.json 設定では、プライベートサブネットにプライベートロードバランサーを作成します。
{ "id": "vpc-12345678", "publicip": "false", "elbscheme": "internal", "ec2subnets": ["subnet-private1", "subnet-private2"], "elbsubnets": ["subnet-private1", "subnet-private2"] }
VPC の設定オプションの詳細については、「VPC の設定」を参照してください。
SSL 証明書の統合
HTTPS バインディングを使用してサイトを移行する場合は、 AWS Certificate Manager (ACM) を介して SSL 証明書を統合します。
PS C:\migrations_workspace>eb migrate --ssl-certificates "arn:aws:acm:region:account:certificate/certificate-id"
この設定では、次のアクションが完了します。
-
証明書を Application Load Balancer に関連付ける
-
ロードバランサーでの HTTPS 終端を維持する
-
ロードバランサーと EC2 インスタンス間の内部 HTTP 通信を保持します
Windows 認証
Windows 認証を使用するアプリケーションの場合、eb migrate は次のようにアプリケーションの web.config の認証設定を保持します。
<configuration> <system.webServer> <security> <authentication> <windowsAuthentication enabled="true"> <providers> <add value="Negotiate" /> <add value="NTLM" /> </providers> </windowsAuthentication> </authentication> </security> </system.webServer> </configuration>
重要
eb migrate コマンドは、ソース環境からターゲット Elastic Beanstalk インスタンスにユーザープロファイルまたはアカウントをコピーしません。ソースサーバーで作成したカスタムユーザーアカウントまたはグループは、移行後にターゲット環境で再作成する必要があります。
IUSR などの組み込み Windows アカウント、IIS_IUSRS などのグループ、および他のすべての組み込みアカウントとグループは、ターゲット Windows Server インスタンスにデフォルトで含まれます。組み込み IIS アカウントとグループの詳細については、Microsoft ドキュメントの「IIS の組み込みユーザーアカウントとグループアカウントを理解する
アプリケーションがカスタム Windows ユーザーアカウントまたは Active Directory 統合に依存している場合は、移行の完了後にこれらの側面を個別に設定する必要があります。
ベストプラクティスとトラブルシューティング
ロールの管理
Elastic Beanstalk AWS 環境のロールを管理するときに IAM ベストプラクティスを実装します。
- ロールの作成と管理
-
-
可能な場合は、 AWS 管理ポリシーを使用してロールを作成する
-
カスタムポリシーにAWS Policy Generator を使用する
-
セキュリティを強化するためのアクセス許可の境界を実装する
-
- モニタリングと監査
-
ロールの使用状況をモニタリング AWS CloudTrail するには、 を有効にします。
-
リアルタイムモニタリング用に CloudWatch Logs 統合を設定する
-
不正な API コールのアラートを設定する
- 定期的なレビュープロセス
-
四半期ごとのレビューサイクルを確立して、次のタスクを実行します。
-
IAM Access Analyzer を使用して未使用のアクセス許可を監査する
-
古いアクセス許可を削除する
-
最小特権の原則に基づいてロールを更新する
-
証明書管理
Elastic Beanstalk 環境に SSL/TLS 証明書に関する以下のプラクティスを実装します。
- 証明書のライフサイクル
-
-
証明書管理に AWS Certificate Manager を使用する
-
ACM 発行証明書の自動更新を有効にする
-
有効期限通知を設定する
-
- セキュリティ標準
-
-
TLS 1.2 以降を使用する
-
HTTPS リスナーのAWS セキュリティポリシーに従う
-
必要に応じて HTTP Strict Transport Security (HSTS) を実装する
-
セキュリティグループの管理
以下のセキュリティグループのベストプラクティスを実装します。
- ルールの管理
-
-
すべてのカスタムポート要件を文書化する
-
VPC フローログを使用してトラフィックをモニタリングする
-
可能な場合は IP 範囲の代わりにセキュリティグループ参照ルールを使用する
-
- 定期的な監査
-
以下のタスクを行うための毎月のレビューを確立します。
-
未使用のルールを特定して削除する
-
送信元/送信先の要件を検証する
-
重複するルールを確認する
-
ログ記録とモニタリング
効果的なセキュリティモニタリングを行うには、次のログを設定します。
- EC2 インスタンスの Windows イベントログ
-
# Review Security event logPS C:\migrations_workspace>Get-EventLog -LogName Security -Newest 50# Check Application event logPS C:\migrations_workspace>Get-EventLog -LogName Application -Source "IIS*" - CloudWatch Logs の統合
-
CloudWatch Logs エージェントを設定して Windows イベントログを CloudWatch にストリーミングし、モニタリングとアラートを一元化します。
永続的な問題については、これらのログを収集し、以下の情報 AWS サポート について にお問い合わせください。
-
環境 ID
-
デプロイ ID (該当する場合)
-
関連するエラーメッセージ
-
セキュリティ変更のタイムライン