- CloudWatchで請求アラートを設定
- IAMグループの作成
- IAMユーザーの作成
- IAMユーザーのMFA(多要素認証)を有効化する
- ルートユーザーのMFA(多要素認証)を有効化する
- リージョンの変更
- CloudTrailで作業記録(ログ)を確認する
- EC2でサーバーを立てる
- EC2インスタンスへログイン
- EC2インスタンスにElasticIP(固定IPアドレス)を付ける
- ElasticIP(固定IPアドレス)とドメイン名を紐づける
- mysqlクライアントをインストール
- whoisをインストール
- PHPとApacheをインストール
- Apacheが自動起動するようにする
- OS(Linux)の設定変更(タイムゾーンを変更)
- locale(言語)の設定
- ブラウザからドメイン名へアクセスしてみる
- バーチャルホストを作成する
- Route53で自分のサイトのドメインを設定
- RDS【パラメーターグループの作成】
- RDS【オプショングループの作成】
- RDS【インスタンスを立てる】
- WordPressをインストール
- EC2インスタンスからAMIを作成する
- 実施した後片づけ
- XXXXXXXX
- 請求書の確認
CloudWatchで請求アラートを設定
①右上のアカウント名をクリックして「請求ダッシュボード」をクリック
②左側の「請求設定」をクリック
③以下を入力して「詳細設定を保存」をクリック
PDF 形式の請求書を E メールで受信:チェックを入れる
無料利用枠の使用アラートを受信 :チェックを入れる
E メールアドレス :自分のメールアドレス
請求アラートを受信 :チェックを入れる
④「請求アラートを管理する」をクリック
⑤「アラームを作成」をクリック
⑥左側の「請求」をクリック
⑦「アラームを作成」をクリック
画面に従ってアラームを作成する
IAMグループの作成
①左上の「サービス」をクリック
②「セキュリティ、ID、およびコンプライアンス」をクリック
③「IAM」をクリック
④左側の「ユーザーグループ」をクリック
⑤右側の「グループを作成」をクリック
⑥右側の「グループを作成」をクリック
⑦「ユーザーグループ名」に任意の名前を設定する
⑧ポリシー「AdministratorAccess」にチェックを付ける
※AdministratorAccessは「ルートユーザーほどではないが1番強い権限」
※なおAdministratorAccessからIAMに関する権限を引いたものが「PowerUserAccess」
⑨右下の「グループを作成」をクリック
IAMユーザーの作成
①左側の「ユーザー」をクリック
②右側の「ユーザーを作成」をクリック
③「AWS マネジメントコンソールへのユーザーアクセスを提供する – オプション」にチェックを入れる
④「IAM ユーザーを作成します」にチェックを入れる
⑤「次へ」をクリック
⑥先程作った「ユーザーグループ」にチェックを入れて「次へ」をクリック
⑦右下の「ユーザーを作成」をクリック
⑧「E メールでのサインイン手順」または「.csv ファイルをダウンロード」をクリックしてパスワードと
⑨「IAMユーザーのコンソールサインイン URL」にアクセスしてログインする
IAMユーザーのMFA(多要素認証)を有効化する
①左側の「ユーザー」をクリック
②「作成したユーザー」をクリック
③「セキュリティ認証情報」タブをクリック
④「MFA デバイスの割り当て」をクリック
⑤「デバイス名」に任意の名前を設定
⑥「MFA デバイスを選択」の任意のやつにチェックを入れる
⑦「次へ」をクリック
⑧記載内容に従って「認証アプリケーションを設定」を実施する
⑨「MFA を追加」をクリック
⑩右上の「IAMユーザー名」をクリックして「サインアウト」
⑪右上の「コンソールにログイン」をクリックしてログインする
※MFA(多要素認証が)が有効になっていることを確認する
ルートユーザーのMFA(多要素認証)を有効化する
①サインアウトする
②「ルートユーザーの E メールを使用したサインイン」をクリック
③「次へ」をクリック
④パスワードを入力してサインインする
⑤左上の「サービス」をクリック
⑥「セキュリティ、ID、およびコンプライアンス」をクリック
⑦「IAM」をクリック
⑧「root ユーザーの MFA を追加する」の「MFA を追加」をクリック
⑨「MFA デバイスの割り当て」をクリック
⑩「デバイス名」に任意の名前を設定
⑪「MFA デバイスを選択」の任意のやつにチェックを入れる
⑫記載内容に従って「認証アプリケーションを設定」を実施する
⑬「MFA を追加」をクリック
リージョンの変更
右上の「バージニア北部」をクリックして「アジアパシフィック(東京)」に変更する
CloudTrailで作業記録(ログ)を確認する
CloudTrailはデフォルトで有効になっているため以下で作業記録(ログ)を確認できる。
デフォルトで90日間のイベントが無料で記録されている。
①左上の「サービス」をクリック
②「管理とガバナンス」をクリック
③「CloudTrail」をクリック
④左側の「イベント履歴」をクリック
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 アドレス」の値
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 アドレス」が変わる。
EC2インスタンスにElasticIP(固定IPアドレス)を付ける
①左上の「サービス」をクリック
②「コンピューティング」をクリック
③「EC2」をクリック
④左側の「Elastic IP」をクリック
⑤右上の「Elastic IP アドレスを割り当てる」をクリック
⑥右下の「割り当て」をクリック
⑦「アクション-Elastic IP アドレスの関連付け」をクリック
⑧インスタンスに「関連付けたいEC2インスタンス」を選択
プライベート IP アドレスに「関連付けたいEC2インスタンスのIPアドレス」を選択
⑨「関連付ける」をクリック
⑩Elastic IP(パブリック IPv4 アドレス)でログインできるかを確認
⑪再起動後もElastic IP(パブリック IPv4 アドレス)でログインできるかを確認
ElasticIP(固定IPアドレス)とドメイン名を紐づける
①左上の「サービス」をクリック
②「ネットワーキングとコンテンツ配信」をクリック
③「Route 53」をクリック
④「ホストゾーン」をクリック
⑤登録済みのホストゾーン(suzuki-app.work等)をクリック
⑥「レコードを作成」をクリック
⑦「レコード名」に「任意の名前」を設定 例) login
「値」に「ElasticIP」を設定
⑧「レコードを作成」をクリック
→「login.suzuki-app.work」が作成される
⑨「ドメイン名(login.suzuki-app.work)」でログインできるかを確認
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
whoisをインストール
dnf -y install whois
PHPとApacheをインストール
・php
・php-mbstring ←PHPでマルチバイト文字を使用できるようにするPHPの拡張モジュール
・php-mysqlnd ←MySQLサーバ接続(クライアント)ライブラリ
※phpとインストールするとApacheもインストールされる
dnf -y install php php-mbstring php-mysqlnd
Apacheが自動起動するようにする
systemctl enable httpd
自動起動が有効になっていることを確認
systemctl is-enabled httpd
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
locale(言語)の設定
localectl set-locale LANG=ja_JP.utf8
確認
localectl status
再起動する。
reboot
ブラウザからドメイン名へアクセスしてみる
●EC2インスタンス作成時に「インターネットからの HTTP トラフィックを許可」にチェックを入れた為、既に80ポートに穴があいている。
●そのため何もせずともウェルカムページ「It works!」が表示される。
バーチャルホストを作成する
①設定ファイルを作成
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
Route53で自分のサイトのドメインを設定
①左上の「サービス」をクリック
②「ネットワーキングとコンテンツ配信」をクリック
③「Route53」をクリック
④「ホストゾーンの作成」をクリック
⑤登録済みのホストゾーン(suzuki-app.work等)をクリック
⑥「レコードを作成」をクリック
⑦「レコード名」に「www」を設定
「値」に「ElasticIP」を設定
⑧「レコードを作成」をクリック
⑨ブラウザで「ServerName」に設定したURLへアクセスする
※上記の場合「www.suzuki-app.work」
⑩「AWSをはじめよう!」が表示されることを確認
RDS【パラメーターグループの作成】
今回はMySQLを作成する。
①左上の「サービス」をクリック
②「データベース」をクリック
③「RDS」をクリック
④「パラメーターグループ」をクリック
⑤「パラメータグループの作成」をクリック
⑥以下を入力して「作成」をクリック
パラメータグループファミリー : MySQL 8.0
タイプ : DB Parameter Group
グループ名 : 任意 例) start-aws-parameter-group
説明 : 任意 例) Support Japanese
⑦作成した「パラメーターグループ」をクリック
⑧検索窓に「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
RDS【オプショングループの作成】
①左側にある「オプショングループ」をクリック
②「グループを作成」をクリック
③以下を入力し「作成」をクリック
名前 : 任意 例) start-aws-option-group
説明 : 任意 例) for WordPress
エンジン : mysql
メジャーエンジンバージョン : 8.0
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;
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/」へアクセス。画面に従ってインストールする
※「データベースのホスト名」には「エンドポイント」を記載する。
EC2インスタンスからAMIを作成する
①左上の「サービス」をクリック
②「コンピューティング」をクリック
③「EC2」をクリック
④左側の「インスタンス」をクリック
⑤右上の「アクション」-「イメージとテンプレート」-「イメージの作成」をクリック
⑥「イメージ名」任意の名前を入力して「イメージの作成」をクリック
例) start-aws-ami
実施した後片づけ
●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」を削除
XXXXXXXX
XXXXXX
請求書の確認
①左上の「サービス」をクリック
②「AWSコスト管理」をクリック
③「AWS Billing Conductor」をクリック
④左側の「請求書」をクリック
⑤右上の「年月」で見たい年月を選択する