【書籍】AWSをはじめよう

PR

CloudWatchで請求アラートを設定

①右上のアカウント名をクリックして「請求ダッシュボード」をクリック

②左側の「請求設定」をクリック

③以下を入力して「詳細設定を保存」をクリック

PDF 形式の請求書を E メールで受信:チェックを入れる
無料利用枠の使用アラートを受信  :チェックを入れる
E メールアドレス         :自分のメールアドレス
請求アラートを受信        :チェックを入れる

④「請求アラートを管理する」をクリック

⑤「アラームを作成」をクリック

⑥左側の「請求」をクリック

⑦「アラームを作成」をクリック
画面に従ってアラームを作成する

PR

IAMグループの作成

①左上の「サービス」をクリック

②「セキュリティ、ID、およびコンプライアンス」をクリック

③「IAM」をクリック

④左側の「ユーザーグループ」をクリック

⑤右側の「グループを作成」をクリック

⑥右側の「グループを作成」をクリック

⑦「ユーザーグループ名」に任意の名前を設定する

⑧ポリシー「AdministratorAccess」にチェックを付ける
※AdministratorAccessは「ルートユーザーほどではないが1番強い権限」
※なおAdministratorAccessからIAMに関する権限を引いたものが「PowerUserAccess」


⑨右下の「グループを作成」をクリック

PR

IAMユーザーの作成

①左側の「ユーザー」をクリック

②右側の「ユーザーを作成」をクリック

③「AWS マネジメントコンソールへのユーザーアクセスを提供する – オプション」にチェックを入れる

④「IAM ユーザーを作成します」にチェックを入れる

⑤「次へ」をクリック

⑥先程作った「ユーザーグループ」にチェックを入れて「次へ」をクリック

⑦右下の「ユーザーを作成」をクリック

⑧「E メールでのサインイン手順」または「.csv ファイルをダウンロード」をクリックしてパスワードと

⑨「IAMユーザーのコンソールサインイン URL」にアクセスしてログインする

PR

IAMユーザーのMFA(多要素認証)を有効化する

①左側の「ユーザー」をクリック

②「作成したユーザー」をクリック

③「セキュリティ認証情報」タブをクリック

④「MFA デバイスの割り当て」をクリック

⑤「デバイス名」に任意の名前を設定
⑥「MFA デバイスを選択」の任意のやつにチェックを入れる

⑦「次へ」をクリック

⑧記載内容に従って「認証アプリケーションを設定」を実施する

⑨「MFA を追加」をクリック

⑩右上の「IAMユーザー名」をクリックして「サインアウト」

⑪右上の「コンソールにログイン」をクリックしてログインする
※MFA(多要素認証が)が有効になっていることを確認する

PR

ルートユーザーのMFA(多要素認証)を有効化する

①サインアウトする

②「ルートユーザーの E メールを使用したサインイン」をクリック

③「次へ」をクリック

④パスワードを入力してサインインする

⑤左上の「サービス」をクリック

⑥「セキュリティ、ID、およびコンプライアンス」をクリック

⑦「IAM」をクリック

⑧「root ユーザーの MFA を追加する」の「MFA を追加」をクリック

⑨「MFA デバイスの割り当て」をクリック

⑩「デバイス名」に任意の名前を設定
⑪「MFA デバイスを選択」の任意のやつにチェックを入れる

⑫記載内容に従って「認証アプリケーションを設定」を実施する

⑬「MFA を追加」をクリック

PR

リージョンの変更

右上の「バージニア北部」をクリックして「アジアパシフィック(東京)」に変更する

PR

CloudTrailで作業記録(ログ)を確認する

CloudTrailはデフォルトで有効になっているため以下で作業記録(ログ)を確認できる。
デフォルトで90日間のイベントが無料で記録されている。

①左上の「サービス」をクリック

②「管理とガバナンス」をクリック

③「CloudTrail」をクリック

④左側の「イベント履歴」をクリック

90日間以上の記録を残したい場合は「証跡の作成」をする。

PR

EC2でサーバーを立てる

①左上の「サービス」をクリック

②「コンピューティング」をクリック

③「EC2」をクリック

④「インスタンスを起動-インスタンスを起動」をクリック

⑤「名前」に任意の名前を入力 例)start-aws-instance

⑥「アプリケーションおよび OS イメージ (Amazon マシンイメージ)」を選択
・今回は「Amazon Linux 2023 AMI」を選択
・「アーキテクチャ」はデフォルトの「64ビット(x86)」

