新人SEの学習記録

14年度入社SEの学習記録用に始めたブログです。もう新人じゃないかも…

学習記録:AWS

[学習記録] AWS

参考書籍

Amazon Web Services 徹底活用ガイド (日経BPムック)

Amazon Web Services 徹底活用ガイド (日経BPムック)

書籍をざっと読んだ感じ

初めてAWSを使う人向けの操作説明・用語解説から、実運用時に詰まるポイントや会社での実際の運用例など。
初心者の自分には用語や各サービスについての説明、初心者が詰まるポイント等の解説は大変ありがたいので、その辺りを中心に読む。
実際の運用例や詰まったポイントの解説とかは今後の参考にざっと読んでおく。

AWSのサービスについて

使いそうなところのみ抜粋。

Elastic Compute Cloud (EC2) インスタンスと呼ばれる仮想サーバを作成。 CPUやメモリ等を組み合わせ、AMIと呼ばれるOS等のパッケージを選択する。
Relational Database Service (RDS) RDBMSが即利用できる状態で提供される仮想サーバを作成。
Elastic Block Store (EBS) EC2に接続して利用するストレージサービス。容量や帯域、SSDなどのタイプを選択。
Simple Storage Service (S3) ファイルサーバ用途で利用するストレージサービス。データやバックアップファイルの格納など。
Virtual Private Cloud (VPC) 仮想ネットワークを作成。ネットワークのアクセス制御やVPNの利用など。
Route 53 AWS内で提供されるDNSサービス。インスタンスは再起動するとIPアドレスが変わってしまうので、これを利用して名前解決する。
初心者のつまずきポイント抜粋
  • サービスの数に惑わされない。使いそうなサービスだけに絞って覚える。とりあえずEC2, S3, RDS, VPCあたり。
  • ともあれネットワーク全般の知識が必要。
  • RDSで作成される仮想サーバにはSSHでログインできない。RDSが動作するOSにはアクセスできないようになっている。
  • RDSを作成するとエンドポイントと呼ばれるDNS名が発行されるが、IPアドレスは固定できないので接続には必ずDNS名を使う。
  • RDSのタイムゾーンはデフォルトでUTCに設定される。JSTの9時間前の時刻でデータが登録されていたらこれ。
  • EC2インスタンスから外部へのメール送信には一定の制限あり。申請フォームから制限解除。

実際に使ってみた感じ

EC2でインスタンス(仮想サーバ)作成

AMI(OS)、マシンスペック、ネットワーク、ストレージ等々を指定して起動する。
とりあえずほぼデフォルト設定(=Amazon Linux, t2.micro, Default VPC, 8GB SSD)で起動。
Step 6.のSecurity Groupのみ変更の必要がある。

  • セキュリティグループの設定

許可するポート番号とIPアドレスを指定する。hosts.allowやらファイアウォールやら的な設定。
とりあえずSSH、HTTP(社内からならProxyも)のポートあたりを、アクセスしたいIPアドレスを指定して解放する。

Launch時に認証用の暗号鍵の生成を求められるので、そこで生成した暗号鍵を用いてアクセス。
インスタンスの詳細画面にPublic IP Addressという表記でグローバルIPアドレスドメイン名が書かれているので、それをもとにターミナルソフトで接続。
以下を見ながらPuTTYで接続してみた。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/putty.html

  • 色々インストールしてみる

Amazon LinuxRHELベースらしい。なのでパッケージ管理はyum
とりあえずApacheをインストールして、ブラウザから接続してみる。
その他zshとかemacsやらをインストール。

続いて以下のページを参考にWordPressを入れてみる。
AWS Amazon EC2 + Amazon RDSを使ってWordPressを構築する | tsuchikazu blog
Amazon Web Services(AWS)を使ってみる~データベースRDS | office WONDERLAND

まずはRDSでMySQLの入った仮想サーバを作成。
こちらもほぼデフォルト設定で、データベース名やユーザ/パス等を入力。
セキュリティグループはEC2で作成したものを指定するのがちょっとわかりにくかった。
その際セキュリティグループの設定でMySQLのポートも開放しておく。

あとはURLの通りコマンドを打っていけばインストール完了。
ちょっとメモリが足りないのか微妙に挙動がおかしいがだいたい動く。

続いて以下のページを参考にGitLabを入れてみる。
GitLabをEC2上で動かすまでの7コマンド - Qiita

インストール自体はサクサクだったがブラウザからアクセスできるまでに少し詰まった。
最終的にインスタンスを再起動したら動いた模様。apacheの再起動とかは試したんだけど…

所感

  • 感想

とりあえず基本的なところをざっとは触ってみた。
何も知らない状況から使おうとすると設定やら使い方やらでちょいちょい詰まる。
頻繁にUI等が変わるらしいので、なるべく最新の情報を調べたり聞いたりする必要がありそう。

  • 今後

デプロイはまだやってないので、以下のURLを参考にElastic BeansTalk触ってみる。
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪

NoSQLデータベースとか弄ったり、VPN設定してネットワーク構築とかもしてみたいがあまり業務とは関係ないかな?