はじめに
現在SIer5年目でjavascript(Jqueryのみ)、PHP(フレームワーク無し)を2年ほど、C#(Windowsアプリ)3年ほどやってきました。
色々なご縁があり、個人で最近Webサービスの立ち上げをやることになったのですが何せ本当にWebサービスを立ち上げるための知識がほぼ0に等しいです
ただ今後のキャリアを考えた時に今のままではいけないと思いチャレンジすることにしました。
まずは最初に技術を習得しないといけないので、学ぶ&アウトプットするために毎回投稿していこうと思います。
今後身についていこうと思ってるのは下記のような技術です。
AWS
Docker
CI/CD環境の構築(何を使うかはまだ未定)
Laravel
Nuxt.js
今回はAWSについて学んでいきます。
関連記事
モダンな技術を全く知らないSIer5年目がWebサービスを作ることになったため0から勉強する ~AWS編その1~
EC2を学ぶ
AWSでは一番有名?なサービスで、自分もAWSは全く勉強してなくてもこのサービス名とこれでクラウドにサーバを建てれるのは知っていました。
EC2インスタンスを起動する
起動までの流れ
大きく分けて5つの流れで構成されています。
- OS/Imageの選択
- インスタンスタイプの選択
- ストレージの選択
- セキュリティグループの作成
- SSHキーペアの設定
OS/Imageの選択
どのOSを使用するか選定する
EC2サービスの画面でインスタンス作成ボタンを押下すると
Amazonマシンイメージ(AMI)を選択する画面が出てくる
クイックスタート
AWSで用意されているデフォルトのイメージ
マイAMI
自分で作成したAMI
AWS Marketplace
他のベンダーが作成したAMI
コミュニティAMI
その他コミュニティで作成されているAMI
インスタンスタイプの設定
インスタンスタイプを一覧から選択する。今回は無料枠にしておく
ストレージの設定
ストレージの設定を行う
今回は初期値にしておくが、実際Webサービス構築時にはここら辺も考慮が必要かも。。
セキュリティグループの設定
FWの設定を行える。
ソースの項目の箇所でよりアクセスできるところを限定しておかないとセキュリティ的に危ない
SSHキーペアの設定
SSHのキーペアを作成し、ローカルに保存しておく。
SSH接続に必要なため
EC2インスタンスに接続し、ミドルウェアを起動する
立ち上げたEC2にSSH接続し、ミドルウェアを起動する(Apache)
SSH接続する
ターミナルを開いてSSHのキーファイルに移動する
cd {xxx.pemファイルのパス}
SSHキーのファイル権限が大きすぎるためこのままだと接続時にWarningで弾かれてしまう
そのためpermissionの設定を変える
chmod 400 xxx.pem
SSHで接続する
ssh -i udemy-aws-14days.pem ec2-user@{EC2のIPv4 パブリック IP}
httpdのインストールを行う
sudo yum install httpd
httpdを立ち上げる
sudo service httpd start
サーバのIPアドレスでアクセスすると下記の画面が表示されるのでWebサーバが立ち上がったのが確認できる
AMIを取得する
-
AMIとして取得したいインスタンスを停止させる
-
AMIタブを押下し、作成されたAMIを選択し作成ボタンを押下して新たにインスタンスの生成を行う
-
通常のインスタンスのアクセスと同様に行い、Webサーバを立ち上げるとこまで行う
EIPでIPアドレスを固定する
通常インスタンスを起動/停止するたびにIPアドレスが変わってしまう。
IPアドレスを固定にするためEIPの設定を行う
-
[Elastic IP]>[アクション]>[アドレスの関連付け]に移動し、関連付けるインスタンスを選択し、[関連付け]ボタンを押下する
注意点
取得したEIPはどこにも割り当てていなくても料金が発生してしまうため
取得したまま放置しないこと