⑦「インスタンスタイプ」を選択
・今回は「t2.micro」を選択

⑧「キーペア (ログイン)」の「新しいキーペアの作成」をクリック
・「キーペア名」に任意の名前を入力 例)start-aws-keypair
・「キーペアのタイプ」と「プライベートキーファイル形式」はデフォルトのまま

⑨「キーペアを作成」をクリック
→「XXX.pem」がダウンロードされる。

⑩「ネットワーク設定」をする
・「セキュリティグループを作成する」 ※「launch-wizard-1」という名前で作成される
・「からの SSH トラフィックを許可する」にチェック
・「インターネットからの HTTPS トラフィックを許可」にチェック
・「インターネットからの HTTPSトラフィックを許可」にチェック
※後続でApachをインストールする予定のため。

⑪「ストレージ設定」をする
・今回はデフォルトのまま

⑫「高度な詳細」
・今回は触らない

⑬右下の「インスタンスを起動」をクリック

⑭左側の「インスタンス」をクリック
・作成したEC2インスタンスの以下を確認する
 ・「インスタンスの状態」が「実行中」
 ・「パブリック IPv4 アドレス」の値

PR

EC2インスタンスへログイン

①RLoginの@「実行プログラム(64bit)」をダウンロードして展開する


②「RLogin.exe」をダブルクリック

③「新規」をクリック
・「エントリー(上)」に任意の名前 例)start-aws-instance
・「ホスト名(サーバーIPアドレス)」にEC2インスタンスの「パブリック IPv4 アドレス」
・「ログインうユーザー名」に「ec2-user」
・「SSH認証鍵」に「ダウンロードしたXXX.pem」
・「プロトコル」の「KeepAliveパケットの送信間隔」にチェック
・「クリップボード」の「左クリックの範囲指定だけでクリップボードにコピー」にチェック
・「クリップボード」の「コピー時に範囲指定を解除しない」にチェック
・「クリップボード」の「右クリックで貼付け」にチェック
・「フォント」の「文字セット」の「UTF-8」にチェック
・「OK」をクリック

④「OK」をクリック

⑤「接続する」をクリック

⑥「信頼するホスト鍵のリストを更新しますか?」に「はい」

⑦ログインできた。シャットダウンしてみる

sudo shutdown -h now


⑧AWSの画面の「インスタンスの状態」が「停止済み」になる

⑨「作成したインスタンス」にチェックを入れて「インスタンスの状態-インスタンスの開始」をクリック
→起動する。「パブリック IPv4 アドレス」が変わる。

PR

EC2インスタンスにElasticIP(固定IPアドレス)を付ける

①左上の「サービス」をクリック

②「コンピューティング」をクリック

③「EC2」をクリック

④左側の「Elastic IP」をクリック

⑤右上の「Elastic IP アドレスを割り当てる」をクリック

⑥右下の「割り当て」をクリック

⑦「アクション-Elastic IP アドレスの関連付け」をクリック

⑧インスタンスに「関連付けたいEC2インスタンス」を選択
 プライベート IP アドレスに「関連付けたいEC2インスタンスのIPアドレス」を選択

⑨「関連付ける」をクリック

⑩Elastic IP(パブリック IPv4 アドレス)でログインできるかを確認

⑪再起動後もElastic IP(パブリック IPv4 アドレス)でログインできるかを確認

PR

ElasticIP(固定IPアドレス)とドメイン名を紐づける

①左上の「サービス」をクリック

②「ネットワーキングとコンテンツ配信」をクリック

③「Route 53」をクリック

④「ホストゾーン」をクリック

⑤登録済みのホストゾーン(suzuki-app.work等)をクリック

⑥「レコードを作成」をクリック

⑦「レコード名」に「任意の名前」を設定 例) login
 「値」に「ElasticIP」を設定

⑧「レコードを作成」をクリック
→「login.suzuki-app.work」が作成される

⑨「ドメイン名(login.suzuki-app.work)」でログインできるかを確認

PR

mysqlクライアントをインストール

sudo su -
dnf -y localinstall  https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
dnf -y install mysql mysql-community-client
PR

whoisをインストール

dnf -y install whois
PR

PHPとApacheをインストール

・php
・php-mbstring  ←PHPでマルチバイト文字を使用できるようにするPHPの拡張モジュール
・php-mysqlnd ←MySQLサーバ接続(クライアント)ライブラリ

※phpとインストールするとApacheもインストールされる

dnf -y install php php-mbstring php-mysqlnd
PR

