AWSのアカウントとIAMユーザー作成

AWSアカウントの作成

必要なものはクレジットカード、通話可能な携帯電話、メールアドレスです。

ログイン後はマネジメントコンソールで、AWSの管理画面が表示されます。アマゾンウェブサービスというAWSの公式サイトにをクリックしましょう。

無料サインアップと右上にあるのでそちらをクリックしてください。 Eメールアドレスパスワード確認があります。アカウント名を入力してください。

連絡先情報を記入していきます。今回はパーソナルを選択します。AWSカスタマーアグリーメントの同意チェックをつけて、アカウント作成、続いて支払い情報でクレジットカードの情報を入れて「セキュアな送信」というボタンを押します。

続いて本人確認です。携帯電話に検証コードを受け取ります。電話番号を入力しセキュリティーチェックを入力し、SMSを送信すると携帯電話のほうに認証コードが届きます。

認証コードを入れ4桁の検証コードを入力します。今回は個人用の利用なので練習用のプランなので無料プランを申し込んでおきます。

アカウントは明日作成できたらサインインをしていきます。AWSマネージメントコンソールが現れたら、アカウント作成とサインインが完了です。

クラウドウォッチで料金アラートを設定しよう

AWSは基本従量課金です。気づいたら使いすぎていて、「思いのほか料金を請求されてしまった」ということがありえます。それを防ぐために「〇〇円以上使用したらアラートを通知するように設定しておこう」というのがクラウドウォッチです。

設定の手順はツーステップです。まず請求ダッシュボードで請求を受け取るように設定します。次にクラウドウォッチというサービスを利用して具体的な設定をします。

画面上のメニューから請求ダッシュボードをクリックします。

請求情報とコスト管理ダッシュボードの画面が開きます。左のメニューからBuildingの設定というところにいきます。

AWSは1年間無料で利用できる枠が提供されています。今回もこの無料枠を利用しながら進めていきます。無料枠は「1年間、毎月この量までは無料ですよ」という設定になっています。 その枠を超えそうになったらアラートを入れてくれる設定にします。

「電子メールでPDF請求書を受け取る」「無料利用枠の使用アラートの受信」「請求アラートを受け取る」この3つにチェックを入れていきます。「請求アラートを管理する」というリンクを押し、クラウドウォッチの画面にとびます。左のメニューの請求というボタンをしてください。請求アラームが設定できます。

「超過と通知の連絡先」を入力してください。そうすると認証のためにメールが届きます。サーバーを立ち上げて、止めるのを忘れたりすると料金がかかってしまうこともあるので設定しておきましょう。

IAMで作業用ユーザを作成しよう

作業用ユーザを新たに作成し、それを利用することで、セキュリティーを高めます。AWSアカウントを作成すると、ルートユーザでログインされます。ルートユーザは普段は使用せず、作業用のIAMユーザを使用するのがAWSでは推奨されています。ルートユーザというのはAWS上でそのアカウントであれば何でもできる特権ユーザです。何でもできるという事は思わぬ操作をしてしまうこともあるわけで、それを防ぐためにルートユーザというのは極力使わないようにされています。

作業用ユーザはIAMユーザとAWSではいわれています。これはAWS上で作成されるユーザのことです。個別にユーザを作成することで、誰がどのどんな作業をしたのか確認することもできます。

IAMユーザの作成

マネジメントコンソールにログインします。ルートユーザで作業しておいた方が良いことが1つあるので、それをやっていきます。メニューからマイアカウントを開きます。下のほうにいくと「IAMユーザロールによる請求書情報へのアクセス」があります。こちらはIAMユーザが請求書情報を操作できるかどうかを設定するところです。

IAMユーザでも請求書は見れた方が良いので、設定しておきます。右側にある編集をクリックします。IAMアクセスのアクティブ化をチェックしておきます。更新ボタンを押します。これでIAMユーザでも請求書確認できるようになりました。

一番上に行って、サービスをクリックします。検索欄でIAMを検索します。IAMの画面が開きます。ユーザというところをクリックし、「ユーザを追加」をクリックします。ユーザ名は何でも大丈夫です。「アクセスの種類」を選択します。2つの操作する方法がありますが、今回はコマンドラインを使うのでプログラムによるアクセスをチェックします。

次はアクセス許可の設定をしていきます。どのユーザは、何ができるかを設定していくわけです。既存のポリシーを直接アタッチを使っていきます。実際作成するときはユーザごとに適切なレベルに設定する必要があり、なるべく無駄な権限はつけないほうが安全です。ただ今回は個人で作っていくので。1番強い権限にしておきます。検索欄でアドミニストレーターを検索して、チェックを入れておきます。ほとんどのサービスにアクセスできる権限です。

