lizminim

忘れていても思い出せるように。

AWS認定資格アソシエイトレベル3冠したので所感【AWS SAA, SOA, DVA】

 先日AWS SOADVAの資格に合格し、アソシエイト資格をすべて取得した。以下はその記録と所感。

勉強前のスキルセット前提

  • CFnで一通りインフラ構築経験あり
  • lambda + API GWでサーバレスREST API構築経験あり
  • ECSを利用したREST API構築経験あり

SOA

正直簡単だった。私の受験時にはラボ試験が廃止されていたため、輪をかけて易化していたと思われる。

基本的な教材としてこちらを利用。1周だけしてあとはcloudlicenseに頼った。

AWS認定資格試験テキスト AWS認定SysOpsアドミニストレーター https://amzn.to/41IxEPnamzn.to

内容としては十分だが、試験を受けるにはこの本だけでは少し足りないと感じた。 cloudlicenseは古い問題以外を1周+間違えた問題を復習で十分だった。

DVA

ほぼノー勉。cloudlicenseを1周しただけだが合格。 API GWの細かい話が割と多く無理かなと思ったがなんとかなった。

所感

という感じでなんだかさっくり合格できたが、cloudlicenseで演習の数をこなすのがそれなりに大変。 ある程度インフラ構築経験があれば、正直cloudlicenseだけで試験には対応できると思われる。 結果だけ見るとcloudlicenseありきで対応してしまったなという印象。SAAに合格したのが1年前なため包括的に勉強しなおす良い機会になったのは良かったと思う。

しかしながら、実際にインフラ構築する時に精査することを考慮するとコスパのいい資格ではないと思う。 構築経験+資格を持っていれば転職時に効果を発揮してくれるだろうと淡い期待を抱いている。

SAPまで取得してもいいが食指がイマイチ動かない。フロントエンドやReactの勉強に時間を割くのが先かな。

2023総括

勉強しかしてないし、何なら勉強もそんなにしてない。

とりあえず2023年に取得した資格を並べてみる。

AWS SAA AWS SOA AWS DVA

応用情報技術者試験

んー。まぁ頑張ったんじゃない? 2022にFE落ちて今年AP取れたのはまぁまぐれだろう。FEの午後試験勉強をちゃんとしなかったのが敗因ではあるけど。

ひとまずAWSのアソシエイト資格はすべて2023に取ったのでCLFと合わせて4冠。資格が取得できたからといって微塵も仕事に応用が聞かなそうな資格だと思う。 それに比べて応用情報のバランスの良さよ。手広く網羅的に、突っ込んだことは午後でつついて、IT開発者であれば持っていてほしい知識をつついてくる感じ。とても練られている試験だと感じた。

とりあえず来年の予定を以下。

ネスペ AWS SAP PM

高度だなぁ。あと試験外で

ギター再開 ヒゲ脱毛開始 ボルダリング再開 アプリ開発 SIGNATEやる

って感じ。彼女いないし結婚したいけどできそうにないからこれくらいできるだろ。 まぁ頑張ろう。きっといいことあると信じて。

AWSのAMIとスナップショットとEBSの違い

よくわからなかったので調べた。

https://aws.typepad.com/sajp/2014/04/trainingfaqbest10.html

EBS = EC2のストレージ

そのままである。

スナップショット :=「EBS中のデータをS3に保存したもの」

EBSのバックアップ。EBSからスナップショットを作成する場合、EC2インスタンスを止めておくことが推奨される。

AMI = スナップショット + 管理情報(OSとか)

諸々のバックアップ。EC2&EBSをAMI化すると、インスタンスの構成情報とスナップショットへそれぞれ変化し、AMIとして管理することになる。

AMIを他アカウントと共有

AMIの共有は他AWSアカウントID(12桁の数字の奴)がわかれば共有可能。

AMIを他リージョンへコピー

コピー名、送信先リージョンを指定。さらにAMIコピーのEBSスナップショットの暗号化が指定できる。

暗号化されたEBSスナップショットの別リージョンコピー

docs.aws.amazon.com

AMIの暗号化だが、これは正確にはAMIが持つEBSスナップショットの暗号化である。

https://aws.typepad.com/sajp/2016/10/how-to-create-a-custom-ami-with-encrypted-amazon-ebs-snapshots-and-share-it-with.html

AMIのコピーは元の暗号化状態を引きずる。しかし暗号化してあるAMIを暗号化されてないAMIとして別リージョンにコピーするのはできない。

ざっくり暗号化EBSの別リージョンコピーの流れを説明すると、 まず、EBS作成時にKMS暗号化する必要がある。(後からやる場合、結構面倒。暗号化されていないスナップショットからコピー作成時に暗号化スナップショットを作成。それを一度マウントして暗号化EBSとする流れ。)

で、暗号化EBSができているので、スナップショットを作成する。EBS暗号化されているので、そのスナップショットも暗号化されている。

