AWS認証系のメモ

ADに関する資料

www.slideshare.net

dev.classmethod.jp

SAML2.0

AWSでシングルサインオン(SSO)を実現する~SAML2.0ベースのAWSマネージメントコンソールへのフェデレーション (1/4):CodeZine(コードジン)

記事の中に

ADFS利用による複数AWSアカウントへのSSO
ADFSでAWS Management ConsoleにSSO
Active Directory資産を活用したAWS Management ConsoleへのSSO
SAML 2.0 フェデレーティッドユーザーが AWS マネジメントコンソールにアクセス可能にする

というのもあるから参照

ソリューションアーキテクトプロフェッショナル試験学習ログ

well-architectedの読み方

dev.classmethod.jp

Direct ConnectのBlack Belt

www.slideshare.net

プロパゲーション

business.ntt-east.co.jp

SSOのBlack Belt

www.slideshare.net

OrganizationのBlack Belt

www.slideshare.net

VPCのBlack Belt

www.slideshare.net

Route53のBlack Belt

www.slideshare.net

Storage GatewayのBlack Belt

www.slideshare.net

RedshiftのBlack belt

www.slideshare.net

DynamoDBのBlack belt

www.slideshare.net

EC2のBlack Belt

www.slideshare.net

スポットフリート

dev.classmethod.jp

VMimport

aws.amazon.com

Auto recovery

dev.classmethod.jp

AI serviceサマリ black belt

www.slideshare.net

rekognition

https://d1.awsstatic.com/webinars/jp/pdf/services/20170329_AWSBlackBelt2017-AmazonAI.pdf

スライドシェアが消えてるのとBlackBeltが無い

s3

www.slideshare.net

インテリジェントティア

dev.classmethod.jp

リクエスタ支払い

dev.classmethod.jp

マルチパートアップロード

dev.classmethod.jp

docs.aws.amazon.com

Billing

Cost Explorer

www.slideshare.net

www.slideshare.net

AWS Budgets

docs.aws.amazon.com

VPN

dev.classmethod.jp

cloudformation

www.slideshare.net

ELB Black Belt

www.slideshare.net

Stickey session

blog.serverworks.co.jp

OpsWorks

www.slideshare.net

サブネットを切りたくなった時の計算方法に関するメモ書き

VPCなんかでサブネットを切りたくなった時に計算を求めるのをいつも忘れてしまうのでメモ

itmediaの記事がわかりやすい

www.atmarkit.co.jp

練習問題

www.atmarkit.co.jp

192.168.30.25/22のネットワークアドレスを選択しなさい。

CIDR形式のipアドレスからネットワークアドレスを求めるには一旦2進数に解く必要がある オクテット単位で変換していく。 10進から2進への変換は割り算で行う

www.infraexpert.com

IPアドレス 192.168.30.25 11000000.10101000.00011110.00011001 サブネットマスク(スラッシュ22のところ) 255.255.252.0 11111111.11111111.11111100.00000000 ネットワークアドレス 192.168.28.0 11000000.10101000.00011100.00000000

内容はコピペしたが一応手計算もした(練習のため) ipアドレスの二進数変換は計算するしかない。

スラッシュの後ろの数字はは第一オクテットからみて何ビットまでがマスクなのかを表してるので。 単純に1を桁数分だけ左側から並べていけば良い。10進数で表す場合も1,2,4,8,16,32,64,128で並べて1が立ってる場所の和を求めれば良いだけ。 ネットワークアドレスは2進数化されたipアドレスサブネットマスク論理積を求めて。10進数にすると求められる。 192.168.28.0 となる。

tips

理解してなくてもipcalと言うコマンドを使うと全部計算してくれるが。 理解しておくことは大事

ipcalc 192.168.30.25/22
Address:   192.168.30.25        11000000.10101000.000111 10.00011001
Netmask:   255.255.252.0 = 22   11111111.11111111.111111 00.00000000
Wildcard:  0.0.3.255            00000000.00000000.000000 11.11111111
=>
Network:   192.168.28.0/22      11000000.10101000.000111 00.00000000
HostMin:   192.168.28.1         11000000.10101000.000111 00.00000001
HostMax:   192.168.31.254       11000000.10101000.000111 11.11111110
Broadcast: 192.168.31.255       11000000.10101000.000111 11.11111111
Hosts/Net: 1022                  Class C, Private Internet

