type
status
date
slug
summary
tags
category
icon
password
理論
AWS AmplifyとAWS Transfer Familyの比較表を以下に示します。どちらもAWSのサービスですが、用途や機能が異なります。
特長 | AWS Amplify | AWS Transfer Family |
目的 | フルスタックアプリケーションの開発とホスティング | ファイル転送(SFTP, FTPS, FTP)サービス |
主な用途 | モバイル・ウェブアプリケーションの構築とホスティング | セキュアなファイル転送をAWSに統合 |
データ保存 | Amazon S3やDynamoDBとの統合 | Amazon S3と統合(ファイルストレージ) |
認証 | Amazon Cognitoによるユーザー認証 | IAMロールとアクセス制御 |
API & バックエンド | AWS AppSyncやLambdaを使ったバックエンドサービス | 利用なし(ファイル転送に特化) |
スケーラビリティ | 自動スケーリング、フルスタックサポート | スケーラブルなファイル転送サービス |
主な利点 | フルスタック開発、簡単なデプロイと管理 | 既存のファイル転送プロトコルのサポート |
使用シナリオ | モバイルやウェブアプリの開発、ホスティング | セキュアなファイル転送が必要な場合 |
要点:
- AWS Amplifyは、アプリケーション開発とホスティングを支援するサービスで、フルスタックの開発を加速します。
- AWS Transfer Familyは、FTP、SFTP、FTPSなどのプロトコルを使用して、セキュアなファイル転送をサポートするサービスです。