Apacheが自動起動するようにする

systemctl enable httpd


自動起動が有効になっていることを確認

systemctl is-enabled httpd
PR

OS(Linux)の設定変更(タイムゾーンを変更)

日本時間にする対応。
権限のあるユーザーで実施。「sudo su – 」でスイッチしてから等。

vi /etc/sysconfig/clock 


「i」で編集モードにして、
 ・「9ZONE=”UTC”」を
 ・「9ZONE=”Asia/Tokyo”」にする

「ESC」で編集モードから抜けて
「:wq」で保存する

catで確認する

cat /etc/sysconfig/clock 


シンボリックリンクを作成する

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


シンボリックリンクが作成されたことを確認

ls -l /etc/localtime


日本時間になったことを確認

date
PR

locale(言語)の設定

localectl set-locale LANG=ja_JP.utf8


確認

localectl status


再起動する。

reboot
PR

ブラウザからドメイン名へアクセスしてみる

●EC2インスタンス作成時に「インターネットからの HTTP トラフィックを許可」にチェックを入れた為、既に80ポートに穴があいている。

●そのため何もせずともウェルカムページ「It works!」が表示される。

PR

バーチャルホストを作成する

①設定ファイルを作成

vi /etc/httpd/conf.d/start-aws-virtualhost.conf


「i」で編集モードにして以下を記載する

<VirtualHost *:80>
	DocumentRoot /var/www/start-aws-documentroot
	ServerName www.suzuki-app.work
	
	ErrorLog logs/start-aws-error.log
	CustomLog logs/start-aws-access.log combined
	
	<Directory "/var/www/start-aws-documentroot">
		AllowOverride All
	</Directory>
</VirtualHost>


「ESC」で編集モードから抜けて
「:wq」で保存する

設定ファイルの構文チェックをする

apachectl configtest


「そんなドキュメントルート無いよ」と警告が出る。ドキュメントルートに設定したディレクトリを作成する

mkdir /var/www/start-aws-documentroot


再度設定ファイルの構文チェックをする。警告が出なくなったことを確認する

apachectl configtest


作成したドキュメント配下に「index.html」を作成する。

vi /var/www/start-aws-documentroot/index.html


「i」で編集モードにして以下を記載する

AWSをはじめよう!


「ESC」で編集モードから抜けて
「:wq」で保存する

Apacheを再起動する

apachectl restart
PR

Route53で自分のサイトのドメインを設定

①左上の「サービス」をクリック

②「ネットワーキングとコンテンツ配信」をクリック

③「Route53」をクリック

④「ホストゾーンの作成」をクリック

⑤登録済みのホストゾーン(suzuki-app.work等)をクリック

⑥「レコードを作成」をクリック

⑦「レコード名」に「www」を設定
 「値」に「ElasticIP」を設定

⑧「レコードを作成」をクリック

⑨ブラウザで「ServerName」に設定したURLへアクセスする
※上記の場合「www.suzuki-app.work」

⑩「AWSをはじめよう!」が表示されることを確認

PR

RDS【パラメーターグループの作成】

今回はMySQLを作成する。

①左上の「サービス」をクリック

②「データベース」をクリック

③「RDS」をクリック

④「パラメーターグループ」をクリック

⑤「パラメータグループの作成」をクリック

⑥以下を入力して「作成」をクリック
パラメータグループファミリー : MySQL 8.0
タイプ : DB Parameter Group
グループ名 : 任意 例) start-aws-parameter-group
説明 : 任意 例) Support Japanese

パラメータとは「MySQLにおける様々な設定値」のこと。
パラメーターグループ」とはパラメータをまとめたもの。

MySQLには「my.cnf」という設定ファイルがある。RDSでは「my.cnf」を直接書き換えるのではなく、パラメーターグループを使用してで書き換える。


⑦作成した「パラメーターグループ」をクリック

⑧検索窓に「character_set」を入力する。検索結果が表示されたら「パラメーターの編集」をクリック

⑨表示された以下5つの値を「utf8mb4」を選択し「変更の保存」をクリック
・character_set_client
・character_set_connection
・character_set_database
・character_set_results
・character_set_server

⑩検索窓に「collation」を入力する。検索結果が表示されたら「パラメーターの編集」をクリック

⑪表示された以下2つの値を「utf8mb4_general_ci」を選択し「変更の保存」をクリック
・collation_connection
・collation_server

⑫検索窓に「init_」を入力する。検索結果が表示されたら「パラメーターの編集」をクリック

