なにこの記事?
新人研修担当になったけれど、AWSの基礎を教える前例が社内になかったので
オリジナルで課題を作りました。
回答は用意していません。ご承知ください。
同じ悩みを持つ方にどんな感じのことをしたのかが伝わればいいなと思います。
学習方針
- 概要を理解する
- 実践する
- AWSコンソールから実践する
- AWS CLIから実践する
- AWS CloudFormationから実践する
- AWS SDKから実践する
AWS全体解説
会議体でホワイトボードを利用して実施
- クラウドの概要
- オンプレとクラウドの違い
Code commit
※すべての学習で生成するコードを管理するために先に学習
概要勉強
- AWS blackbelt資料
課題
- Gitの認証情報を作成する
- リポジトリを作成する
- ローカルPCにクローンする
- ソースをローカルに配置する
- ADDする
- commitする
- pushする
S3
概要勉強
- AWS blackbelt資料
課題
- AWSコンソールからバケットを作成
- AWSコンソールからバケットにローカルのファイルをアップロード
- AWS CLIでコマンドでバケットを作成する
-
AWS CFnを利用してバケットを作成する
- 【参考】CloudFormationでいろいろなS3バケットを作成してみた
デフォルト設定のS3バケット
https://dev.classmethod.jp/cloud/aws/cloudformation-s3bucket-type/
- 【参考】CloudFormationでいろいろなS3バケットを作成してみた
-
s3を利用して静的ホスト配信をする
- 【参考】AWS S3で静的Webページをホスティングする
https://qiita.com/dogwood008/items/a92abae789f4b0466f38#ファイルのアップロード
- 【参考】AWS S3で静的Webページをホスティングする
-
javaを利用してs3のバケット作成、ローカルファイルを作成したバケットに配置する
- 【参考】Amazon S3 バケットの作成、一覧表示、削除
バケットの作成
https://docs.aws.amazon.com/ja_jp/sdk-for-java/v1/developer-guide/examples-s3-buckets.html
- 【参考】Amazon S3 オブジェクトに対するオペレーションの実行
オブジェクトのアップロード - 【参考】Amazon S3 バケットの作成、一覧表示、削除
復習
- 作成したコードをGITにPUSHする
- CloudFormationのサンプルコードについて詳細を理解する
IAM
概要勉強
- AWS blackbelt資料
課題
- S3のfullaccess権限をもったロールを作成する
目的:ロールの作り方を理解する - EC2へのS3full権限のロール割当をし、EC2上からS3バケット生成コマンドを発行する
目的:EC2へのロール設定の仕方、及びEC2ロールがどのように利用できるか理解する
VPC
概要勉強
- AWS blackbelt資料
- IPアドレスについて
課題
AWSコンソールからVPCを一つ作成する
※public subnet 2つ、private subnet 2つ
インターネットGW,NatGW お忘れなく
動作確認はEC2の課題にて実施CloudFormationでVPCを一つ作成する
※public subnet 2つ、private subnet 2つ
インターネットGW,NatGW お忘れなく
動作確認はEC2の課題にて実施
EC2
概要勉強
- AWS blackbelt資料
課題
- public subnetの中にEC2を立てる
- ローカルPCからteratermでSSHでアクセスしてEC2内にログインできることを確認する
目的:EC2が正しくpublic subnet内に作成されたことを確認するため
- EC2内からインターネットにアクセスできることを確認する
curlコマンドを利用して、「https://www.google.com/webhp?hl=ja&sa=X&ved=0ahUKEwid-bnDiaDlAhXzNKYKHcAwBNwQPAgH」にアクセス
コード200がかえってくればok
目的:VPCのpublic subnetが正しく作成されているか確認するため
- ローカルPCからteratermでSSHでアクセスしてEC2内にログインできることを確認する
-
private subnetの中にEC2を立てる
- ローカルPCからSSHでアクセスしてEC2内にログインできないことを確認する
目的:VPCのprivate subnetが正しく作成されているか確認するため
- ローカルPCからSSHでアクセスしてEC2内にログインできないことを確認する
<追加課題> public subnetのEC2を踏み台にしてprivate subnetのEC2にSSH接続する
<追加課題> private subnetのEC2のSGのインバウンドをpublic subnetのレンジからのSSH(22)だけにする
※変更後もpublic subnetのEC2を踏み台にしてアクセスできることを確認する<任意課題> private subnetの内のEC2にSession Managerを導入して
AWSコンソール上からEC2に接続する
※動作確認用linuxコマンド: pwd
https://qiita.com/to_su/items/28f0619504a4960c856d
目的:prvate subnetのEC2に対しコマンドを発行する手段を覚える
API GW
概要勉強
- AWS blackbelt資料
課題
lambdaに集約
Lambda
概要勉強
- AWS blackbelt資料
課題
- AWSのLambdaとDynamoDBとAPIGatewayの連携させたサンプルアプリを作成する
DynamoDB
概要勉強
- AWS blackbelt資料
課題
lambdaに集約
RDS
概要勉強
- AWS blackbelt資料
課題
- private subnet内にRDS(mysql)を作成する
- RDSのSGを設定する
private subnetのEC2のIPを指定して、3306ポートのTCP通信のみ通す -
private subnet上のWEBサーバーから、RDS内にデータベース+ユーザーマスタテーブルを作成する
データベース名:任意- user_id(数値) :ユーザーID
- last_name(文字列) :名
- first_name(文字列) :姓
- email_address(文字列) :メールアドレス
- user_id(数値) :ユーザーID
- private subnet上のWEBサーバーから、RDSの対象テーブルにデータを投入する
Insert文の発行
CodeBuild
概要勉強
- AWS blackbelt資料
CodeDeploy
概要勉強
- AWS blackbelt資料
CodePipeline
概要勉強
- AWS blackbelt資料