AWS 無料利用枠で何かやってみる Day 6 〜VPC設定とEC2構築

Day 6 で何やる?

【再掲】ようやく、EC2建ててみます。サーバを作りたいというよりは、AWSVPC関連の設定に重きを置いて。(Day 5で言いました。)

nabemerchant.hatenadiary.jp

参考にしたサイト/書籍は以下の通り(感謝)

サイト

※(5)のAWSのサイトは自動翻訳が不十分で「Amazon EC2 Auto Scalingでのインスタンスのテナンシーの設定」が正しいです。

作業自体はほぼ(1)(2)のまんまです。ありがとうございます。

実業務で、既存のインスタンス名などネーミングルールがばらばらで嫌だなと思っていたら、(3)にてかなりいい感じのルールを見つけたので踏襲させて頂きました。標準化って大事ですよね。

書籍

  • 今回もなし

まずVPC周りを構築する

AWSアカウントを作成すると、default VPC及び周辺の設定が用意されているが、とりあえず構成を理解することが目的であるため、一から作ります。

VPC設定

VPCダッシュボードから、

  • ①:「VPC」タグを選択
  • ②:「VPCを作成」ボタンを押す
  • ③:VPCの設定を行う
  • ④:「VPCを作成」ボタンを押す

文章で書くと、「VPCを作成」ボタンが2回出てきて、ちょっと「お、おぅ」ってなりますね。

f:id:nabe_merchant:20210512221721p:plain

前述の通り、名前(Nameタグの値)は、サイト(3)に倣ってます。

CIDRブロックで、VPCに割り当てるネットワーク領域を設定する。CIDR表記については、サイト(4)を参考に。なお、今回設定した「10.0.0.0/16」は、IPアドレス数:65536 (ホストアドレス数:65534)のネットワークとなります。

無料利用枠とか関係なしに、そんなに使いません。※厳密にはこの後サブネット作るので、その範囲だと100ちょいになります。

テナンシーの詳細は以下参照。仮想サーバを物理的にどう配置するかという設定で、defaultだと物理ハードウェアを共有する設定となり、それ以外は専有となり別料金も掛かるようです。

サブネット設定

VPCダッシュボードから、

  • ①:「サブネット」タグを選択
  • ②:「サブネットを作成」ボタンを押す
  • ③:先程作成したVPCを選択する(=VPC内のサブネットを作る)
  • ④:サブネットの設定を行う(サイト(1)に倣い、public用とprivate用を作成)
  • ⑤:「サブネットを作成」ボタンを押す

文章で書くと、「サブネットを作成」ボタンが2回出てきて、ちょっと「お、おぅ」ってなりますね。

f:id:nabe_merchant:20210512224833p:plain

CIDRブロックで「/26」としているので、IPアドレス数:64 (ホストアドレス数:62)のネットワークとなります。

ポイントは、サブネット指定時にAZの指定がある点。

VPCは仮想環境かつ、その範囲は利用者によって規定された仮想的なネットワークとなるが、このネットワークを複数AZに跨って設定することが可能であり、この構成を「マルチAZ構成」と呼ぶ。

AWS 無料利用枠で何かやってみる Day 3 〜AWSキーワード整理 - Reverse[re:verse|re:birth] engineering

とDay 3 で何故か断言しているが、VPCにおけるマルチAZ構成は、サブネットを複数のAZに作成し、そのAZ内に冗長構成を作ることで実現するという事になるはず。

EC2起動

ようやくEC2に取りかかれます。

EC2のダッシュボードから、

  • ①:「インスタンス」タグを選択
  • ②:「インスタンスを起動」ボタンを押す
     ※起動ってイメージ湧きにくいですが、すでにあるマシンイメージを「起動」するからだと思います。
  • ③:Amazon マシンイメージ(AMI)を選択(OS+αのテンプレートですね)
     【重要】無料利用枠ユーザーは「無料利用枠の対象」を選んでくださいね
  • ④:インスタンスタイプを選択(起動するEC2のスペックですね)
     【重要】無料利用枠ユーザーは「無料利用枠の対象」を選んでくださいね
  • ⑤:「確認と作成」ではなく、「次のステップ」ボタンを押す

f:id:nabe_merchant:20210512231139p:plain