⑬表示された以下の値を「SET NAMES utf8mb4;」を入力し「変更の保存」をクリック
・init_connect

PR

RDS【オプショングループの作成】

①左側にある「オプショングループ」をクリック

②「グループを作成」をクリック

③以下を入力し「作成」をクリック
名前 : 任意 例) start-aws-option-group
説明 : 任意 例) for WordPress
エンジン : mysql
メジャーエンジンバージョン : 8.0

「default:mysql-8-0」も作成されるがひとまず気にしない。

PR

RDS【インスタンスを立てる】

①左側にある「データベース」をクリック

②「データベースの作成」をクリック

③以下を選択/入力する
データベース作成方法を選択 : 標準作成
エンジンのオプション : MySQL
テンプレート : 無料利用枠

設定
 DB インスタンス識別子 : 任意 例) start-aws-db-instance
 マスターユーザー名 : 任意 例) start_aws_dbuser
 マスターパスワード: 任意 例) start_aws_password
 マスターパスワードの確認: マスターパスワードと同じ

接続 : EC2 コンピューティングリソースに接続
EC2 インスタンス : 作成したEC2
DB サブネットグループ : 既存の選択
既存の DB サブネットグループ: デフォルト

追加の VPC セキュリティグループ: ひとまず未設定

追加設定
 最初のデータベース名: 任意 例) start_aws_wordpress_dbname
 DB パラメータグループ: 先ほど作成したやつ
 オプショングループ: 先ほど作成したやつ

④「データベースを作成」をクリック

⑤「閉じる」をクリック

⑥「エンドポイント」をテキストエディタにメモする

⑦EC2インスタンスから接続確認
ターミナルでEC2インスタンスへ接続し以下を実行

mysql -h エンドポイント -u マスターユーザー -p


以下は実際の例。

mysql -h start-aws-db-instance.cypwkmpeaqqz.ap-northeast-1.rds.amazonaws.com -u start_aws_dbuser -p


上記を実行するとパスワード入力を求められる。パスワードを入力する

データーベース一覧を確認するコマンドを実行する
※「start_aws_wordpress_dbname」が表示される

show databases;
PR

WordPressをインストール

①EC2に接続。Wordpressをダウンロード

curl -O https://wordpress.org/latest.tar.gz --output /home/ec2-user
ls -lh /home/ec2-user


②圧縮ファイルを展開

tar -xzf /home/ec2-user/latest.tar.gz
ls -lh /home/ec2-user


③Apacheで設定したドキュメントルートへ移動

sudo mv /home/ec2-user/wordpress/* /var/www/start-aws-documentroot/
ls /var/www/start-aws-documentroot/


④ドキュメントルート以下のファイル/ディレクトリのオーナーをapacheユーザーへ変更

sudo chown apache:apache -R /var/www/start-aws-documentroot
ls -ld /var/www/start-aws-documentroot/


⑤Apacheのインストール時に作成した「index.html」を削除

sudo rm -f /var/www/start-aws-documentroot/index.html
ls /var/www/start-aws-documentroot/index.html


⑥ブラウザで「http://www.suzuki-app.work/」へアクセス。画面に従ってインストールする
※「データベースのホスト名」には「エンドポイント」を記載する。

PR

EC2インスタンスからAMIを作成する

①左上の「サービス」をクリック

②「コンピューティング」をクリック

③「EC2」をクリック

④左側の「インスタンス」をクリック

⑤右上の「アクション」-「イメージとテンプレート」-「イメージの作成」をクリック

⑥「イメージ名」任意の名前を入力して「イメージの作成」をクリック
例) start-aws-ami

PR

実施した後片づけ

●WordPressの削除

ls -l /var/www/

sudo rm -rf /var/www/start-aws-documentroot/

ls -l /var/www/
ls -l /home/ec2-user

sudo rm -rf /home/ec2-user/wordpress/
sudo rm -rf /home/ec2-user/latest.tar.gz 

ls -l /home/ec2-user


●PHPとApacheをアンインストール

sudo dnf -y erase php php-mbstring php-mysqlnd


●Route53の「www.suzuki-app.work」を削除

●RDSの「start-aws-db-instance」を削除

PR

XXXXXXXX

XXXXXX

PR

請求書の確認

①左上の「サービス」をクリック

②「AWSコスト管理」をクリック

③「AWS Billing Conductor」をクリック

④左側の「請求書」をクリック

⑤右上の「年月」で見たい年月を選択する

タイトルとURLをコピーしました