で、別リージョンにEBSスナップショットをコピーする。この時、別リージョン側の暗号化キーを選択できる(デフォルト、カスタマー管理単一リージョン、カスタマー管理マルチリージョン)。

そのカギで、暗号化スナップショットをコピーする(ややこしい)。 すると別リージョンに暗号化されているEBSスナップショットが存在する。要は、相手のリージョンのカギで「暗号化スナップショット」の暗号化をしてコピーをしているような感じ。

blog.serverworks.co.jp

PoEとPPPoE/IPoEは全然違う別物だよ。

反省。

PoE(Power over Ethernet)
EthernetのLANケーブルを利用して電力を供給する標準規格。IEEE 802.3afとして標準化されている。

 

PPPoE

古めの規格。終端装置に接続するためちょっと遅い。以下、参考

www.nttpc.co.jp

IPv4にしか接続できない点に注意。

 

IPoE

新しめ。IPv6でも利用される。ダイレクトにネット接続。IPv6を持ったwebサイトにしか接続できないので注意。

ピアリング戦記を読了。

 課長から「ピアリング戦記」なる本をくすねてきた。自宅から外に向けると何故かインターネットが利用できてしまうが、今までイマイチ全貌を理解していなかった。自宅からはプロバイダというものまでつながっているというのはわかるが、その先はインターネットといわれても正直わかっていなかった。

 単純なことだが、ISP同士、あるいはネットワーク同士のつながりによってインターネットが構築されている。だけどルータやルータに接続するラインカードの維持や利用にはお金がかかるし、その金銭コストは膨大。なので「どことどこのネットワークをつなぐか」という部分でコストが変わったりするし、そのネットワークを持つ組織の力関係だったりといろいろと影響がでてくる。この時、ネットワーク同士をつなぐプロトコルをBGPと呼び、つなぐネットワークのことをAutonomous System(自律システム)と呼ぶ。BGPルータ同士の接続のことをピアリングと呼び、本書のタイトルとなっている。

 で、そのASとBGPって物理的にはどういう状況になっているかというと、データセンターに集まっている。データセンター内でBGPルータをゴニョゴニョすれば互いにピアリングできる。が、上で書いた通り、組織の力関係やビジネス要素が関わってくる。とかいうお話。口語的で読みやすかった。

 

## 以下は自分用のメモ

 

BGPルータ同士はL2セグメントで接続。

基本的にデータセンターにいる事業者によって、そのデータセンターの魅力が決まる。

大阪にデータセンター拠点が増えだした理由は、東日本大震災が大きな契機。BCPって大事だよねとなって、一定のトラフィックを集めていた大阪がPOP(Point of presence)として注目されたという流れ。まぁでもトラフィックが多い東京のデータセンターに向けて通信をした方がもともと安かったらしく、2010~2022にかけてようやくトントンくらいになったらしい。堂島問題というのもあったらしいから調べよう。
IXはBGPルータを持ち寄って接続する場所。色々なネットワーク境界がいっぺんに集まったところみたいな認識。

このくらいだろうか。

ネットワークの知識はまだまだなところがあるから20代のうちにネスぺを取りたいと思っている。その前に応用情報の勉強を頑張ろう。

terraform: Error: Error pinging Docker server: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? の対処例。

terraform tutorialでエラー発生。環境はwin10+ubuntu18.04(wsl2)

 learn-terraform-docker-container % terraform apply
╷
│ Error: Error pinging Docker server: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
│
│   with provider["registry.terraform.io/kreuzwerker/docker"],
│   on main.tf line 10, in provider "docker":
│   10: provider "docker" {}
│
╵

docker desktopが起動するためdocker自体は起動しているはずでは?と思っていたが、dockerコマンドを叩くと、

[05:35:18]kilin@DESKTOP-8H0PBKG ~/learn-terraform-docker-container $ docker context ls

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

[05:35:29]kilin@DESKTOP-8H0PBKG ~/learn-terraform-docker-container $

と返される。どうやらWSL2でdockerが設定されていない様子。 以下の記事で設定を確認。

docs.docker.com

私の環境の場合、以下の画像箇所でintegrationが有効になっていなかった。

こちらをonにして確認。

[05:35:29]kilin@DESKTOP-8H0PBKG ~/learn-terraform-docker-container $ docker context ls
NAME                TYPE                DESCRIPTION                               DOCKER ENDPOINT                             KUBERNETES ENDPOINT   ORCHESTRATOR
default *           moby                Current DOCKER_HOST based configuration   unix:///var/run/docker.sock
desktop-linux       moby                                                          npipe:////./pipe/dockerDesktopLinuxEngine

OK.

terraform tutorialの続き。

developer.hashicorp.com

terraform init terraform apply => yes

OK.

-- 余談: dockerをintegrationしたのが原因なのか、もともと持っていたコンテナたちが一斉に起動してしまった。不思議だ。