AWS関連のことを調べてみた2020年02月01日

AWS関連のことを調べてみた2020年02月01日

AzureADの認証情報(SSO)を使って AWSのコンソールにアクセスする

## 目的
複数のAWSアカウントを利用用途に使い分けていると、それぞれのログイン情報を管理するのは煩雑なので Azure Active Directory の認証情報を用いて、Office 365 ポータル からAWSコンソールを利用できる状態にします。

Office365ポータル.png

## 手順1. AzureADにエンタープライズアプリケーションを追加

[チュートリアル:Azure Active Directory シングル サインオン (SSO) とアマゾン ウェブ サービス (AWS) の統合](https://docs.microsoft.com/ja-jp/azure/active-directory/saas-apps/amazon-web-service-tutorial) に書いてあ

元記事を表示

CDK で自動生成されるたくさんのリソースを個別に参照する

## CDK の Higher-level ライブラリと ConstructNode class
CDK の Higher-level Constructs library (高い抽象度で構築できるライブラリ) を使うと単一オブジェクトで複数の CloudFormation リソースが作成できる。たとえば、`ec2.Vpc()`,`dynamodb.Table()`, `s3.Bucket()` のような具合で、これだけでいい感じのリソース**群**をババっと生成してくれる。

ここで作成される個別の下位リソースをカスタマイズやスタックのアウトプットのために参照したい場合は、`ConstructNode` クラスのメソッドにある `findChild()` 等を使えばよい

### 具体例
例. VPC を作成し NAT ゲートウェイではなく EC2 NAT インスタンスを作成する。 その EC2 インスタンスに `CfnEIP` で EIP を付与するため、NAT インスタンスの instance-id を参照したい。簡単のため、NAT インスタンスは 1つだけ生成されるようにしてい

元記事を表示

AWS Amplifyでnpm run serveした時に、This relative module was not found: ./aws-exports

# 概要
AWS Amplifyで開発したものをGitHub等に格納して、別の作業ディレクトリや別の端末でチェックアウトして作業する際に発生する問題です。
aws-export.jsは.gitignoreに設定されているので、そのままだとファイルが見つからないということになります。

# エラー内容
npm run serveすると、下記のようなエラーがコンソールに表示されます。

“`
ERROR Failed to compile with 1 errors 10:22:15 AM

This relative module was not found:

* ./aws-exports in ./src/main.js
“`

# 対応
How to clone an Amplify project from a git repo and generate aws-exports.js without push (Typescript/

元記事を表示

Lambdaにライブラリを乗せるときにLayersを使ったら便利

Lambdaにデプロイするときライブラリも一緒にデプロイする場合があると思いますが、いざデプロイするとちょっとした修正がコンソール上でできず、ちょっとめんどくさかったです。
それについてぼやいたらLayersを使えばどうかとアドバイスをもらったので、その備忘録。

## デプロイする関数
APIをちょっとたたく関数。言語はPython。

## LambdaのLayers機能
公式。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-layers.html
ライブラリをレイヤーとして取り込め、共通ライブラリとして利用できる。
そのためLambda関数にライブラリを取り入れる必要がない。
他のユーザが公開してるLayerも使えるらしい。

## そのままデプロイすると
ライブラリだけで4.5MBでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/452110/5c17653e-7869-eb74-e0b

元記事を表示

【AWS完全に理解したへの道】 CloudFront 基本編

# 【AWS完全に理解したへの道】 CloudFront 基本編
スクリーンショット 2020-01-18 17.24.36.png

##### AWS過去記事
[IAM 基本編](https://qiita.com/y-u/items/cef40fd249947687810e)
[VPC 基本編](https://qiita.com/y-u/items/40fa729d54ebab52fcb3)
[S3 基本編](https://qiita.com/y-u/items/9517ab2570a4e823fbb8)
[データベース(RDS/ElastiCache/DynamoDB)基本編](https://qiita.com/y-u/items/0d4a9e4ec6844b16b65c)
[EC2 基本編](htt

元記事を表示

DynamoDBのチュートリアルを読み解く【5: トリガーを作成してテストする】

# はじめに

今回も[DynamoDBのチュートリアル](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Streams.Lambda.Tutorial.html)を実施しました。
最後はLambdaでのトリガー作成です。

(バックナンバー)
[1.DynamoDB テーブル作成](https://qiita.com/kkino1985/items/f9091c1e1efb35009ce7)
[2.IAMポリシー/ロール作成](https://qiita.com/kkino1985/items/a087bc3077f36b4b1e21)
[3.SNSトピック作成](https://qiita.com/kkino1985/items/f40d950cfd6d464635fa)
[4.Lambda関数作成/テスト](https://qiita.com/kkino1985/items/4850f4bba7b8418c2cc8)

# 5.1 トリガー作成用ARN情報取得

今回はDynamoDB

元記事を表示

LambdaバージョンをAWS CDKで構築する際にハマったエラー

## 概要

Lambda functionとそのバージョンの発行をAWS CDKにて構築する際に「Lambdaコード更新と発行されるバージョン番号の関係」を正しく理解できず、エラーに悩みました。

そこで、AWS CDKでLambda functionとそのバージョンを発行する場合の挙動について検証しました。

本記事では、これらの検証結果とその解説を記述しています。

## サンプルコード

以下GitHubにて公開しています。

[YoshinoriSatoh/o-aws-lambda-version-cdk](https://github.com/YoshinoriSatoh/o-aws-lambda-version-cdk)

## Lambda Version

Lambda versionについては、以下参考記事でも説明されています。

[https://qiita.com/quotto/items/4c364074edc69cb67d70](https://qiita.com/quotto/items/4c364074edc69cb67d70)

また、公式ドキュメント

元記事を表示

図解で、ハンズオン(AWS API gateway, Lambda, dynamoDB)

#ハンズオン(AWS API gateway, Lambda, dynamoDB)
「Lambda未経験者限定」の超入門編です。なるべく図表を多用して書きます。分からなかったところは教えてください、補足を書き足します。60分でひと通り試すことができます。

##ゴール設定
自分の言葉で「サーバーレスって何?」を話せるようにするために、サーバーレスで典型的なAWS Lambdaの構成を30分で試せる最もシンプルなデータの書き込みと読み込みを仮想サーバー無しでやってみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189936/11675b46-f498-c36b-5e33-09e9f4d46667.png)

##必要なもの
– パソコン
– AWSアカウント
– サーバレスって何という疑問

##目次
– (1)dynamoDB(**まずデータを用意します**)
– (1-1)テーブルを作成する。
– (1-2)データを書く。
– (2)Lambda(**とりあえず

元記事を表示

AWSでhttpsする時

# 今回陥った事
1. 初めての証明書発行でつまづく
2. httpをhttpsにするためwordpressの設定を変更したらログインできなくなった
3. httpsに変更できた!しかしレイアウトが崩れている
4. ssl化したけど、安全じゃないって出てくる

# とても参考になったページズ
1. [Application Load Balancer 用の HTTPS リスナーを作成する](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/create-https-listener.html)
2. [WordPressアドレスとサイトアドレスの違い・間違って変更した場合の対処法](https://www.nishi2002.com/4207.html)

3. [ELB + SSL + WordPressについて](https://norm-nois.com/blog/archives/3869)

4. [SSL化したのに、”このサイトへの接続は完全には保護されていません”と表示され

元記事を表示

RailsアプリをAWSにデプロイしようとして、追加で行ったこと

#はじめに
Railsで作ったアプリをAWSにデプロイしようとして、下記Qiitaを参考に、デプロイしようとしました。
[(デプロイ編②)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで](https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1)

手順通りに実施した後に、個人的に追加して実施した内容をまとめようと思います。
同じような点で困っている人のお役に立てれば幸いです。

#環境変数の設定
アプリケーション作成中は.envに記載していた環境変数は、本番環境では、別で設定する必要があります。

“`
[akinori|~] vi .bash_profile

——————————-
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and s

元記事を表示

CDK関連リンク

# 背景
CDK関連のドキュメントやGithubの検索を毎回調べるのしんどい
ので、リンク集作りました

# リンク集
– Document
– [Getting Started With the AWS CDK – AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html)
– [CDK API Reference](https://docs.aws.amazon.com/cdk/api/latest/python/modules.html)
– [AWS リソースおよびプロパティタイプのリファレンス – AWS CloudFormation](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
– Github
– [Github Search f

元記事を表示

AWS CLI 基本コマンド(早引き)

主に業務で使用するコマンドのメモ。現場が変わると支給マシンが変わることが多く設定の度にGoogle先生を頼るのを辞めるため。
使ったものは順次追記していきます(多分)。

エンジニアっぽい言い回しが嫌いなので砕けた言葉でメモしていく。

**OSはLINUX**

#AWS CLIとは
簡単に。

AWSを触り始めてから長いことAWSをGUIでポチポチいじっていた。
S3: ドラッグ&ドロップ→キャッシュクリア
CloudFront: キャッシュクリア
Lambda: ドラッグ&ドロップ→デプロイ
などなど。

一回の作業が慣れれば1分でおわるにしても”塵積も”な訳で、お金もらってやってる以上こんなことではいけない。小学生でもできる。
なんならボタンの押し忘れが1回でもあれば想定通り動かないものだったりする。小学生以下だ。

そこでコマンドを通じて上記のような日々の繰り返し業務を短縮できるのがAWS CLI(AWS Command Line Interface)だ。
コピペですむし、タイポがあればコマンドが通らない(はず)だからミスも軽減!ってわけ!

#インストール
まずは肝心のAW

元記事を表示

(AWS) API GateWay + Lambda でAPIを実行してみた。

# Amazon API GateWay を使って、Lambdaで作成した関数を実行してみました。

<大まかな手順>
– AWS Lambdaで関数作成
– Amazon API GateWayで API作成
– APIを実行して、レスポンスを取得

`LambdaとAPI GateWay作成のリージョンは「東京 (ap-northeast-1)」に設定して進めますので、事前にリージョンをご確認ください。`

## AWS Lambdaでの設定
ではさっそく始めます。
まず、Lambdaで関数を先に用意します。

Lambdaのコンソール画面にて、左側のメニューから「`関数`」→「`関数の作成`」ボタンをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531595/05145779-fe1c-061c-2221-bb54f4d18242.png)

関数作成ページが表示されるので「`一から作成`」にチェック→`関数名`入力→`ランタイム`選択→「`関数を作成`

元記事を表示

IAMまわりの「〇〇ユーザ・ロール・ポリシー」系用語まとめ

#前提

IAMについて勉強する過程で、色んな所で色んな単語が使われすぎててよくわからなくなってきたので頻出の用語をまとめました。
IAM関連の情報を理解する手助けになればという目的でざっくりまとめたので、それぞれの詳細や設定方法については各自調べてください。

なにか誤りがありましたら優しく教えてください。

#基本

– IAMはAWS内において『誰がどのサービスに対して何ができるか』を設定するサービス
– このうち、『誰が』をIAMユーザで指定し、『どのサービスに対して何ができるか』をIAMポリシーで設定する(例外有り)
– IAMユーザとIAMポリシーはそれぞれ独立しており、両者を紐づける(「IAMユーザにIAMポリシーをアタッチする」と表現する)ことで各ユーザの権限を設定する
– 『誰が』の部分は人である必要はなく、AWSが提供するサービスや別のAWSアカウント等であってもかまわない。このような場合はIAMユーザではなくIAMロールという別の認証情報を使用する
– IAMユーザとIAMポリシーは一対一対応である必要はなく、1つのIAMユーザに複数のIAMポリシーがアタッチさ

元記事を表示

AWS認定 ソリューションアーキテクトアソシエイト 合格記録

年末に [AWS認定 ソリューションアーキテクトアソシエイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/) を受験し、合格しました:tada:
以下、当日や勉強法の記録です。

# 結果

受験者スコア: 852 でした。
試験結果は、100 から 1000 の間の値で、合格に必要な最低スコアは 720 なので、まぁ普通?ぐらいの点数でした。

# 試験当日の感想

試験当日は渋谷のテストセンターで受けました。
本人確認は免許証と保険証でよかったです。入って同意書にサインして、写真とって入室して試験開始と言う流れでした。
A4ぐらいのホワイトボードとペンを渡され、それを試験中にメモがわりに使いました。消せないのでいっぱいになったら担当者を呼ぶ必要があります。(呼びませんでしたが)

試験自体は130分と長丁場ですが、試験時間は40分ぐらい余ったので、相当急いで回答しないといけないわけではなかったです。

# 事前知識

現職では全くAWSを触る機会がないのですが、前職

元記事を表示

クラウドプロバイダ3社の印象

# クラウドプロバイダ3社の印象

クラウド技術の習得を目標に、クラウドの大手3社のサービスを軽く触ってみた感触をまとめてみた。あくまで表面をなぞっただけの個人的な印象です。

## 共通点
* 地球規模のインフラでコンピューティング、ネットワーク、ストレージ機能を提供
* IaaSで仮想マシンをオンデマンドで利用できる。
* Amazon EC2
* Azure VM
* Google Compute Engine。
* ほぼ無制限に利用できる分散ストレージがある。可用性も高い。
* Amazon S3
* Azure Blob Storage
* Google Cloud Storge
* 従量課金方式がある

## それぞれの特徴
### AWS
* IaaSのマーケットリーダー。幅広いサービスを取り揃えている
* AWSのサービスはオープンソースの技術に基づいて提供されているものが多い
* セキュリティ面は堅実だが、構築する時は複雑になりがち(?)

### Microsoft Azure
* Microsoftのテクノロジーをクラウドで使えるのが魅力

元記事を表示

ちょっとした作業用インスタンス構築に AWS CloudFormation を利用しました

# 背景
ちょっとした作業のためにインスタンスが欲しくなるときがあります。
EIP、t3.nano、セキュリティグループをいつも手動でポチポチしてます。そして不要になったらすべてぽちぽち削除します。
AWS CloudFormationで実現できるようにテンプレート化したときにメモです。

# AWS CloudFormation
公式サイトからの引用
> AWS CloudFormation は、クラウド環境で AWS とサードパーティ製アプリケーションリソースのモデリングおよびプロビジョニングをする際の、共通的な手法を提供します。AWS CloudFormation では、プログラミング言語またはシンプルなテキストファイルを使用して、あらゆるリージョンとアカウントでアプリケーションに必要とされるすべてのリソースを、自動化された安全な方法でモデル化し、プロビジョニングできます。これは、AWS とサードパーティ製のリソースに真に単一のソースを与えます。

[公式サイト AWS CloudFormation](https://aws.amazon.com/jp/cloudformatio

元記事を表示

DataSunrise 動的マスキング機能を試してみた

# はじめに
– この記事は以前導入した*Datasunrise*の動的マスキング機能を試すという内容です
– 導入編は[こちら][1]

# マスキングの仕様
プリセットのマスキング機能は公式ドキュメントの“`5.10.2 Masking Methods“`に記載されています。
対象のカラムの型によって適用可能なプリセットフィルタが決まっているようです。(数字置換系ルールはINTやVARCHAR、文字列置換系のルールはVARCHARといった具合)
ちなみにTEXT型は“`Default“`か“`Unstructured“`、または“`Function call“`のみ適用可能らしい(困った)

– マスキングの仕組み

[DataSunrise_Database_Security_Suite_User_Guide][2]の“`5.1 execution order of DataSunrise Rulues“`より、
If the query was not blocked at the previous stage, it is examined for m

元記事を表示

AWS Cloud9上でFlaskの設定から公開まで

# 1.はじめに
AWS Cloud9上でFlaskを走らせるための備忘録です。

# 2.Cloud9の起動
Cloud9を起動し、「Create enviroment」
![c91.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260594/239956ff-0296-6191-3306-6f71237a8968.png)

Configure settings で環境設定を行います。
![c92.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260594/db466f8e-540b-5140-a1bd-a9129d6ce60a.png)

Cost-saving settingは標準のままだと30分で強制的に終了しますので、「Never」に設定します。
後から設定変更可能です。(AWS Cloud9→Preferences→EC2 Instance)
(当初これを知らずに、勝手にflaskが停止する理由がわからなっ

元記事を表示

【AWS】NextTokenの有無を判断して値を全部取る【boto3】

おはようアンダーソン君
これは私の備忘録だ。取っておきたまえ

#事の発端
AWS Lambda上でEC2のインスタンス情報(describe_instances)で掘り堀りする某スクリプトがありました。
instanceIDがすべて取れてないことに気づきました。
そう、boto3にはNextTokenという1度に取得に上限値が設定されているAPIがあるのです。

#なんだそれ
boto3のドキュメント読んでくだちい…だと何にもならないので…
例としてこちらをご覧くだしい
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_instances

EC2のdescribe_instancesというAPI
ReturnのResponce Syntaxに
“`’NextToken’: ‘string’“`
という値があるはずです。

1度に取れる値が何件なのか?気になりますよね
**たぶん50件くらい?** APIによるのかな。Max

元記事を表示

OTHERカテゴリの最新記事