追記
一番大事な、「インスタンス詳細の設定」のキャプチャが漏れています。
ここでは、ネットワーク(つまりVPC)とサブネットの指定が必要になります!!
追記終わり

  • ⑥:ストレージサイズはデフォルト8Gですが、無料利用枠は30Gまであるので必要に応じ増やします → 「次のステップ」ボタンを押す
  • ⑦:インスタンス名をNameタグでつけて、「次のステップ」ボタンを押す
  • ⑧:セキュリティグループを設定しますが、既存では未作成なので新規で作成します。ここは用途によって異なりますが、SSH/HTTP/HTTPSの設定を行います。(インバウンドルールのみ設定)
    • SSH:ソースに「マイIP」を設定すると、現在AWSコンソールに接続している環境のグローバルIPアドレスが割当られます。ただ、このグローバルIPは固定じゃないはずなので、今後不便になりそうです。(後述)
    • HTTP/HTTPSはどこからでも。
  • 「確認と作成」を押します。

f:id:nabe_merchant:20210512233127p:plain

  • ⑨:確認画面で設定確認後、「起動」を押します。 ※「起動」出てきましたね!!
  • ⑩:ただ、まだ起動はせずキーペアの選択or作成を要求されます。EC2に接続するための、公開鍵(EC2に自動配置)と秘密鍵SSH接続元のローカルに配置)となるので、新規で作成します
  • ⑪:キーペア(秘密鍵、.pemファイル)をダウンロードします。 ※ssh接続に必要となります
  • ⑫:「インスタンスの作成」ボタンを押す → EC2構築done!!

f:id:nabe_merchant:20210512234821p:plain

EC2にSSH接続するための設定(インターネットゲートウェイ/ルートテーブル)

SSH接続するには、通常インターネットを介する必要があります。一方で、VPCはあくまでAWS上の仮想ネットワークであるため、その橋渡し役の仮想ルーターであるインターネットゲートウェイを設定します。

VPCダッシュボードから、

f:id:nabe_merchant:20210513001055p:plain

次に、作成したEC2がインターネット接続=ローカルIP以外はインターネットゲートウェイを通してインターネットに接続するために設定を行います。そのためには、ルートテーブルを設定する必要があります。

VPCダッシュボードから、

  • ⑥:「ルートテーブル」タグを選択
  • ⑦:「ルートテーブルの作成」ボタンを押す
  • ⑧:ルートテーブルの設定(名前と紐づくVPC)を行い、「作成」ボタンを押す
  • ⑨:一覧から作成したルートテーブルを選択肢し、「ルートの編集」を選択
  • ⑩:送信先:「0.0.0.0/0」、ターゲット:上記で設定したインターネットゲートウェイを指定し、「ルートの保存」を押す

f:id:nabe_merchant:20210513003708p:plain

ようやく終わりかと思いましたが、ルートテーブルはサブネットにも関連付ける必要があります。これはサブネット単位で、セキュリティ面からルーティングを変えるためと思われます。(あまり詳しくないです。)

VPCダッシュボードから、

  • ⑪:「サブネット」タグを選択
  • ⑫:EC2を構築したサブネットを指定し、「ルートテーブルの関連付けを編集」を押す
  • ⑬:作成したルートテーブルを指定し、「保存」を押す

f:id:nabe_merchant:20210513004805p:plain

EC2にSSH接続

.pemを配置の上、SSH接続すると、

chmod 400 trial-dev-ec2.pem
$ ssh -i "trial-dev-ec2.pem" ec2-user@[*EC2のパブリック IPv4 アドレス(インスタンス概要で確認できます)*]
The authenticity of host '[*上記のIPアドレス*]' can't be established.
ECDSA key fingerprint is SHA256:**********************************
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[*上記のIPアドレス*]' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-193-21 ~]$

お疲れ様でした!!

後述

いやー、AWS触るよりブログ用の画像作ったり、理解を確認しながら文章書くのが大変でしたね。