オクテット単位外でサブネットを切りたい時のメモ

/24, /16 のようにオクテット単位でサブネットを切るときは迷うことはほぼないのだが、 /20のような範囲で切る場合はネットワークアドレスはホストアドレスが全てゼロになるように設定する必要がある(ネットワークアドレスの仕様) そのためちょっとだけ計算してあげる。

NG

ipcalc 10.10.10.0/20
Address:   10.10.10.0           00001010.00001010.0000 1010.00000000
Netmask:   255.255.240.0 = 20   11111111.11111111.1111 0000.00000000
Wildcard:  0.0.15.255           00000000.00000000.0000 1111.11111111
=>
Network:   10.10.0.0/20         00001010.00001010.0000 0000.00000000
HostMin:   10.10.0.1            00001010.00001010.0000 0000.00000001
HostMax:   10.10.15.254         00001010.00001010.0000 1111.11111110
Broadcast: 10.10.15.255         00001010.00001010.0000 1111.11111111
Hosts/Net: 4094                  Class A, Private Internet

OK

ipcalc 10.10.16.0/20
Address:   10.10.16.0           00001010.00001010.0001 0000.00000000
Netmask:   255.255.240.0 = 20   11111111.11111111.1111 0000.00000000
Wildcard:  0.0.15.255           00000000.00000000.0000 1111.11111111
=>
Network:   10.10.16.0/20        00001010.00001010.0001 0000.00000000
HostMin:   10.10.16.1           00001010.00001010.0001 0000.00000001
HostMax:   10.10.31.254         00001010.00001010.0001 1111.11111110
Broadcast: 10.10.31.255         00001010.00001010.0001 1111.11111111
Hosts/Net: 4094                  Class A, Private Internet

AWS認定 developer向けのチュートリアルとか読んどくもの

試験ガイド

aws.amazon.com

出題ガイド

https://d1.awsstatic.com/ja_JP/training-and-certification/docs-dev-associate/AWS-Certified-Developer-Associate_Exam-Guide.pdf

分野 1: 展開 22%
分野 2: セキュリティ 26%
分野 3: AWS サービスを使用した開発 30%
分野 4: リファクタリング 10%
分野 5: モニタリングとトラブルシューティン
グ12%
合計 100%


分野 1: 展開

1.1 既存の CI/CD パイプライン、プロセス、およびパターンを使用して、記述したコードを AWS
内に展開する。
1.2 Elastic Beanstalk を使用してアプリケーションを展開する。
1.3 AWS に展開するアプリケーション展開パッケージを準備する。
1.4 サーバーレスアプリケーションを展開する。

分野 2: セキュリティ

2.1 AWS サービスに対して、認証された呼び出しを行う。
2.2 AWS サービスを使用して暗号化処理を実装する。
2.3 アプリケーションに対する認証処理と承認処理を実装する。

分野 3: AWS サービスを使用した開発

3.1 サーバーレスアプリケーションのコードを記述する。
3.2 機能要件をアプリケーション設計に反映させる。
3.3 アプリケーション設計に基づいてアプリケーションコードを記述する。
3.4 API、SDK、および AWS CLI を使用して、AWS サービスとやりとりするコードを記述する。

分野 4: リファクタリング

4.1 AWS のサービスと機能を最大限に活用できるようにアプリケーションを最適化する。
4.2 既存のアプリケーションコードを AWS に移行する。

分野 5: モニタリングとトラブルシューティング

5.1 モニタリング可能なコードを記述する。
5.2 テスト環境または本番環境で見つかった障害に対する根本原因分析を行う。

全体的にやはりSAA試験よりもサーバーレスサービスとかCI,CD周りに重点が置かれてる印象

training

www.aws.training

チュートリアルをするための情報

