[JAWS-UG 磐田] JAWS DAYS 2017ハンズオン

  • 1
    Like
  • 0
    Comment

【AWSワークショップ】AWS初心者いらっしゃい

概要

 AWSに興味はあるけど、どうしたらいいか分らないあなたへ
 基本のS3(ストレージ)、EC2(サーバ)、IAM(AWSアカウント管理)について解説を交えて使い方を伝授します。


AWSワークショップを始める前に

 ・パソコンの準備をお願いします。

  ※当ワークショップは、パソコンでのハンズオンを実施いたします。

 ・会場設置のWi-Fiへ接続願います。

  ※インターネットへの接続を前提としています。

 ・AWSアカウントの準備はお済みですか?

  ※ハンズオン開始前までに準備願います。
   作成手順:https://aws.amazon.com/jp/register-flow/

 ・ターミナルソフトウェアの準備

  ※EC2(サーバ)の操作時に使用します。
   Windowsクライアントの方は、Tera TermやPuTTYなどをご用意ください。

 ・ハンズオン終了後の操作について

  ※使用したEC2、S3は、AWSの課金対象になります。必要ない場合は、削除してください。
   EC2の削除手順 [補足資料:EC2編 #1]S3の削除手順S3の削除手順 (新コンソール:オプトイン)


今回の演習環境について

IAMの管理について EC2を使用してWebサイトを構築 S3を使用してWebサイトを構築

image


ハンズオンを始める前に・・・

・AWSマネジメントコンソールにログインして、東京リージョンが選択されている事を確認してください。

image.png


・画面上にIAM・EC2・S3の文字が表示されている事を確認してください。

 ※表示されていない場合は、画面左上のサービスをクリックして各サービスを選択してください。
image.png


IAMの管理について

1.AWSマネジメントコンソールからIAMをクリックする。
2.最初のIAM管理者のユーザーおよびグループを作成する。 [補足資料:IAM編 #1]
ユーザー名 グループ名
admin-user admin-group
3.新規作成したユーザーでログインしてみよう。

 ※AWSマネジメントコンソールをログオフしてから実施してください。
 ・保存した.csvファイルを開き、Console Login LinkのURLに接続します。
image.png
 ・ユーザー名、パスワードを入力してサインインします。
image.png

4.IAMロールを作成する。 [補足資料:IAM編 #2]
IAMロール名
EC2Role
選択するポリシー
AmazonEC2RoleforSSM
AmazonS3FullAccess

[補足キーワード]:MFA(多要素認証)、ポリシーなど
参考資料:AWS Black Belt Online Seminar (AWS IAM)


EC2を使用してWebサイトを構築

1.AWSマネジメントコンソールからEC2をクリックする。
2.EC2サーバ作成前の事前準備 [補足資料:EC2編 #2]

 初めに、EC2サーバへ接続するために必要な[キーペア]と[セキュリティグループ]を作成します。

キーペア名
jawsug-Hands-on
セキュリティグループ名 説明
jawsug-Hands-on-sg EC2 Hands on Security Group

インバウンドルール

タイプ プロトコル ポート範囲 送信元
HTTP TCP 80 カスタム 0.0.0.0/0
SSH TCP 22 マイIP xx.xx.xx.xx/32

※[マイIP]を指定すると、マネジメントコンソール接続で使用しているグローバルアドレス(xx.xx.xx.xx/32)が自動的に入力されます。

3.EC2サーバの作成 [補足資料:EC2編 #3]
ユーザーデータ
#!/bin/bash
yum update -y
cd /tmp
curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm -o amazon-ssm-agent.rpm
yum -y localinstall amazon-ssm-agent.rpm
yum install -y httpd24
curl http://jawsug-iwata.s3-website-ap-northeast-1.amazonaws.com/jawsdays2017/sample.tar -o sample.tar
cd /var/www/html
tar xvf /tmp/sample.tar
echo ErrorDocument 404 /error.html > /etc/httpd/conf.d/error.conf
service httpd start
chkconfig httpd on
groupadd www
usermod -a -G www ec2-user
chown -R root:www /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} +
find /var/www -type f -exec chmod 0664 {} +
Nameキーの値
jawsdays-2017-ec2-server
4.EC2サーバに接続してみよう。

・作成したEC2サーバを選択し、[接続]をクリックします。
image.png
image.png
・上記画面のNo.4で記載しているパブリックDNSをコピーし、ブラウザで接続します。
image.png

[補足キーワード]:SSM エージェント、IAMロールなど
参考資料:AWS Black Belt Online Seminar (Amazon EC2)


S3を使用してWebサイトを構築

始める前に、バケット名一覧を開いてください。
 ※配布した紙の番号の行をハンズオンで使用します。

1.AWSマネジメントコンソールからS3をクリックする。
2.S3バケットの作成 [補足資料:S3編 #1]
バケット名 選択するリージョン
配布した紙に記載されている番号のバケット名 アジアパシフィック(東京)

 ※1バケット名は、Amazon S3 にある既存のすべてのバケット名と異なる必要があります。
 ※2バケットを作成した後で名前を変更することはできないので、よく考えて選択してください。
 ※3バケット名はバケットに格納しようとしているオブジェクトを指し示す URL に組み込まれるので、バケット内のオブジェクトを反映したバケット名を選択します。

3.S3バケットのWebサイト公開設定 [補足資料:S3編 #2]
インデックスドキュメント エラードキュメント
index.html error.html
バケットポリシー
{
  "Version":"2012-10-17",
  "Statement":[{
    "Sid":"PublicReadGetObject",
        "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::作成したバケット名/*"
      ]
    }
  ]
}

 ※[作成したバケット名]の箇所を修正してから、コピーしてください。

4.AWSマネジメントコンソールからEC2をクリックする。
5.EC2のコンテンツをS3バケットにアップロード [補足資料:EC2編 #4]
シェルコマンド
aws s3 sync /var/www/html/ s3://作成したバケット名/

 ※[作成したバケット名]の箇所を修正してから、コピーしてください。

6.S3バケットのWebサイトに接続してみよう。

image.png
[補足キーワード]:Amazon EC2 Systems Managerなど
参考資料:AWS Black Belt Online Seminar (Amazon S3)
参考資料:AWS Black Belt Online Seminar (Amazon EC2 Systems Manager)