- 1. AWS勉強ノート
- 2. AWS 触ってみた
- 3. 40 代おっさん Laravel 環境の構築してみた
- 4. EBS Snapshotの自動バックアップとバックアップ完了通知をGmailに飛ばす設定をCloudFormationを使って一撃で終わらせる
- 5. AWS認定SysOpsアドミニストレーター アソシエイト(SOA-C02)受験体験談
- 6. AWS VPC Prefix Listのサイズが変更可能に
- 7. 【DynamoDB】AWSのDynamoDB設定項目について調べてみた
- 8. IAMユーザやLambdaからS3バケットにアクセスする方法
- 9. お名前ドットコム+ACMでメール認証申請したら楽だった話
- 10. [AWS] CloudFront とリージョン間のネットワークのパフォーマンスが上がってた
- 11. S3にオブジェクトをアップロードして引数をlambdaに送りたいとき
- 12. AWSのパスワードポリシー設定方法
- 13. AWS Cloud9 または Amazon Linux でShopify CLIを使う
- 14. CloudWatchLogsに「AWS以外のサーバ環境」からは書き込みが出来て「AWS Fargate」からは書き込みが出来ない時の対応
- 15. AWSと比較したOCIの特徴①
- 16. 【AWS SAM】デプロイとローカル確認用のコンテナイメージを一つのDockerfileで使い分ける
- 17. 【Lambda】AWSのLambdaの設定項目について調べてみた。
- 18. Lambda関数内で、別AWSアカウントのLambda関数を呼び出す
- 19. AWS Organizations の SCP を使って特定のIPアドレスのみで AWS が利用できるようにしてみよう
- 20. Amazon Lex の V1 Bot を V2 Bot に移行する
AWS勉強ノート
# はじめに
以下の本で、AWSを勉強した際のメモ書き。
# AWSの流れが来ているのでAWS触ってみた
とりあえず「アカウント作成」してWEBアプリ作成の準備をしてみた。
やりたいこと
AWS上でWEBアプリを作成して,サービスとして公開してみる。使うもの
1nginx
2python(Flask)
3mysql若干、古い気もするが、調べ物を極力抑えるため、自分の知っている技術を使うことにした。
概要
WEBアプリ作成
– Hello Worldを出すだけひとおとりの流れ
1 外部通信の可能にするため、VPCとかセキュリティグループとか設定
2 EC2作成
3 docokerインストール⇒ngixnのコンテナ作成⇒hello World! を出力するHTML作成
4 docker run
5 localからhttpアクセス⇒「hello World!」が出力
6 以上!その他
1Amazon RDS作成
とりあえず[MySQL]のインスタンス立ててみたが、インスタンス設定の最後のページで
予測請求額[500USD]的なでた[USD]⇒アメリカ合衆国ドル
https://ja.wikipedia.org/wik
40 代おっさん Laravel 環境の構築してみた
## 本記事について
本記事は AWS 初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## 構築環境
・EC2:Amazon Linux2
・PHP7.3
・Composer
・Laravel Framework8## 初期設定
## Apacheインストール
インストール
“`shell
$ sudo yum install httpd
“`Apache起動
“`shell
$ sudo systemctl start httpd
“`動作確認
“`shell
$ sudo systemctl status httpd
“`![動作確認.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/c0f40dde-2261-5a
EBS Snapshotの自動バックアップとバックアップ完了通知をGmailに飛ばす設定をCloudFormationを使って一撃で終わらせる
今回はEBS snapshotの自動バックアップとバックアップ完了通知をGmailに飛ばす設定をCloudFormationを使って一撃で終わらせる手順を説明します。
今回使用するAWSサービスはDLM・SNS・CloudWatch Event・CloudFormationです。#前提条件
– Windows10を使用。
– PCはDELLを使用。
– ファイルの拡張子は.ymlを使用。
– 東京リージョンを使用。#料金
テンプレート自体に料金は発生しないが、作成後のリソースは料金が発生する為、ご注意ください。#事前準備
– AWSアカウントを所持していること。
– EC2インスタンスを作成していること。
– DLM・SNS・CloudWatch Event・CloudFormationへのアクセス権限(書き込み・読み取り)を許可していること。
– バックアップ完了通知用のEメールアドレスを用意すること。#構築内容
DLM・CloudWatch Events・SNSを使って各種設定する。
###1. DLM
– 東京リージョンにライフサイクルマネージャーを作成
– クロ
AWS認定SysOpsアドミニストレーター アソシエイト(SOA-C02)受験体験談
##【前提】SOA-C02に移行(2021年7月27日~)
前提として2021年7月27日からSOA-C02に移行しており、SOA-C01とは違う試験になっています。大きく違うところが「試験ラボ」が追加です。「試験ラボ」とは、 Windows仮想マシン (VM) 上で行う実機試験です。そのため、書籍で勉強するだけだと絶対に合格ができません(筆者は、書籍や模擬問題のみで受験したため問題を見て絶望しました)。:::note warn
警告
「試験ラボ」の対策はやらないと合格無理
:::##試験概要
時間:180分(SOA-C01は130分)
問題数:55問 + 試験ラボ2問
合格ライン:720点以上
費用:150USD
受験方法:ピアソンVUEテストセンターまたは、オンライン|分野|内容| 出題の比率 |
|:———–|:————|:————|
| 第1分野 | モニタリング、ロギング、および修復 | 20% |
| 第2分野 | 信
AWS VPC Prefix Listのサイズが変更可能に
## 背景
– 2020年6月29日に、VPC Prefix List(以下、単にプレフィックスリストとします)がリリースされました。詳細は割愛しますが、プレフィックスリストでは、複数のCIDRブロックをリストとして管理することができます。
– [プレフィックスリストの公式ドキュメント](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/managed-prefix-lists.html “プレフィックスリスト”)
– このプレフィックスリストですが、1つのプレフィックスリストに対して、「何個のCIDRブロックを登録可能か」を表すサイズは、実はプレフィックスリスト作成時のみ設定可能であり、作成後には変更できませんでした。この度、この`サイズを変更可能となりましたので、試してみました`(下記ブログ参照)
– [Blog:Amazon Virtual Private Cloud (VPC) customers can now resize their prefix lis](https://aws.amazon.com
【DynamoDB】AWSのDynamoDB設定項目について調べてみた
#はじめに
前回は、Lambdaの記事を作成しましたが、
今回は、DynamoDBの設定項目について記載していこうと思います。最終的には、LambdaからDynamoDBへの読み書きを行えたらなと思っています。
AWS初学者ですので、謝った内容を記載してしまっていたらすみません。
参考程度にお願いします。(業務などで使用する場合は公式を参考にしてください。)##DynamoDBとは
>Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。>これはフルマネージド型でマルチリージョン、マルチアクティブで耐久性があるデータベースであり、セキュリティ、バックアップと復元、インターネット規模のアプリケーション用のインメモリキャッシュが組み込まれています。
>DynamoDB は、1 日に 10 兆件以上のリクエストを処理することができ、毎秒 2,000 万件を超えるリクエストをサポートします。
1日に10兆件、毎秒2000万件のリクエストをサポート・・・。
これをすぐに利用できる何て化け物
IAMユーザやLambdaからS3バケットにアクセスする方法
## はじめに
自分や他人のAWSアカウントが所有するS3バケットに対して、IAMユーザーやLambdaへのアクセス権限の付け方に少しハマったため、やり方を整理してメモとして残す。## 今回整理した内容
1.**アカウントA**のS3バケットに、**アカウントA**で作成したIAMユーザがアクセスする方法(AWSコンソールを用いて)
2.**アカウントB**のS3バケットに、**アカウントA**で作成したIAMユーザがアクセスする方法(AWSコンソールを用いて)
3.**アカウントB**のS3バケットに、**アカウントA**のS3バケットにあるファイルを、Lambdaを実行してコピーする方法
4.**アカウントA**のS3バケットに、**アカウントA**で作成したIAMユーザがアクセスする方法(ローカルPCからAWS CLIを用いて)
※ここで言うアカウントは、AWSアカウントを指している。
## 1.**アカウントA**のS3バケットに、**アカウントA**で作成したIAMユーザがアクセスする方法(AWSコンソールから)
### ■事前準備
**アカウントAのS
お名前ドットコム+ACMでメール認証申請したら楽だった話
# 状況
お名前ドットコムでドメインを取得(Whois情報公開代行 メール転送オプションを申し込む。合計1,300円/年)
↓
AWS Certificate Managerを使用して証明書の申請(Email認証)
↓
認証確認がお名前ドットコムの会員に登録されているメールアドレスに届く。
↓
認証するで完了。# Whois情報公開代行 メール転送オプションがない場合
ひと手間必要です。
AWS SESでメールの設定をしS3バケットからメールのファイルをダウンロード。
この時ファイルも複数あるため確認作業が必要になります。
生データのような形式で英語の文面からリンクに該当する部分を探し
ブラウザに貼り付けて認証します。# ACMでの証明書認証はDNSがおすすめ
今後ACMで証明書認証するならDNSがおすすめです。
理由としては毎年の認証確認作業が自動化されているので運用が楽&確実です。事故が起きるとすればRoute 53などに設定されているDNS認証用のCNAMEレコード(乱数っぽい)が
よくわからずに削除されてしまって自動更新に失敗するというものがあるようです。
[DNS
[AWS] CloudFront とリージョン間のネットワークのパフォーマンスが上がってた
小ネタです。
# AWS CloudFront とリージョン間のネットワークのパフォーマンスが上がってた
## CloudFront とリージョン間のネットワークとは
私が所属している会社ではサービスを CloudFront 経由で提供しています。
今回のネットワークの部分は以下の図で言うと赤い矢印の部分です。![概要図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/86389/aa7af571-33ba-2ca7-47d8-b39c5b0a47de.png “概要図”)
## パフォーマンスが上がっていた
現在提供しているサービスは世界各地で利用されているため、可能な限りのリージョンエンドポイントから死活監視を実施しています。その際にレスポンスタイムがわかるのですが、何もしていないのにそのレスポンスタイムが全体的に速くなっていました。以下は Datadog の Synthetic Monitoring です。
![SyntheticMonitoring.png](https://qii
S3にオブジェクトをアップロードして引数をlambdaに送りたいとき
今まではS3をトリガーにLambdaを発火させていたのですが、これだと追加の変数を設定することができず、どうすればいいか悩んでいたときに、InvokeInputに渡せばいいことを知りました。
## 参考
https://qiita.com/yukpiz/items/269277a97053237a6980
## go server側
S3にアップロードしたあとに、invokeして変数を渡すようにしました。
“`main.go
package mainimport (
“encoding/json”
“fmt”“github.com/aws/aws-sdk-go/aws”
“github.com/aws/aws-sdk-go/aws/session”
“github.com/aws/aws-sdk-go/service/lambda”
)// これはLambda関数の完了で返すための構造体定義
type Response struct {
Message string `json:”message”`
Ok bool `json:”ok
AWSのパスワードポリシー設定方法
[zenn](https://zenn.dev/mo_ri_regen/articles/aws-password-policy)にも同様の記事を書いています。更新頻度はzennのほうが多めです?
コンソールにログインするためのカスタムパスワードポリシーの設定を行おうと思います。
IAMからカスタムパスワードポリシーの設定ができます。ちなみにデフォルトでは下記のようなパスワードポリシーになっています。
> パスワードの文字数制限: 8~128 文字
> 大文字、小文字、数字、! @ # $ % ^ & * ( ) _ + – = [ ] { } | ‘ 記号のうち、最低 3 つの文字タイプの組み合わせ
> AWS アカウント名または E メールアドレスと同じでないこと## コンソールで設定
1. [コンソール](https://console.aws.amazon.com/iam/)にサインインして、左ペインのダッシュボードにアカウント設定があるのでそれをクリックします。
AWS Cloud9 または Amazon Linux でShopify CLIを使う
# はじめに
Shopify Appを構築するために使うShopify CLIをCloud9にインストールした時の手順です。おそらくAmazon Linuxでも同様の手順で動かせます。
# 依存するものをインストール
以下をインストールします。
* ruby2.6
* ruby-devel“`console
sudo amazon-linux-extras install ruby2.6
sudo yum install ruby-dev
“`# Shopify CLIをインストール
パッケージを適当なところにダウンロードします。
https://github.com/Shopify/shopify-cli/releases から最新バージョンを確認します。今回は2.2.2が最新でした。
“`console
wget https://github.com/Shopify/shopify-cli/releases/download/v2.2.2/shopify-cli-2.2.2-1.noarch.rpm
“`“`console
sudo yum
CloudWatchLogsに「AWS以外のサーバ環境」からは書き込みが出来て「AWS Fargate」からは書き込みが出来ない時の対応
**CloudWatch Agent** や **AWS SDK** を使用して**CloudWatch Logs**に書き込みをする際の話になります。
**ローカルのDocker環境**や**さくらサーバ**などでは動作しても**AWS Fargate**では動作しなくて困ることがあるかもしれません。
上記でロググループが存在しない際に**CreateLogGroup**で権限エラーと表示される場合、権限&ポリシー設定になります。
**IAM**でログ関係の権限を全て与えているから問題が無いと勘違いをされている方もいます。
※AWSをメインで対応している会社でも勘違いをしている方がいました。###*
AWSと比較したOCIの特徴①
#はじめに
OCI(Oracle Cloud Infrastructure)の機能、サービスをAWSと比較しながら整理したいと思います。AWSが一番機能も豊富でシェアも高いので、AWSをベースに比較していくとわかりやすいかなと思って作りました。
AWS SAAの範囲で「AWSの○○はOCIだとXX」みたいに比較していきます。今回は「1. グローバルインフラ構成」「2. VPC/VCN」になります。
なお、以降の記載は私の理解をまとめたものです。誤っていることがあったらごめんなさい。
##参考資料
[AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%
【AWS SAM】デプロイとローカル確認用のコンテナイメージを一つのDockerfileで使い分ける
# 初めに
LambdaアプリケーションをSAMで開発するにあたりコンテナでデプロイを初めて取り扱うにあたり色々試行していたのですが、
せっかくコンテナで環境をそのまま持ってけるんだからローカル環境も同じコンテナで処理したい!
でもDockerfileの多重管理はしたくない!となっていい方法がないかと模索していたところ
割と良さげな方法がありましたので備忘録がてらまとめます。AWSのサポートに問い合わせてみたら記事執筆時点(2021/08/27)では
まだ公式のドキュメントが追いついてなく記載がなく追記予定らしいです。こんなことしなくてももっと簡単にできるよっていうのがあったらご教示いただければと思います。
# 何がしたかったか
今回はAWS公式で提供されているpython3.8のイメージをベースとします。
大元のDockerfileはドキュメントに記載の通り以下で
`ENTRYPOINT [“/lambda-entrypoint.sh”]` が実装されており、これに対して
`CMD` で引数を渡すような作りをすることで対象のスクリプトを実行できます。
https://
【Lambda】AWSのLambdaの設定項目について調べてみた。
#はじめに
先日、業務でAWSのLambdaというサービスを使うことになり、
それについて色々調べてみました。今回は、備忘としてLambda関数の設定項目に関する説明を記述していこうかなと思います。
##Lambdaとは
Lambdaとはどういったサービスなのか。
AWSの公式ページには以下のように記載されていました。>AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イベント統合の維持、ランタイムの管理を行わずにコードを実行できます
わざわざサーバを構築せずとも。色々なことを実行できますよー的な感じですね。
Lambda上に実行したい処理(プログラム)を定義することにより、
指定したタイミングで実行することができます。Lambdaを利用して様々なことができる訳ですが、
どんなことが出来るかは各自で調べていただけると幸いです。。##Lambdaの設定
本題のLambdaで設定できる内容について記載していこうと思います。
なお、本記事では関数の設定項目につい
Lambda関数内で、別AWSアカウントのLambda関数を呼び出す
**AWSアカウントA**内のLambda関数から**、AWSアカウントB**内にあるLambda関数を呼び出す方法の備忘録です。
もともとのゴールは、アカウントA内のAmazon **Lexボット**から、アカウントB内のLambda関数を直接呼び出すことでした。
しかし現状無理そうなので、アカウントA内の(プロキシ)Lambda関数を経由して、間接的にアカウントBの(本命)Lambda関数を呼び出すことにしました。
##概要
Lexボットがある、**呼び出し側**のAWSアカウントを**アカウントA(ID:999999999999)**、**呼び出される**本命Lambda関数がある側のAWSアカウントを**アカウントB(ID:000000000000)**とします。
アカウントA内に作成するプロキシLambda関数が、アカウントB内の本命Lambda関数を呼び出すには、アカウントBの側で**アカウントAのアクセスを許可**する必要があります。
セットアップ全体の流れは次のとおり。
1. アカウントB内に、本命Lambdaの実行権限を持つIAM Roleを作成
AWS Organizations の SCP を使って特定のIPアドレスのみで AWS が利用できるようにしてみよう
こんにちは
間が空いてしまいましたが、AWS Organizations の SCP を使って制限をかけようシリーズの第3弾です。第1弾:https://qiita.com/hirosys-biz/items/ecc34f8574094dc6be15
第2弾:https://qiita.com/hirosys-biz/items/48d1db5fcce3bf6547ce今回はタイトルにあるように特定のIPアドレスからのアクセスに限って、AWS の利用ができるようにするものです。
業界や企業のポリシーで、AWS の操作を特定の IP アドレス(IP アドレス範囲)に限っていることがよくあります。例えば、運用保守チームが利用している IP アドレス範囲のみ操作を認めるといった感じですね。当社で AWS Organizations を使ってハンズオン、サンドボックス環境を作っていた際に出てきた要件で対応した内容です。
## 制限をかけてみよう
これまでの記事と同様の流れでポリシーを作成し、organizational units (OUs)やアカウントにアタッチします。
ポリ
Amazon Lex の V1 Bot を V2 Bot に移行する
## はじめに
2021/7/14 に Amazon Lex の V1 API で作成されたチャットボットを V2 に移行できる Migration Tool が利用可能になりました。https://aws.amazon.com/jp/about-aws/whats-new/2021/07/amazon-lex-announces-tooling-to-migrate-bots-from-lex-v1-console-to-lex-v2-console/
V2 API がリリースされた当初は手動の移行 (実質再作成) が必要だったのですが、これにより主要な設定を V2 API のボットとして移行できるようになりました。
## Lex V1 と V2 の違い
Amazon Lex は 2021年1月に V2 API がリリースされています。コンソールのデザインが変わっただけではなく、新しい機能を含む新規の API としてのリリースです。1 つのボットで複数言語に対応させることができるなど、生産性が向上するアップデートも多く含まれています。https://aws.amazon