SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【AWS】入門その⑥ AWSでWebアプリケーション構築する準備をしよう

AWSにてwebアプリケーションを構築する前の準備をします。
AWS自体のサービスにはほぼ触れないです。

【webアプリケーション構築-準備編】

ローカル環境にEclipseを導入し、EclipseからAWSにアクセスできるようにする。

webアプリケーションのアーキテクチャ

一般的なアーキテクチャ

webアプリケーションのアーキテクチャというと一般的かつ教科書的なのは3層構造でしょう。
この構造はサーバの負荷軽減、クライアント側の更新が不要である点などの特徴があります。
呼び方は多少ぶれがあると思いますがここでは以下の通りとします。

f:id:wantanBlog:20190727021133p:plain

★webサーバ
サーバからHTTPリクエストを受け付け、HTTPレスポンスを返す。
静的コンテンツのみであればwebサーバのみで対応することができる。「その⑤」までに構築したwebサーバがまさにそれですね。

Apache HTTP Serverが有名

★アプリケーションサーバ
業務処理を担当するサーバ。webアプリの本体ともいえる。
処理結果をwebサーバへと返す。

Apache Tomcatが有名。

★DBサーバ
永続データの管理を行う。
一般にはAPサーバからSQLでリクエストを受け取り登録更新や検索を行い結果を返す。

MySQLやOracle Databaseなどがある。

AWSでのアーキテクチャ

AWSをwebアプリを構築するアーキテクチャはいくつも考えられるそうです。
少しだけご紹介。

①EC2でAPサーバとDBサーバを構築する
EC2インスタンスにAPサーバとDBサーバをインストールする。
EC2にOSをインストールする手間が発生するが、OSレベルでのチューニングをすることができる。
オンプレと同じようなに構築や運用を行うため、AWSの恩恵を受けづらいそうです。

②EC2とRDSを利用する
EC2インスタンスにAPサーバをインストールし、DBサーバにRDSを利用する。
RDSを利用すると、DBサーバの冗長化やバックアップ構成などをRDSが行うため、運用タスクが楽になる。
但しOSにログインできないため、チューニングができない。

少しだけイメージできた。

③Elastic Beanstalkを利用する
Elastic BeanstalkはPaasに当たり、EC2、S3、ELBなどの環境を自動生成し利用する。
⇒開発のスピードをより向上させることができる。


webアプリ開発環境の構築

Eclipseのインストール

今回はAWSを利用することを目的しているため、凝りすぎると本題からそれるのでコーディングをどこまでやるかは未定だが、統合開発環境(IDE)を導入しておく。
IDEとしてはEclipseをインストールする。


①Pleiades All in One ダウンロード

Eclipseは単体でも機能するが、多くの場合はプラグインの追加を行って使用することが多いだろう。
「Pleiades All in One」はプラグイン等が既に入った状態でインストールすることができる。

以下は「Pleiades All in One」のダウンロードサイトから引用

Pleiades All in One は Windows、Mac 向けに Eclipse 本体と日本語化を行うための Pleiades プラグインおよびプログラミング言語別に便利なプラグインをまとめたパッケージです。また、Full Edition の場合は JDK のインストールや環境変数の設定が不要で Eclipse の各種設定も自動で行われるため、ダウンロードして起動すれば、すぐに日本語化された Eclipse を利用できます。既にインストール済みの Eclipse に適用したい場合や、Linux で使用する場合は、All in One ではなく Pleiades プラグイン本体のみをダウンロードしてください。

リンクは以下。
Eclipse 日本語化 | MergeDoc Project


特に理由がなければ最新版をダウンロードすればよいと思います。

f:id:wantanBlog:20190731234204p:plain

なお現時点での最新版で32bit対応は終わっているみたいなので、32bitの場合は少し古いバージョンをダウンロードする必要があり以下の操作やインターフェースが少し変わるかもしれない。

私の場合は2019-06のWindows 64bitバージョンをダウンロードしました。

f:id:wantanBlog:20190731234221p:plain


②Pleiades All in One インストール

C:直下に展開しようとしたところ
f:id:wantanBlog:20190802001704p:plain

以下のようなエラーが表示された。

[Window Title]
圧縮 (zip 形式) フォルダー エラー

[Content]
フォルダーを開くことができません。

圧縮 (zip 形式) フォルダー 'C:\pleiades-2019-06-java-win-64bit-jre_20190630.zip' は無効です。

f:id:wantanBlog:20190802001901p:plain

[Window Title]
圧縮 (zip 形式) フォルダー エラー

[Content]
展開を完了できません。

圧縮 (zip 形式) フォルダー 'C:\pleiades-2019-06-java-win-64bit-jre_20190630.zip' は無効です。