次はタグの設定です。そのユーザはどういう役割を付与していくものですが今回は必要ないので次に進めます。そして ユーザの作成をクリックしましょう。成功と出るとURLが表示されますので、コピーしてメモしておいてください。CSVのダウンロードもしておくと便利です。

ではIAMユーザでログインしてください作業はこのIAMユーザでログインして進めていきます。

EC2の操作

ログイン

ssh -i [キーペアのパス] ec2-user@[パブリックIPv4アドレス]

  • [キーペアのパス]
    • EC2起動時にダウンロード(もしくは指定)した*pemファイルを指定する
  • [パブリックIPv4アドレス]
    • EC2インスタンスの詳細を見て確認する

ssh -i ~/.ssh/test-server.pem ec2-user@123.123.123.123

ログアウト

exit

EC2にファイルをアップロード

scp -i [キーペアのパス] ec2-user@[パブリックIPv4アドレス]:[サーバー上のディレクトリパス]

※ -r をつけるとディレクトリをアップロードできます

scp -i ~/.ssh/test-server.pem ~/Documents/index.html ec2-user@123.123.123.123:~/

index.htmlをEC2のhome以下に配置する

scp -r -i ~/.ssh/test-server.pem ./html ./lib ./template ec2-user@123.123.123.123:~/work

./html ./lib ./template の3つのディレクトリをEC2のhome以下のworkディレクトリ以下に配置する

EC2にNGINXをインストール

amazon-linux-extrasでnginxをインストールできるようにする

sudo amazon-linux-extras enable nginx1

yumでnginxをインストール

yum clean metadata

sudo yum install nginx -y

systemctlでnginxを操作

起動

sudo systemctl start nginx.service

停止

sudo systemctl stop nginx.service

再起動

confファイルを修正した後は再起動をして反映點せましょう。

sudo systemctl restart nginx.service

自動起動を有効にする

以下を実行しておけばEC2起動時に自動でnginxが起動されます

sudo systemctl enable nginx.service

ドキュメントルートにファイルを設置する

/usr/share/nginx/html/以下にファイルを配置する場合は以下のようにします。

sudo mv [ファイルのパス] /usr/share/nginx/html/

※/usr/share/nginx/html/がnginxのデフォルトのドキュメントルートです(変更可能)

例: ~/index.html を移動する場合

sudo mv ~/index.html /usr/share/nginx/html/

例: ~/html/ 以下のすべてのファイルを移動する場合

sudo mv ~/html/* /usr/share/nginx/html/

EC2の操作

amazon-linux-extrasでphpをインストールできるようにする

sudo amazon-linux-extras enable php7.4

yumでnginxをインストール

yum clean metadata

sudo yum install php-cli php-pdo php-fpm php-json php-mysqlnd -y

yum 

パッケージ管理のためのコマンドです。
ソフトウェアをかんたんにインストール、アンインストールなど行うことができます。

systemctlでphp-fpmを操作

起動

sudo systemctl start php-fpm.service

停止

sudo systemctl stop php-fpm.service

再起動

confファイルを修正した後は再起動をして設定を反映させましょう。

sudo systemctl restart php-fpm.service

自動起動を有効にする

以下を実行しておけばEC2起動時に自動でphp-fpmが起動されます

sudo systemctl enable php-fpm.service

NGINXでのPHPの設定

nginxの設定を変更

sudo vim /etc/nginx/default.d/php.conf

/etc/nginx/default.d/php.confを修正します

fastcgi_intercept_errorsがonの場合は、PHPが404を返したときにnginxで設定しているerror_pageのページが表示されます。
今回はoffにします

fastcgi_intercept_errors on;

↓ 変更

# fastcgi_intercept_errors on;

あるいはonをoffにする

変更した設定を反映

sudo systemctl restart nginx.service

参考

ファイルアップロード~ドキュメントルート配置まで

参考にファイルアップロードからファイル配置までを行ったコマンドを書いておきます
EC2のIPはAWSのコンソールにログインして確認してください(以下の例では123.123.123.123にしています)

scp -r -i ~/.ssh/test-server.pem ./html ./lib ./template ec2-user@123.123.123.123:~/

ssh -i ~/.ssh/test-server.pem ec2-user@123.123.123.123

sudo mv lib template /usr/share/nginx/

sudo mv html/* /usr/share/nginx/html/

最新情報をチェックしよう!
>プログラミング 独学

プログラミング 独学

本当にプログラミングを学びたい人のためになるブログにしたいと思っていますので、些細なことでも気が付いたのであればご報告いただけると幸いです。

CTR IMG