ラボの概要
会社にはオンプレミスでホストされている既存のウェブアプリケーションがあり、クラウドプロバイダーとして Amazon Web Services (AWS) を使用して、既存のインフラストラクチャをクラウドに移行することが決まったとします。Solutions Architect としてさまざまな移行戦略を分析して評価し、アプリケーションを AWS クラウドに移行するためのソリューションを考える必要があります。
このラボでは AWS Elastic Beanstalk を使用してウェブアプリケーションをリプラットフォームし、クラウドに移行します。
アイコンキー
このラボでは、ガイドの特定部分への注意を促すため、さまざまなアイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- キーボードのアイコンは、コマンドを実行する必要があることを示します。
- クリップボードのアイコンは、提示されている例と比較して、コマンドや編集したファイルの出力を検証できることを示します。
- ノートのアイコンは、重要なヒント、コツ、ガイダンス、アドバイスを示します。
- 特記事項または重要な情報注意を読み忘れても機器やデータが破損することはないものの、特定のステップを再度行う必要が生じる場合があります。
- 丸印の中の “i” のアイコンは、詳細情報が記載されている場所を示します。
- 少し立ち止まって、自分の環境での適用方法を検討したり、学習しているトピックに関して議論したりすることをお勧めします。
AWS Elastic Beanstalk の概要
AWS Elastic Beanstalk は、Apache、Nginx、Passenger、IIS といった一般的なサーバーで Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker を使って開発されたウェブアプリケーションやウェブサービスを簡単にデプロイおよびスケーリングするためのサービスです。
お客様がそのコードをアップロードすると、キャパシティーのプロビジョニングから負荷分散、自動スケーリング、アプリケーションの状態モニタリングまで、デプロイが自動的に処理されます。同時に、ユーザーはアプリケーションで使用される AWS リソースを完全にコントロールし、いつでも基盤となるリソースにアクセスできます。
Elastic Beanstalk には追加料金はかかりません。アプリケーションを保存および実行するために必要な AWS のリソースに対してのみお支払いいただきます。
Elastic Beanstalk を使用するには、アプリケーションを作成して、アプリケーションソースバンドル (例えば、Java の .war ファイル) の形でアプリケーションバージョンを Elastic Beanstalk にアップロードし、それからアプリケーションに関する情報を提供します。Elastic Beanstalk によって自動的に環境が起動され、コードの実行に必要な AWS リソースが作成、設定されます。環境が起動したら、環境を管理し、新しいアプリケーションバージョンをデプロイできます。次の図は Elastic Beanstalk のワークフローを示しています。
アクセス許可
AWS Elastic Beanstalk では、環境を作成する際に、以下の 2 つの Identity and Access Management (IAM) ロールを設定するように指示されます。
- サービスロール: サービスロールは、ユーザーに代わって他の AWS サービスを使用するために、Elastic Beanstalk によって引き受けられます。
- インスタンスプロファイル: インスタンスプロファイルは環境内のインスタンスに適用され、Amazon Simple Storage Service (Amazon S3) からアプリケーションバージョンを取得したり、Amazon S3 にログをアップロードしたり、環境の種類やプラットフォームによって異なるその他のタスクを実行したりできます。
このラボでは、サービス ロールとインスタンスプロファイルは最初のラボのセットアップの一部として既に作成されています。
取り上げるトピック
このラボを修了すると、以下ができるようになります。
- AWS への移行のためにアプリケーションのソースコードを準備する。
- アプリケーションのソースコードバージョンを S3 バケットにアップロードする。
- Elastic Beanstalk アプリケーションを作成して環境を起動する。
- Elastic Beanstalk 環境を確認、管理する。
技術知識の前提条件
このラボを修了するには、以下の条件が必要です。
- Microsoft Windows、Mac OS X、または Linux (Ubuntu、SuSE、Red Hat) が搭載されているコンピュータを利用できる。
- Chrome や Firefox などの最新のインターネットブラウザがある。
- AWS マネジメントコンソールの基本的な操作について理解している。
- AWS Cloud9 コードエディタ、または vi や nano などのツールを使用したスクリプトの編集に慣れている。
所要時間
このラボの所要時間は 60 分です。