そう考えると、 Qiitaさん(https://qiita.com/) とか、 クラスメソッドさん(https://dev.classmethod.jp/)、及び執筆者の皆さんにはマジで感謝だなとしみじみ思いました。

感謝

なお、今回の投稿内で述べた自宅PCのIP変わる問題について、Lambda使ってマイIPの変更を反映している方がいらしゃったので、紹介しておきます。面白いこと考えるな〜。

confrage.jp

AWS 無料利用枠で何かやってみる Day 5 〜IAMユーザー作成

Day 5 で何やる?

ようやく、EC2建ててみます。サーバを作りたいというよりは、AWSVPC関連の設定に重きを置いて。

そう意気込んだ矢先、やはりルートユーザーで進むのは邪道だと思って、IAMユーザー作ったり。

ヘッダデザイン(ナビゲーションバー含む)や、本文のデザインが気になりHTML/CSSいじってました。

CSS3は正直全然触れた事なかったですが、なるほど面白なという感覚。

ナビゲーションバーは、実装したものの、現状のコンテンツ量では「ナビゲーションするものが無い」というナビゲートをしてくれたので良しとする。

ということで、Day 5 は、

  • IAMユーザー作成
  • IAMユーザーでのMFA認証(ポリシーの設定)
  • EC2構築 → 時間足りなかったので、後半戦で対応します!!

とする。

参考にしたサイト/書籍は以下の通り(感謝)

サイト

書籍

  • 今回はなし

IAMユーザー作成

ルートユーザーでログイン後、IAMにてユーザーの作成を行う。 なお、ルートユーザーについては、Day 1 でも触れたが、以下を参考に設定済み。

仮想 Multi-Factor Authentication (MFA) デバイスの有効化 (コンソール) - AWS Identity and Access Management

IAMユーザー作成手順は以下の通り、まずIAMに「ユーザー」選択後、「ユーザーを追加」を押下する。

f:id:nabe_merchant:20210509161718p:plain

次に、実際のユーザー作成だが、ここはほぼ設定することはなく、

  • ユーザー名
  • アクセスの種類
  • パスワード関連

となる。

f:id:nabe_merchant:20210509161921p:plain

アクセスの種類は、IAMユーザーのコンソール以外での利用(開発端末等からの直接接続と認識)の場合、「プログラムによるアクセス」が必要となるが、現時点で不要であること。 また必要になった際に、設定不足で利用できないことを確認するために、あえて設定しない。

パスワードに関しては、自動生成+初回ログイン時に変更がセオリーと思われるため、デフォルト設定で進む。

ここまで楽勝と思っていたら、「アクセス許可の設定」が唐突に現れる。

f:id:nabe_merchant:20210509162511p:plain

ただ、Day 4 にて認証認可の予習をしている私には、少し焦った程度で、生産性への影響はなかった。

AWS 無料利用枠で何かやってみる Day 4 〜認証認可とは - Reverse/Re:verse/Re:birth engineering

アクセス許可の設定は、

  • ①IAMグループへのユーザー追加:IAMグループのポリシーがユーザーに適用される
  • ②既存ユーザーのコピー:任意のユーザーと同等の設定(IAMグループ及び直接アタッチされたポリシー)
  • ③既存ポリシーのアタッチ:左記の通り

となり、既存ユーザーは存在しないので、①③の選択となるが、IAMグループに触れる機会なので、①を選択肢、以下の通り、VPC/EC2/RDS/S3にフルアクセス可のポリシーをアタッチしたグループを作成し、ユーザーを追加した。

f:id:nabe_merchant:20210509163543p:plain

確認画面のキャプチャが漏れたが作成が完了すると、以下の画面が表示される。

f:id:nabe_merchant:20210509163736p:plain

サインイン用のURLとユーザー名、初期パスワードが提示されるので、それに従いサインインすれば、IAMユーザーでサインインできる。ただ、焦ってこのままサインインするとルートユーザーが強制ログアウトされ、上記の画面表示も消えるので注意されたし。(※私の事例となります)

なお、ダウンロードできるcsvに、サインイン用のURLとユーザー名、初期パスワードの情報があったり、ログイン手順をメールするとおそらくサインイン用のURLとユーザー名はメールされるのではないかと思います。(初期パスワードも連携されるのかな?)

※参考サイト(1)を元に進めております。

IAMユーザーでのMFA認証(ポリシーの設定)

作成したIAMユーザーでサインイン後、ルートユーザー同様MFAでの認証を設定しようと、IAMの画面で「あなた権限無いよ〜」(意訳)と指摘され、何もできません。

厳密には「IAMUserChangePassword」のポリシーは直接アタッチされている(これはIAMユーザーのデフォルトなのかな)ので、IAMの仕組みとしては、パスワード変更しかできない状態。

従って、私は上記の参考(2)(3)を元に、専用ポリシーを作成し、IAMグループ(上記とは別)にアタッチして、ユーザーを参加させることで対応した。

ポリシーの中のAllowManageOwnVirtualMFADevice/AllowManageOwnUserMFAステートメントが、本件の中では重要なため切り出すと、

この AllowManageOwnVirtualMFADevice ステートメントにより、ユーザーは自分の仮想 MFA デバイスを作成、更新、削除できます。リソース ARN は、現在サインインしているユーザーと名前が一致する MFA デバイスにのみアクセスを許可することに注意してください。ユーザーは、各自の仮想 MFA デバイス以外の MFA デバイスを作成または削除することはできません。

この AllowManageOwnUserMFA ステートメントでは、ユーザーは自分のユーザーの仮想、U2F、またはハードウェア MFA デバイスを表示または管理できます。このステートメントのリソース ARN は、ユーザー自身の IAM ユーザーにのみアクセスを許可します。ユーザーは他のユーザーの MFA デバイスを表示または管理することはできません。

{
     "Sid": "AllowManageOwnVirtualMFADevice",
     "Effect": "Allow",
     "Action": [
          "iam:CreateVirtualMFADevice",
          "iam:DeleteVirtualMFADevice"
     ],
     "Resource": "arn:aws:iam::*:mfa/${aws:username}"
},
{
     "Sid": "AllowManageOwnUserMFA",
     "Effect": "Allow",
     "Action": [
          "iam:DeactivateMFADevice",
          "iam:EnableMFADevice",
          "iam:ListMFADevices",
          "iam:ResyncMFADevice"
          ],
     "Resource": "arn:aws:iam::*:user/${aws:username}"
},

何となく読み取れますが、AWSポリシー、奥が深いですね。

EC2構築は今晩着手しますが、ブログにまとめるのは、明日以降になりそうです。

AWS 無料利用枠で何かやってみる Day 4 〜認証認可とは

Day 4 で何やる?

ということで、Day 3での宣言通り、「AWSでの認証認可」の整理をやります。

nabemerchant.hatenadiary.jp

あとは、無料枠で何するか妄想してDay 4 終えます。(まだ触らないの!?)

なお、AWSアカウント作ったのに、サービス全然使わないので、AWSから「早く使いなよ!!」ってメール来ました。

f:id:nabe_merchant:20210506223443p:plain

参考にしたサイト/書籍は以下の通り(感謝)

サイト

書籍

  • AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版 www.amazon.co.jp

AWSキーワードの整理と学習 続き

AWSでの認証認可

IAMユーザーはAWSアカウント(root)で作成できるユーザーアカウント(認証)。このユーザーにポリシーと呼ばれるAWSサービスの操作権限をアタッチすることで、IAMユーザーがサービス利用を認可される。

IAMユーザーを束ねる概念としてIAMグループがあり、グループへのユーザー追加はもちろん、グループにポリシーをアタッチすることで、グループ内のユーザーへの認可も可能となる。

上記と同様に、AWSサービスに対しても他のAWSサービスを操作させるためのポリシーをアタッチすることが可能で、その際は操作する側のAWSサービスにIAMロールを設定し、ポリシーをアタッチする。

ここまでが、「ユーザーベースのポリシー」で、種類としては - AWS管理ポリシー:AWSが提供する汎用的なポリシー - カスタマー管理ポリシー:ユーザーが定義するポリシー(再利用可能) - インラインポリシー:個別作成するポリシー がある。

ユーザーベースのポリシーとは別に「リソースベースのポリシー」があるが、この理解が若干ややこしい。ここではわかる範囲で記載するが、今後AWSを利用して誤解があった場合は訂正する。

ユーザーベースが操作する主体に付与するのに対して、リソースベースは操作される側に付与する。従って、リソースベースのポリシーは〇〇にどの操作を許可するという記述になる。(であっているかな?)

図を書いた方が良いが、参考リンクの焼き回し感で出るので控えます。

無料利用枠で何するか

ようやく無料利用枠の開始。

使いたいサービス(サイト記載の順)は

  • EC2及び関連サービス
  • S3
  • Lambda
  • SNS
  • API Gateway
  • ElastiCache
  • SQS
  • Glue

あとは、機械学習とIOT系はどんなものかは試してみたいな。

「何を作る」というよりは「AWSとは何か」を探っていき、作りたいものを考えることにする。

aws.amazon.com

AWS 無料利用枠で何かやってみる Day 3 〜AWSキーワード整理

Day 3 で何やる?

ということで、Day 2での宣言通り、AWSキーワードの整理と学習をやります。

とはいえ、完璧の学習するとなると、どんどんAWS触るタイミングが遠ざかるというか、熱量無くなるので、今日だけ取り組んで、後は適宜学習していきます。 個別サービスについては実際に使う際に整理するとして、共通の概念を抑えていきたいと思う。

なお、AWSのリファレンスガイドにある用語集を真剣に読もうとすると、読んでる内に浦島太郎状態になりそうなので、そっ閉じ。(※キーワードを元に公式の解説を読むには良いと思います。)

docs.aws.amazon.com

参考にしたサイト/書籍は以下の通り(感謝)

サイト

書籍

  • AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版 www.amazon.co.jp

AWSキーワードの整理と学習

RegionとAZ:Availability Zone

RegionとAZ(:Availability Zone)は仮想の話ではなく、物理(地理)的拠点の話。
例えば、Regionはアメリカ北カリフォルニアや、中国北京や、日本東京。構築するサービスがどこからアクセスがあるかなどを検討した上で、Region選択することで通信効率は上がるが、Regionによって提供サービスやコストは異なる。また、Regionは完全に独立しているため、複数Region上で同一(というか共同)の仮想環境は構築できないと思われる。

AZはRegion内のデータセンターで、各AZは地理的・電源的に独立しているが、AZ間は高速なネットワーク回線が引かれているのでAZ間のネットワーク遅延は気にする必要はなさそう。

世界規模の何かを企んでいない限りは、Region選択は日本で良いと思われる。可用性に関しては、マルチAZ構成で担保できるが、この観点はVPCの説明が必要になる。

VPCとマルチAZ

VPCとはVirtual Private Cloudのこと。正直言う、「Cは何か知らなかった。プライベートな何かとは理解していたが...。」
AWS上に利用者が作る仮想環境(ユーザークラウド環境のような感じかな)が、VPCとなる。
では、VPCを作らないと基本的にAWSのサービスを利用できないかと言うとそういう訳ではなく、サービスによって

  • グローバルサービス
  • リージョンサービス
  • AZサービス

があり、AZサービスがVPC内に構成するサービスになっている認識。対象はEC2やRDS、ネットワーク等なのサービスというよりは、仮想環境(インスタンス)構築のイメージ。

VPCは仮想環境かつ、その範囲は利用者によって規定された仮想的なネットワークとなるが、このネットワークを複数AZに跨って設定することが可能であり、この構成を「マルチAZ構成」と呼ぶ。

とは言え、複数AZのそれぞれに仮想環境を構築したからといって、可用性に繋がる訳ではなく、例えばEC2で構築したサーバをマルチAZ構成にしているのであれば、インターネットゲートウェイ(IGW)の設定にて、冗長化や障害時復旧を実現する必要がある。なお、IGWはリージョンサービスとなるため、単一AZ障害には巻き込まれないという寸法となっている。

サブネットやルートテーブル、セキュリティグループなどなどネットワーク周りも整理すべきだが、ここは机上だけだと混乱するので、実際の構築と合わせて知識を整理する。

と言いつつセキュリティグループ

セキュリティグループはVPC内のインスタンスの仮想ファイアウォールの役割となる。インバウンドはデフォルトが拒否なので、セキュリティグループは必要分の許可設定が必要で、アウトバウンドがデフォルトが許可なので、不要分を削除する必要がある。

インスタンス単位ではなく、サブネット単位のファイアウォール機能もあり、ネットワークアクセスコントロールリスト (ACL) がその役割となる。

AWSでの認証認可

AWSでは、認証認可を「IAM:Identity and Access Management」が行う、、、、ん。概要がつかめたが整理が間に合わないので、Day 4で対応する!!

ん?いつになったらAWSのサービス触るのか!?

AWS 無料利用枠で何かやってみる Day 2

Day 2 で何やる?

ということで、このあたりやります。

  • 無料利用枠死守のための設定
    • AWS 無料利用枠使用状況アラート オプトイン
    • AWS Budgets コスト監視(コスト予算設定)
  • 業務では分かった振りしてなんとなく使っているキーワードを洗い出す(Day 3以降の学習ネタ)

AWS 無料利用枠使用状況アラートをオプトインする

以下の情報に従うと、

AWS無料利用枠使用状況アラートにより、 では、その月の使用量が 85% を超えたときに からAWS通知を受け取ることができます。

とのこと。

docs.aws.amazon.com

ということで早速設定(ついでにAWSコンソールのリージョン変更)

f:id:nabe_merchant:20210502215309p:plain

該当サービスは「無料利用枠の使用アラートを受信する」をチェックして、設定の保存をすればOK。
ついでに「E メールで PDF 版請求書を受け取る」もチェックして、受動的にもコスト確認可能としておく。

AWS Budgetsで念の為のコスト監視(コスト予算設定)を行う

AWS無料利用枠使用状況アラート」のドキュメントをさらっと読んだが、あくまで「無料枠」を対象としたアラートと読み取れるため、無料枠対象外に関しては誤って利用(そんな想定はない)した際に、どうなるの?という疑問がある。

従って、AWS Budgetsで予算設定することで、コスト監視を念の為行う。
方法については、以下を参照して実施した。というか、アラートの設定も以下が詳しい。ありがとう、Qiita!!

qiita.com

あとこちらも参考にさせて頂きました。

dev.classmethod.jp

ちゃんと勉強したいAWSキーワード(Day 3以降の学習ネタ)

ロールとポリシーは、正直言われるがままに設定している感じなので、きちんと抑えたい。
あと、AWS内のネットワーク周りも分かってない。 VPCはともかく、エンドポイントは要するに物理NWでは何なのか。みたいな。
そう、つまり何も分かっていない、ことが分かったことがこのセクションの収穫!!

そんなこんなで、調べているとまたQiitaに出くわす。

qiita.com

Qiita最高だな!! 次回以降は、基礎的な勉強結果のまとめ(参考にしたサイトと、理解のサマリー)を綴る。
ん?いつになったらAWSのサービス触るのか!?

Reverse/Re:verse/Re:birth

AWSの勉強を始めるにあたって、ブログに記録を残そうと思い、Hatena Blogさんで開始した。

nabemerchant.hatenadiary.jp

ブログのタイトルは
Reverse/Re:verse/Re:birth engineering

reverse :世にあるProductを観察し、engineeringを再学習し、
re:verse:再び、様々な技術・知識・思考を導入し、
re:birth :再び、engineerになる。

f:id:nabe_merchant:20210502233605p:plain

30代半ば、ITエンジニア
久しぶりにコーディングする機会を得て、エンジニアリング再始動という感じで、ブログを綴れば良いかと。

なお、noteもやっていたりする。正確には再開した、が正しいか。

note.com

Hatena Blogは、エンジニアnabe_merchantとしての記事を残していきたいと思う。
エンジニアとしての「技術・知識・思考」に関連する内容だ。
noteは必然とその他となる。Twitterもやっているが、、、、控えておこう。あれはマルチバースの話だ。

ん?その内容なら、Qittaのほうが良くね?と思ったそこのあなた!!
確かにそうなんじゃないか...と思いつつも、Qittaはハードル高いわ〜と思いつつも、Hatena Blogの中でQittaのリンクめちゃめちゃ貼りたおして、re:birthしたいと思います。

qiita.com

AWS 無料利用枠で何かやってみる Day 1

AWS 無料利用枠で何かやってみる」って、ナニソレ?

業務でようやく、AWSを使うチーム/PJTに配属されたので、すでに社用アカウントでは触り出しているのだが、「ゼロから自分」でということで、AWS無料枠を使って、具体的にAWSのサービスを触ってみることとする。

漂う今更感...ええーーーい!!そんなものは漂っていない!!!

AWS無料利用枠については、以下を参照してください。

aws.amazon.com

Day 1 で何やる?

Day 1 としては、とりあえずアカウント作成と今後のプランとタスクを整理する。

アカウント作成

アカウント作成は、上記のリンクの以下の「まずは無料で始める」ボタンを押下して進むだけ。 f:id:nabe_merchant:20210501173523p:plain

途中で、決済方法を求められて、「えっ無料枠じゃないの」って感じになる...けど

当然、無料枠のことは調査済みです。上記サイトを引用すると下記の通り。(※2021/05/01時点の情報となります。)

  • 12 か月間無料:

    これらの無料利用枠は、AWS の新規のお客様のみが対象であり、AWS にサインアップした日から 12 か月間ご利用いただけます。12 か月間の無料利用の有効期限が切れた場合、またはアプリケーション使用量が無料利用枠を超えた場合は、標準の料金、つまり従量制料金をお支払いください (価格の詳細については、各サービスのページをご覧ください)。ご利用にあたっての条件が適用されます。詳細については、提供規約をご覧ください。

  • 常に無料:

    これらの無料利用枠は、12 か月間の AWS 無料利用枠の期間が終了しても自動的に期限切れにはなりません。既存および新規の AWS のお客様のいずれも、無期限にご利用いただけます。

  • トライアル:

    これらの無料利用枠は、最初に利用した時点から開始する短期間の無料トライアルです。トライアル期間が終了すると、標準の料金、つまり従量制料金をお支払いください (価格の詳細については、各サービスのページをご覧ください)。

つまり、

  • 12ヶ月無料のサービスについては、本日2021年5月1日を起点として、12ヶ月間使えるが、各サービスの無料上限があり、超えると課金!!
  • 常に無料のサービスについては、期間制限なし、各サービスの無料上限があり、超えると課金!!
  • トライアルは各サービス利用から、それぞれのサービスで規定されている期間&上限の範囲内は無料、超えると課金!!
    • 例:Amazon Redshift 2 か月(1 か月あたり 750 時間の dc2.large 使用量が 2 か月間無料) など

と話がそれたので戻す。

アカウント作成は、登録ページが促す通り、そのまま入力してください。雑な説明ですが、下手に補足する必要はないです。最後の方にSMS認証があるので、日本を指定して携帯電話番号入れて認証を完了させる。

アカウント作成の直後にやるべきこと

作成したアカウントは、ルートユーザーとなる。

AWSアカウントは、ルートユーザーとIAMユーザーがあるが、そのあたりの詳細は以下。

AWS アカウントのルートユーザー 認証情報と IAM ユーザー認証情報 - AWS 全般的なリファレンスdocs.aws.amazon.com

適切なアクセス許可を持つ IAM ユーザーを使用して、タスクを実行し、AWS リソースにアクセスすることをお勧めします。ただし、アカウントの ルートユーザー としてサインインした場合にのみ、以下に示すタスクを実行できます。

とあるので、本当はIAMユーザー作って、AWS触ったほうがいいのだが、個人&まだ何のサービス触るかも決めてないので、IAMユーザー作っても都度リソースの割当...めん...ということでとりあえずルートのまま進める。

ただし、かなり強力なユーザーで、アカウント乗っ取りとか怖過ぎので、MFA(多要素認証)を設定する。

設定方法は以下の「AWS アカウントの root ユーザーの仮想 MFA デバイスを有効にする」を参照。

仮想 Multi-Factor Authentication (MFA) デバイスの有効化 (コンソール) - AWS Identity and Access Managementdocs.aws.amazon.com

なお、認証アプリは「Google Authenticator」を利用。

Google Authenticator

Google Authenticator

  • Google LLC
  • ユーティリティ
  • 無料
apps.apple.com

Day 2 以降 で何やる?

業務で利用しているのは、 - API Gateway - Lambda - RDS - DynamoDB など。このあたりは、お膳立てなしで環境準備などできるようになりたいなと。

次に、上記をServerless Frameworkでdeploy可能になり、最終的にはCode系からリリースする方法を理解する感じかな。

いや、業務で出来ているならいいのでは?という点はあるが、ポイントは「ゼロから自分」

あとは、SQSとかGlueは触って置きたい。EC2はどうしようか。

なお、可能な限り無料枠は超えたくないので、利用状況やコスト発生状況を見極めるために、「AWS Budgets」の勉強が最優先!!

AWS Budgets(設定した予算のしきい値を超えるとアラートを発信)| AWSaws.amazon.com

編集後記

  • ブログの名前ダサい。今晩なんとかする
  • テンプレートもうちょい横広いか、文字小さくしたい。今晩なんとかする
  • noteとの棲み分けは....。今晩なんとかする
    • 技術系のみこのブログ使うイメージ
  • もろもろ、今晩なんとかする!!