lambda + サーバーレスアプリケーション開発

lambda

docs.aws.amazon.com

lambda + ap gateway

docs.aws.amazon.com

lambda + step functions

docs.aws.amazon.com

cognito

docs.aws.amazon.com

dynamo db

aws.amazon.com

kms

docs.aws.amazon.com

www.slideshare.net

system manager

aws.amazon.com

app sync

aws.amazon.com

CI + CD( + ECS)

ECS

docs.aws.amazon.com

ECR

docs.aws.amazon.com

code commit

docs.aws.amazon.com

code build

docs.aws.amazon.com

code deploy

docs.aws.amazon.com

パイプラインを作成する

docs.aws.amazon.com

SQS

docs.aws.amazon.com

x-ray

docs.aws.amazon.com

ELBのアクセスログをクロスアカウントで別アカウントのバケットに保存する

CLB,ALBなどでアカウントを跨いで(例えばログ集約アカウント)バケットに保存したい場合の設定

書き込み先のバケットポリシー

"arn:aws:iam::582318560864:root"

は共通値。aws側で指定しているクロスアカウントで書き込むためのアカウント。

{
    "Version": "2012-10-17",
    "Id": "S3-ELB-LogPolicy",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::582318560864:root" 
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::書き込み先バケット/AWSLogs/書き込み元アカウントのid入れとくとわかりやすい/*"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::書き込み先バケット/AWSLogs/書き込み元アカウントのid入れとくとわかりやすい/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::書き込み先バケット"
        }
    ]
}

バケットポリシー が設定できたらELB側のバケット出力先を変更する。 名前を間違えなければマネジメントコンソールからもできる。

redashのSMTPサーバーとしてSESを使用している時にcredentialを変更する

composeが使用しているenvファイルを編集する

/opt/redash$ ls
docker-compose.yml  env  postgres-data

envファイルを開いて

REDASH_MAIL_USERNAME REDASH_MAIL_PASSWORD をiam userから新しく発行したkeyとsecretsで入れ替える

設定ファイルを書き換えたのでコンテナを作りなおす

docker-compose up -d

新しいクレデンシャルで送信できるか試す

コンテナに入る

docker-compose exec server bash

cliでテストメールを送って見る

./manage.py send_test_mail テスト送信メール宛先

デバッグする時

サービス一覧(logsで指定する)

docker-compose config --service

サービスを指定してログを見る

docker-compose logs server

ログをtail

docker-compose logs -f server

## 直近のだけ見るなら

docker-compose logs -f --tail=500 server

ちょっとわからなかった所

  • smtpクレデンシャルはses側から発行可能だったが実態はiam user
  • 旧ユーザーで新しいkeyを発行したが疎通できなかった
  • ユーザーを新規に作成したら疎通が出来た

AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入

感想文

全体は3部構成になっていて。 その中は第1章から14章まで別れていて非常に体系だてられている。

AWSのレイヤーとしてデータレイクを作る、運用するにあたってメインに取り扱われてるコンポーネント

  • s3
  • glue
  • athena
  • redshift
  • quicksight
  • lakeformation

そのほかAWSの基本的な知識して取り扱われてるコンポーネント

  • IAM
  • ELB

特にIAMは慣れてないと若干とっつきにくい気がする。

個人的な読みどころ

自分はGlueとかAthenaをすでに使っていたけど、 抽象的にふわっとしか理解していなかった箇所がちゃんと説明できるようになったかなと(AthenaがGlueのデータカタログ として取り扱われている箇所とか)。

あとはGlue以上に抽象的で意味が理解しにくい印象だったLakeFormationのチュートリアル的なものもあってよかった。 (サンプルはELBのログをカタログに登録するところ)

前半のデータレイクの概念は実務的な感じといいうよりは自身が設計を起こす際にきちんと人に説明できるようになる。ってところで役に立った気がする。 ちなみにamazonのデータレイク をandesと呼ばれってることを初めて知った。

aws.amazon.com

これを読みながら一度きちんとGlue,LakeFormationあたりをきちんと整理し直したいなと思った次第。