AWS Educateに登録してスターターアカウントからAWSサービスを使ってみた
こんにちは、臼田です。
学生の皆さん、勉強してますか?(挨拶
今回は学生及び教員が利用できるAWSの学習プログラムであるAWS Educateを触る機会がありましたので、AWS Educateを使ってサインアップするところから実際のAWSマネジメントコンソールからLAMP環境を作成するところまでやってみました。
この記事の対象者はこれからAWSを触る学生や教育関係者で、実際に触る段階まで来ている方をメインにしています。
AWS Educateとは
AWS Educateは14歳以上の学生もしくは教員であれば誰でも自由に参加できるクラウド学習プログラムです。
動画を使用した各種学習システムや、実際のAWSマネジメントコンソールを利用した実習もあり、これからAWSを学習していく学生や、それを教えるための教員をサポートします。あとは企業のリクルータも採用活動のために利用できます。
詳細は下記も参考になります。
AWS Educate日本語の学習コースがリリース | Amazon Web Services ブログ
上記にありますが、日本語で12の学習コースが提供されています。手厚い。
- クラウドコンピューティング 101
- アプリケーションデベロッパー
- クラウドサポートアソシエイト
- クラウドサポートエンジニア
- サイバーセキュリティスペシャリスト
- データインテグレーションスペシャリスト
- データサイエンティスト
- DevOpsエンジニア
- マシンラーニングスペシャリスト
- ソフトウェアデベロップメントエンジニア
- ソリューションアーキテクト
- Webデベロップメントエンジニア
そして50USD前後のAWS利用のためのクレジットが提供されます。
また、一番嬉しいのはクレジットカードを持たない学生でもAWSアカウントを利用できることにあります。通常AWSアカウントを作成する場合にはクレジットカードの登録が必要ですが、AWS Educateを利用すればスターターアカウントを利用してAWSを利用できます。自分で所持するAWSアカウントではないのでいくつか制約はありますが、学習する分には無料でいろんなことができるので申し分ありません。
クレジットカードを持っている場合には制約の面もあるのでAWSアカウントを作成してからAWS Educateに登録することを推奨します。AWSアカウントを持っている場合でもAWS Educateに登録して学習プログラムを受けることもできますし、自分のAWSアカウントに無料のクレジットを適用することが可能です。
AWS Educateの登録
AWS Educateに登録していきます。主に下記を参照してください。
新入生の皆様、Cloudを学んでみませんか? | Amazon Web Services ブログ
登録するには可能であればacドメインのメールアドレスが必要になりますので事前に用意してください(なくてもなんとかはなりますが、使ったほうが早いです)。なお、今回私は教員用の登録を行いましたが流れはほぼ同じです。
AWS Educateのページから登録を始めます。必要情報にメールアドレス等を入力して進みます。
AWSアカウントがない場合はスターターアカウントを選択して登録します。
確認メールが届くのでURLをクリックして、審査を待ちます。(72時間以内には完了するそうです)
審査が完了してWelcomeメールが届いたらパスワード登録等を行ってAWS Educateのコンソールにログインできます。
AWSマネジメントコンソールにアクセスする
スターターアカウントで登録した場合にはAWS EducateのコンソールからAWSマネジメントコンソールへアクセスします。
AWS Educateのコンソールにログインできたら、「AWS Account」のタブへ移動します。AWS Educate Starter Account
を押します。
ラボを提供しているVocareumの画面にリダイレクトされます。利用規約が表示されるので一番下まで行って同意します。
Welcome画面になりました。右側のAWS Console
ボタンからAWSマネジメントコンソールへアクセスできます。なお、Account Details
からはAWS CLIのアクセスキー等を取得できます。
LAMP環境の作成
ここからは以下の流れでLAMP環境を作成します。なお、細かい用語などはこの記事では(長くなるので)説明しません。各種AWSのドキュメント等をご参照ください。
- ssh用のキーペア作成
- CloudFormationテンプレートからスタックを作成
- ALB用Security Group作成/適用
- 動作確認
マネジメントコンソールにアクセスしたら、右上のリージョンを東京に切り替えます。(バージニアでもいいですがなんとなく)
サービス検索からEC2を選んでEC2のページに移動します。
最初にキーペアを作成します。EC2のコンソールで左側の「キーペア」を選択し(結構下の方)、「キーペアの作成」を押します。
キーペア名を入力する画面で適当に入力し作成します。ダウンロードされたpemを任意の場所に保管します。
続いてCloudFormationの画面に移動します。上部メニューのサービスから移動できます。「スタックの作成」を押します。
今回はサンプルで提供されているMulti_AZ_SimpleのLAMP Stackを選びます。「次へ」を押します。
スタックの名前を適当に入力します。パラメータについてはデフォルトから下記の値を変更します。
- DBInstanceClass: 無料枠のdb.t2.micro
- DBPassword/DBUser: 任意の値
- InstanceType: 無料枠のt2.micro
- KeyName: 先程作成した鍵
- SSHLocation: 診断くんなどで自分のグローバルIPを調べて
xx.xx.xx.xx/32
- Subnets: 表示されるものから2つ適当に選択
- VpcId: 最初から用意されているものを選択(複数ある場合には上記サブネットと同じもの)
一通り入力したら「次へ」
次のページは特に何も入れずに「次へ」
確認画面なのでそのまま「スタックの作成」
作成中に、後ほど必要となるセキュリティグループを作成します。これは、ALBに対するアクセスのためのセキュリティグループがCloudFormationの中で用意されていないため個別に作成します。
まずはEC2の画面から左側でセキュリティグループを選択し、「セキュリティグループの作成」を押します。
適当にLAMP-Stack-ALBSecurityGroup
等の名前と説明を入力します。VPCはスタック作成時に選んだものにします。
インバウンドにHTTPをマイIPから許可するルールを設定して「作成」を押します。
続いてALBに割り当てます。CloudFormationスタックの作成が進んでALBの作成が完了したら、EC2コンソールの左側から「ロードバランサー」を押します。
作成されたALBを選択してアクションから「セキュリティグループの編集」を押します。
先ほど作成したセキュリティグループもチェックを入れ「保存」します。
スタックの作成が完了したことを確認したら、CloudFormation画面の「出力」からWebsiteURL
を開きます。
作成と設定が完了していれば画面が表示されます。
sshでアクセスする場合は、作成した鍵にchmod 400
して、作成したEC2インスタンスのパブリックIPアドレスを調べてsshします。EC2のコンソールからインスタンスを選択して確認できます。下記のようになります。
$ chmod 400 ~/edukey.pem $ ssh -i ~/edukey.pem ec2-user@xx.xx.xx.xx __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/ 18 package(s) needed for security, out of 30 available Run "sudo yum update" to apply all updates. [ec2-user@ip-xx-xx-xx-xx ~]$ id uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel) [ec2-user@ip-xx-xx-xx-xx ~]$ cat /etc/os-release NAME="Amazon Linux AMI" VERSION="2018.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2018.03" PRETTY_NAME="Amazon Linux AMI 2018.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o:amazon:linux:2018.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" [ec2-user@ip-xx-xx-xx-xx ~]$ sudo yum install -y mysql 読み込んだプラグイン:priorities, update-motd, upgrade-helper ~省略~ インストール: mysql.noarch 0:5.5-1.6.amzn1 依存性関連をインストールしました: mysql-config.x86_64 0:5.5.62-1.23.amzn1 mysql55.x86_64 0:5.5.62-1.23.amzn1 完了しました! [ec2-user@ip-xx-xx-xx-xx ~]$ mysql -h **************.ap-northeast-1.rds.amazonaws.com -u testuser -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 530 Server version: 5.7.22-log Source distribution Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | innodb | | myDatabase | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec) mysql> exit Bye [ec2-user@ip-xx-xx-xx-xx ~]$ exit
確認が終わったら環境を削除します。CloudFormationの画面からスタックを選択して「削除」を押します。
確認が出るので「スタックの削除」を押します。
「スタックがありません」となれば完了です。
個別に作成した鍵やセキュリティグループは残りますが費用にならないのでそのままでも問題ないでしょう。
まとめ
AWS Educateを利用してAWSマネジメントコンソールにログインしてみました。ついでにLAMP環境を作成してみました。
学生の皆さんは簡単に無料で利用できる環境を用意できるので、是非活用してみてほしいです。
また、LAMP環境をCloudFormationを利用してサクッと作成してみましたが、いろいろ学ぶものは多いです。これをきっかけに様々なAWSのサービスについて学習してほしいです。
合わせて、Educateの学習コンテンツも積極的に活用しましょう。