f:id:wantanBlog:20190802002038p:plain

非推奨の解凍ソフトを使用していたわけではなかったが、とりあえず7-Zipで再度解凍をおこなったら成功した。
圧縮・解凍ソフト 7-Zip

f:id:wantanBlog:20190802003506p:plain


f:id:wantanBlog:20190802003657p:plain


③Eclipseのショートカット作成

Eclipseのexeファイルは「pleiades\clipse」直下にあります。

f:id:wantanBlog:20190802213526p:plain

実際につかう際にはショートカットをつくっておいた方が便利なのでデスクトップに作成しておきます。

f:id:wantanBlog:20190802213802p:plain

f:id:wantanBlog:20190802213819p:plain


④workspaceの指定

初回起動時には少し時間がかかります。
ここでワークスペースを指定しますが、特に理由がなければデフォルトの設定でよいでしょう。
f:id:wantanBlog:20190802214617p:plain

起動ができました。もう何をやっても自由です。

f:id:wantanBlog:20190802214749p:plain


準備ができてきました!(まだ終わってない

AWS Toolkitプラグインのインストール

「AWS Toolkit」はEclipseからAWSを操作するためのプラグインのようです。
デフォルトでは入っていないのでここで入れておきます。


ヘルプ>新規ソフトウェアのインストール
f:id:wantanBlog:20190802220353p:plain


インストール画面で、「https://aws.amazon.com/eclipse」を入力すると一覧がでてくるので全て選択して次へ。
f:id:wantanBlog:20190802220709p:plain


AWS SDK for Androidだけインストールできないようですが、とりあえず次へ。
f:id:wantanBlog:20190802220929p:plain

詳細を確認して次へ
f:id:wantanBlog:20190802221152p:plain

条件に同意して完了。
f:id:wantanBlog:20190802221320p:plain


インストール後、指示通りに再起動するとアイコンが追加されています。
f:id:wantanBlog:20190802221927p:plain


Eclipseですぐにできるのはここまで。
AWS側での設定に移ります。

AWS Toolkitの設定

IAMアクセスユーザの作成

Eclipseにツールを導入しましたが、現状ではEclipseからAWSに接続することができないので、Eclipseで使用する用のユーザを作成します。

作成はIAMから行うので過去記事のIAMユーザ作成が参考になる???
www.wantanblog.com

ユーザ作成

とにもかくにもまずはサービスからIAMを開きます。
f:id:wantanBlog:20190802224344p:plain

ユーザメニューからユーザの追加を行います。
f:id:wantanBlog:20190802225007p:plain

任意のユーザ名を入力、「プログラムによるアクセス」を選択する。
コンソールは使用しないはずなのでこれでいいはず。
f:id:wantanBlog:20190802225514p:plain

グループの設定

以前に作成した管理グループでもいけそうですが、一応使用サービスを制限するために新しいグループを作成します。
f:id:wantanBlog:20190802225739p:plain

任意のグループ名を設定して、EC2とRDSのFullアクセス権限を付与した。
足りなそうなら後で追加すればいいし、知識が足りなくてこれ以上は絞れない。。。
f:id:wantanBlog:20190802230042p:plain

f:id:wantanBlog:20190802230318p:plain


【2019/08/13 追記】

訂正:×AmazonRDSDataFullAccess ⇒ 〇AmazonRDSFullAccess

このときIAMグループに付与した権限ですが、「AmazonRDSDataFullAccess」になっていました。
Eclipse用のユーザの権限には「AmazonRDSFullAccess 」を付与するようにしてください。

そうしないと今後、EclipseからRDSを参照しようと思ったときに「unable to connect」となって接続できなくなってしまうはずです。

【追記ここまで】


元の画面に戻って、今作成したグループが設定されていることを確認して次へ。
f:id:wantanBlog:20190802230513p:plain

タグの設定

毎度のごとく任意のNameタグを設定。
f:id:wantanBlog:20190802230646p:plain

ユーザ作成の完了

登録の内容の確認をして次へ。
f:id:wantanBlog:20190802231034p:plain


ユーザが作成できたので、アクセスキーなどのcsvダウンロードだけ忘れずに完了!!
f:id:wantanBlog:20190802231251p:plain

Eclipse AWS Toolkitのユーザ設定

先ほど作成したユーザをEclipseに設定しておきます。

Eclipseを開いて、ウィンドウの設定を開きます。
f:id:wantanBlog:20190802232104p:plain

AWS Toolkitを選択して、アクセスキーを秘密アクセスキーに先ほどダウンロードしてきた値を入力します。
f:id:wantanBlog:20190802232314p:plain


これでできるようになったはず。実際にいろいろためしてみるのは次回以降にします。



やっぱり、サービスに触れれないと少し退屈ですね。