1. AWSへのアプリケーション移行
オンプレミスのアプリケーションをAWSに移行する際、AWSが提供するさまざまな移行サービスを活用できます。AWS Application Migration Service (旧称: Server Migration Service) は、物理または仮想サーバをAWSクラウドに移行するための自動化されたサービスで、最小の手間で迅速に移行を完了させることができます。
2. Auto Scalingとロードバランシング
AWSのAuto Scalingは、トラフィックや負荷に応じて自動的にインスタンスの数を増減させることで、高可用性とスケーラビリティを実現します。これにより、サーバーの過負荷やダウンタイムを防ぎ、スムーズなユーザー体験を提供できます。また、Application Load Balancerはリクエストを複数のEC2インスタンスに分散させ、パフォーマンスを最適化します。
3. ファイルの保存と管理
アプリケーションでのファイル保存には、Amazon S3が広く利用されます。S3はスケーラブルで高可用性があり、オブジェクトストレージサービスとして大容量のデータを効率的に保存できます。ファイルをS3に保存することにより、オンプレミスのファイルサーバを管理する負担を軽減し、可用性と耐障害性を高めることができます。
4. ユーザー認証と管理
ユーザー認証には、Amazon Cognitoが便利です。Cognitoはユーザーのサインアップ、サインイン、アクセス制御を簡単に管理できるサービスで、アプリケーションに組み込むことで、認証を迅速に実装できます。また、AWS IAM Identity Center (AWS Single Sign-On) を使って、統一的なサインイン機能を提供することもできます。
5. 静的ウェブサイトの構築
AWSでは、静的コンテンツを提供するために、Amazon S3を使って静的ウェブサイトをホスティングできます。また、AWS Amplifyを利用すると、フロントエンドアプリケーションの開発、ホスティング、認証機能の統合が簡単に行え、迅速な開発が可能です。さらに、Amazon CloudFrontを利用すれば、静的ウェブサイトをグローバルに配信し、低遅延でユーザーに提供できます。
6. アプリケーション開発の加速
AWSのツールを活用することで、アプリケーションの開発と運用が加速されます。例えば、AWS Amplifyを使うことで、フロントエンドとバックエンドの開発が迅速に進み、デプロイ作業も簡単に行えます。これにより、アプリケーションの開発が加速し、ビジネスの変化に迅速に対応できます。
この問題では、アプリケーションの移行とその後のスケーリング、認証、ストレージ管理に関する選択肢が提示されています。最小限の運用オーバーヘッドでこれらの要件を満たすためには、AWSのマネージドサービスを活用して、アプリケーションの移行と管理を簡素化し、ユーザー認証やファイル保存を効率的に行うことが重要です。
実践
略
一問道場
Question #258
トピック 1
ある企業がオンプレミスのデータセンターでアプリケーションを運用しています。このアプリケーションでは、ユーザーがメディアファイルをアップロードできる機能を提供しています。ファイルはファイルサーバに保存されますが、アプリケーションサーバが過剰に負荷がかかっており、その結果、データのアップロードが時々失敗しています。企業はファイルサーバに新しいストレージを頻繁に追加していますが、これらの課題を解決するためにアプリケーションをAWSに移行したいと考えています。アメリカとカナダのユーザーがこのアプリケーションにアクセスしており、アプリケーションにファイルをアップロードできるのは認証されたユーザーのみである必要があります。企業はアプリケーションをリファクタリングすることを検討しており、アプリケーション開発を加速させる必要があります。
最小の運用オーバーヘッドでこれらの要件を満たすソリューションはどれですか?
A. AWS Application Migration Service を使用してアプリケーションサーバを Amazon EC2 インスタンスに移行し、EC2 インスタンス用に Auto Scaling グループを作成します。アプリケーションロードバランサーを使ってリクエストを分散し、アプリケーションを変更して、ファイルを Amazon S3 に保存します。ユーザー認証には Amazon Cognito を使用します。
B. AWS Application Migration Service を使用してアプリケーションサーバを Amazon EC2 インスタンスに移行し、EC2 インスタンス用に Auto Scaling グループを作成します。アプリケーションロードバランサーを使ってリクエストを分散し、AWS IAM Identity Center(AWS Single Sign-On)を設定してユーザーにアプリケーションへのサインイン機能を提供します。アプリケーションを変更して、ファイルを Amazon S3 に保存します。
C. メディアファイルのアップロード用に静的ウェブサイトを作成し、静的アセットを Amazon S3 に保存します。AWS AppSync を使って API を作成し、AWS Lambda リゾルバを使ってメディアファイルを Amazon S3 にアップロードします。ユーザー認証には Amazon Cognito を使用します。
D. AWS Amplify を使ってメディアファイルのアップロード用の静的ウェブサイトを作成し、Amplify Hosting を使って Amazon CloudFront 経由でウェブサイトを配信します。アップロードされたメディアファイルは Amazon S3 に保存します。ユーザー認証には Amazon Cognito を使用します。
解説
会社は、メディアファイルのアップロード用の静的ウェブサイトを作成するためにAWS Amplifyを使用するべきです。会社は、Amplify Hostingを使用して、ウェブサイトをAmazon CloudFront経由で配信するべきです。アップロードされたメディアファイルは、Amazon S3に保存され、ユーザー認証にはAmazon Cognitoを使用します。このソリューションは、最も運用負荷が少ない方法で要件を満たします。なぜなら、AWS Amplifyはフルスタックアプリケーションを簡単に構築、展開、ホストできる完全なソリューションを提供し、AWSのサービスを活用する柔軟性があり、クラウドの専門知識がなくても利用できます。
AWS Amplifyを使用することで、アプリケーションをサーバーレスアーキテクチャにリファクタリングでき、運用の複雑さとコストを削減できます。AWS Amplifyは次の特徴と利点を提供します:
- Amplify Studio:フロントエンドUIとバックエンドを含むフルスタックアプリを視覚的に構築し、展開できるインターフェース。
- Amplify CLI:数コマンドでアプリのバックエンドを構成および管理できるローカルツールチェーン。
- Amplify Libraries:クラウド対応のモバイルおよびウェブアプリを構築するためのオープンソースのクライアントライブラリ。
- Amplify UI Components:機能豊富なアプリを迅速に構築するためのクラウド接続コンポーネントを持つオープンソースのデザインシステム。
- Amplify Hosting:迅速で安全、かつ信頼性の高い静的およびサーバーサイドレンダリングアプリのためのフルマネージドCI/CDとホスティング。
AWS Amplifyを使用してメディアファイルのアップロード用静的ウェブサイトを作成することで、Amplify Studioを活用してピクセル完璧なUIを視覚的に構築し、数回のクリックでクラウドバックエンドに接続できます。Amplify Hostingを使用して、Amazon CloudFrontを通じてウェブサイトを配信することで、AWSのコンテンツ配信ネットワーク(CDN)を利用し、世界中の何百もの拠点から高速で安全な配信が可能になります。アップロードされたメディアファイルは、Amazon S3に保存することで、スケーラブルで耐久性が高く、コスト効果の高いオブジェクトストレージサービスの利点を享受できます。さらに、Amazon Cognitoを使用してユーザー認証を行うことで、ユーザーサインアップ、サインイン、およびアクセス制御をスケーラブルに追加でき、数百万のユーザーをサポートする完全にマネージドなサービスを利用できます。
他の選択肢が不適切な理由は以下の通りです:
- AWS Application Migration Serviceを使用してアプリケーションサーバをAmazon EC2インスタンスに移行する方法は、アプリケーションをリファクタリングするものではなく、開発を加速するわけでもありません。AWS MGNは、物理サーバや仮想マシン(VM)をAWSに移行するサービスですが、この方法では過負荷やデータアップロード失敗の問題を解決できません。また、サーバーレスアーキテクチャに比べて運用負荷やコストが削減されるわけでもありません。
- メディアファイルのアップロード用に静的ウェブサイトを作成し、AWS AppSyncを使ってAPIを作成する方法は、AWS Amplifyを使用するよりも設定や管理が複雑になります。AWS AppSyncは柔軟なAPIを作成するサービスですが、Amplify StudioやAmplify Hostingのような簡単な設定ができません。また、Amazon Cognitoのような認証機能も提供されません。
- *AWS IAM Identity Center (AWS Single Sign-On)**を使用してアプリケーションにサインインできるようにする方法は、Webやモバイルアプリのエンドユーザー認証には適していません。AWS SSOは複数のAWSアカウントやビジネスアプリケーションのアクセス管理に特化したサービスで、エンドユーザーの認証にはAmazon Cognitoの方が適しています。
以上が、この選択肢が最適な理由です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/174d7ae8-88e2-807c-af4e-d664cf796640
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章