AWS関連のことを調べてみた2021年11月24日

AWS関連のことを調べてみた2021年11月24日
目次

AWS CLIのdebugオプションは何が出力されるのか

ssm接続失敗する場合に–debugをつけた例で一体何が出力されるのか見てみました。
出力内容が何を指しているのか、基本的に英語で同行に出力があるのでわかりやすかったです。

“`vim

<実行コマンド>
% AWS_PROFILE=credential-name aws ssm start-session –region=ap-northeast-1 –target i-xxxxxxxx –debug

2021-11-19 12:05:44,110 – MainThread – awscli.clidriver – DEBUG – CLI version: aws-cli/2.2.14 Python/3.8.8 Darwin/20.6.0 exe/x86_64
<引数1>
2021-11-19 12:05:44,110 – MainThread – awscli.clidriver – DEBUG – Arguments entered to CLI: [‘ssm’, ‘start-session’, ‘–region=ap-nor

元記事を表示

list_objects_v2 の 1000 オブジェクトの罠

S3 バケットから、数テラのデータをダウンロードしていて、ハマりました。

AWS の 関数、list_objects_v2() は、1000件までしかオブジェクトを取得できないという問題があるようでした。
https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html

これを回避するには、1000件ごとに、Continuationtoken を渡してやる必要があるようです。

結果的には、普通に以下のコマンドでダウンロードできました。内部的に、Continuationtoken を渡しているようです。

“`
# aws s3 sync s3:// f:\
“`

試しに、Python スクリプトを作成して今回は、Windows11 で実行してみましたができていたようでした。

“`
import boto3
import os

s3_client = boto3.client(‘s3’)

def download_dir():
“””

元記事を表示

ヘキサゴナルアーキテクチャを使ってドメインモデルをAWS Lambdaファンクションで実装してみた

## はじめに

2021年11月20日から21日にかけて、[JAWS Pankration 2021 ~Up till Down~](https://jawspankration2021.jaws-ug.jp/)が開催されました。筆者はその中で DDD on AWS Lambdaというタイトルのセッションを担当しました。このセッションでは、ヘキサゴナルアーキテクチャを利用してドメインモデルをAWS Lambdaファンクションに実装する方法、また制御の反転(IoC)を利用してユニットテストを容易にする方法について紹介しました。

## この記事を書いたのは
今回、JAWS Pankrationは新たな試みとして、広く海外のコミュニティーメンバーにも参加してもらうために、全てのスライドを英語で記述しポケトークを利用して逐次通訳しながらセッションを行いました。海外のコミュニティーメンバーにも見てもらいたかったので、このために実装したサンプルアプリケーションのリポジトリの[README.md](https://github.com/afukui/jaws-pankration-ddd-lam

元記事を表示

【SAP-C01試験対策】DDoS攻撃に対する対策

# はじめに
AWS上のDDoS攻撃に対するセキュリティ技術を勉強するために以下の公式ドキュメントおよび研修を参考にしたので内容をまとめます。

https://aws.amazon.com/jp/shield/ddos-attack-protection/

https://www.school.ctc-g.co.jp/course/AW08.html

# 背景
本記事はAWSソリューションアーキテクトプロフェッショナルに合格するために、[Udemyの模擬試験](https://www.udemy.com/course/aws-53225)を解いて分からなかった部分を勉強してまとめるものです。

試験対策用のため、分からない知識を補足したり試験で問われなさそうなところを省略したりしながらまとめています。
なるべくわかりやすい記載を心がけますが、最終目的は自己学習用であるということをご容赦ください。

# DDoS攻撃とは

複数のソースを使用してウェブサイトやアプリケーションに負荷をかけ、正当なエンドユーザーのアクセスを妨害する攻撃。
Distributed Denial of S

元記事を表示

Amazon Linux 2022 Preview の様子見

11/22 に、Amazon Linux 2022 (以降AL2022)のプレビューリリースが発表されました。

[Announcing preview of Amazon Linux 2022](https://aws.amazon.com/jp/about-aws/whats-new/2021/11/preview-amazon-linux-2022/)

Preview 時点ですが、どんなものかというのを見てみました。

## 概要

ニュースの概要、自分なりに掻い摘んでピックアップすると以下がポイントかなと思います。

– 今後、2年毎のメジャーバージョン更新方針とした。
– 5年間のサポートが保証される。(標準サポート2年、メンテナンス3年)
– Fedra Project ベースに、四半期毎の更新が適用される。
– リポジトリロック機能ができた。
– Kernelに起動したままパッチを充てられる。(未実装)

一番大きいのは、リリースサイクルポリシーが定まったことで、利用者として計画が立てやすくなったことかなと思います。

リポジトリのロック機能。詳細はわからないですが、「

元記事を表示

Okta→AWSコンソールのSSO(SAML)とプロビジョニング

# AWSのSSOとプロビジョニングについて
OktaでAWSコンソールにSSOとプロビジョニングする方法を記述します。
ユーザープロビジョニングというとIDPでアカウントを作成するとSP(service provider)側にもアカウントが作成され同期されるという認識でしたが、AWSにおいてはSSOするときにそのセッションにロールを付与し、仮想のIAMユーザーを作成し、接続させることをプロビジョニングとしています(と私は思っています)。SSOするIAMユーザーは実際に作成されることはありませんので、セッションが切れればIAMも情報も消えます。当然、IDPでアカウント削除した後、IAMユーザーの削除し忘れも発生しません。

:::note info
因みにAWS CloudTrailに証跡は残ります。
:::

## 前提
– AWSアカウント作成済み(IAM ユーザー、ロール、ポリシー、IDプロバイダーの作成権限が必要です。)
– Oktaアカウント作成済み

## Oktaにアプリケーションを追加
Oktaの管理画面から「Applications」>「Applications」>「

元記事を表示

AWS Systems Managerの管理対象インスタンスにする

### はじめに

本記事は、EC2インスタンスをSystems Managerの管理対象インスタンスにするまでの手順です。
別記事で、EC2インスタンスに対してオートメーション(ランブック)を実行するところを書く予定です。手順が長いので分割しています。
Systems Managerを利用するためには、いくつかのロールの作成とポリシーの割り当てが必要になります。

### 記事のカバー範囲

– AWS上のWindows Serverインスタンスのみを扱います。オンプレミスのサーバーをマネージドインスタンスにする内容は含みません。

### Systems Managerの管理対象インスタンスの準備

1. SSM Agentをインストールしたマシンイメージ(AMI)を用意します。

AWSコミュニティーAMIで提供されているWindows Server 2019のAMIには、はじめからSSM Agentがインストールされています。

![2021-11-23-16-29-53-image.png](https://qiita-image-store.s3.

元記事を表示

【AWS】EC2(wordpress)+RDSの基本構成をCloudFormationで構築

#■はじめに
EC2(wordpress)・RDSのシングル構成(※)を今度はCloudFormationで構築してみました。
※[AWSで基本的なブログサービスを構築する(シングル構成)](https://qiita.com/CycleSHD/items/0a02aae2e2321adf5496)

#■構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1864204/2218ac46-df39-bc6d-debf-50161c303091.png)

#■テンプレート概要

https://d1.awsstatic.com/webinars/jp/pdf/services/20200826_AWS-BlackBelt_AWS-CloudFormation.pdf

上記 85ページを参考に、
ネットワーク、セキュリティ、アプリケーションの3つに分ける。
加え、一部設定値を記述した外部ファイルの計4つを作成する。

– ネットワーク ⇒ cf_network.yml
– セキュ

元記事を表示

話題の「AWSコンテナ設計・構築 本格入門」ハンズオンやってみた(その1)

発売前から各所で話題のこいつ。実は後半が本格的なハンズオンになっている。

# 環境準備
– 作業端末:Macbook
– AWSアカウント:自社で勉強用に用意していたものを利用。
– IAMユーザー:個人ユーザーを作成しAdminAccessを付与。

# 4-2章 ネットワークの構築
初めにCIDRブロックの割り当てを考えておく。
特に今回利用するアカウントは他のメンバーと共用のため、設定例にあるような10.台だと既存VPCと被る可能性大。

指定可能なCIDRのアドレス範囲ってどれだっけ、というのをこれで参照。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Subnets.html

東京リージョンの既存VPC見ると`10.100.0.0/16`が空いていたので採用。
以降、書籍の設定例の第2オクテットを0→100に読み替える形で設定す

元記事を表示

AWS – CloudWatch Logs Insightsで日付の期間指定する場合はAbsoluteを選択

AWS – CloudWatch Logs Insightsで日付の期間指定する場合はAbsoluteを選択すべし。
クライアントで –start-time –end-timeを指定する方法はよく見かけたけど、コンソール版はあまり見かけなかった。常識なのかな。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2203726/25231e76-edc9-aed2-b7be-1a78036bc4a9.png)

元記事を表示

CloudFormationでImportValueを使うとJSONObjectが見つかったと言われる

# 経緯
セキュリティグループをクロススタックで使いたくてyamlでテンプレートを書いていたものの、Outputsの結果がIDになっているのは確認できているのに

“`
#/SecurityGroups/0: expected type: String, found: JSONObject
“`

とか言われてぐぬぬ…となっていた。
うまくいく方法を見つけた結果からすると、最終的に行き着くのは「一旦フルで書いてみよう」というところ…なのかもしれない。

# 修正前
“`
MountTarget1:
Type: AWS::EFS::MountTarget
Properties:
FileSystemId:
Ref: NfsBatch
SubnetId:
Ref: Subnet
SecurityGroups:
– ImportValue: NfsSecurityGroupId
“`

# 修正後
“`
MountTarget1:
Type: AWS::EFS::M

元記事を表示

作成したEC2インスタンスにTerminalからssh接続する

## 前提
– EC2インスタンスの作成やpem.keyのダウンロードなどは省いています。
– pem.keyを新規に作成、ダウンロードした後からの手順について説明しています。
– Macに標準装備されているTerminalを利用しています。

## 準備
### ダウンロードしたpemキーをsshフォルダに移動させる
“`
$ MV ~/Downloads/hogehoge.pem ~/ .ssh/
“`
– `MV` ファイル移動をするコマンド
– hogehoge.pemには秘密鍵(自身でダウンロードしたpemファイル名)を記載
– ダウンロードした秘密鍵ファイルをsshフォルダへ移動

### 権限変更をしてUserKeyを読み込めるようにする
“`
$ chmod 400 ~/.ssh/hogehoge.pem/
“`
– `chmod` 権限変更をするコマンド
– 読み取り権限をUserKeyのみに設定

## 実行
### sshで接続してみる
“`
$ ssh -i ~/.ssh/hogehoge.pem ec2-user@xxx.xxx.xxx.xxx

元記事を表示

ruby on rails tutorial3章を始めたら出てきたThere was insufficient space〜 というエラーの解決方法

やっと3章に突入して意気揚々と進めていくと、

“`ruby:qiita.rb

There was an error while trying to write to
`/tmp/xxxxxxxxxxxxxxxxxxxx/versions`. There was
insufficient space remaining on the device.

“`

がこんにちは。

どうやら何かの容量がないということらしい。

そうこうしているうちに、awsのターミナルにコードを入力できなくなる。
![スクリーンショット 2021-11-23 10.30.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2144713/a365d842-4b6f-973f-26eb-5265ba55315b.png)
![スクリーンショット 2021-11-23 10.30.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214

元記事を表示

AWSでIAMユーザーを作成しMFAを設定する

# IAMユーザーとは

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users.html

AWSにはrootユーザーとIAMユーザーがあり、rootユーザーはなんでもできるアカウント、IAMユーザーはAWSにログインできる権限つきのアカウント(ユーザー)のこと。
IAMユーザーはこれはできるけど、これはできない!みたいに使える機能を制限できる。
細かく権限を与えることもできるが、今回は基本的にrootユーザーとして使えるようなIAMユーザーを作成することとする。

# IAMユーザーを作成する

– IAMのダッシュボードを開く
– IAMリソースのユーザー部分の数字をクリック
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1836602/f0d9d9ff-7ed8-a8d4-5ccb-40b6fb1c75e4.png)

– ユーザーの追加を選択
– ユーザー詳細を設定する
アクセスキーは必要があれば

元記事を表示

AWS EC2でWebサーバを構築しよう Part2

# AWS EC2でWebサーバを構築しよう Part2
Part1をまだ見ていない方は、[こちらからご覧ください](https://qiita.com/EndoMotoki/items/01897ca64b08a4cda085)

## EC2のインスタンスを作成しよう
AWSのマネジメントコンソールに遷移すると、サインイン画面が表示されますので、「ルートユーザー」を選択してログインしてください。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/9ad36aa6-8cbf-e4a4-853c-d2bfb9c3b45f.png)
ログインが完了するとAWSのホーム画面が表示されます。右上にあるリージョンを「東京」に変更してください。
(デフォルトのオハイオリージョンのままだと、日本からのアクセスだと遅くなってしまいます。)
![1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/d6d

元記事を表示

AWS EC2でWebサーバを構築しよう Part1

# AWS EC2でWebサーバを構築しよう Part1
:::note info
このシリーズでは、AWS EC2でWebサーバを構築する方法を解説していきます。
AWSのアカウント作成から解説しているため、既にアカウントを持っている方はゴール(目標)だけ見てPart2へ進んでOKです!
:::
## ゴール(目標)
**「AWSのEC2上でNginxを動かして全世界にクソデカうんちページを公開する」**
※クソデカうんちページはこちらで開発したので、GitHub上からダウンロードしてもらいます!
## AWSってなに?
AWSはAmazon Web Servicesの略です。
Amazonのクソデカサーバを使って、仮想サーバを構築したり(EC2)、データを格納したり(S3)、データベースサーバを構築したり(RDS)、様々なことができます。
今回のシリーズでは、AWSのEC2を使ってWebサーバを構築していきます。
ちなみに、AWSには他にも沢山のサービスがありますが、ここで紹介するとPart100くらいにまでなってしまうため割愛させていただきます。

## AWSのアカウントを

元記事を表示

お名前.comでドメインを購入してRoute53でホストゾーンを作成する

# ドメインを買う(お名前.com)
– ほしいドメイン名を検索→ドメイン名を選択→お申し込みへ進む
– 今回はサーバはRoute53を使用するのでお名前.comのサーバは利用しないを選択→次へ
– 申し込む
– ドメインの自動更新設定→自動更新設定申込内容の部分を解除で申し込む(自動更新なしの自分で更新する場合)

# ホストゾーンの作成(AWSでホストゾーンを作成する)
![mounmoun.net.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1836602/ffec631a-f71a-d6d3-0f3e-3e16b6e025f5.png)

– Route53のページを開く
– ホストゾーンを選択→お名前.comで買ったドメイン名を入力→公開したいドメイン名ならパブリックホストゾーン(デフォルト)を選択→ホストゾーンの作成

これでホストゾーン完成。

– Aレコードを作るためにオレンジ部分のレコードを作成を選択→
![スクリーンショット 2021-11-22 5.51.23

元記事を表示

Amazon SageMakerでセマンティックセグメンテーション

# SageMakerについて
機械学習のモデリングや、デプロイしてAWS上のアプリケーションで使うこともできるSageMaker(セージメーカー)
いくつかビルトインでアルゴリズムが使用可能で、ハイパーパラメータの調整だけでもお手軽に試すことができるシロモノです。
\#sage makerってつまり賢いやーつを生成するやーつってコトですね

# SageMakerでセマンティックセグメンテーションを試してみる
今回はセマンティックセグメンテーション(semantic segmentation)を試してみます。画像のピクセル(画素)ごとにラベルづけをします。
下記のように、左が入力画像(学習データ)で、右がマスク画像(教師データ)となります。
![semantic_segmentation.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/9548561c-dfbf-a7f7-2361-9498a956b491.jpeg)

入出力の画像を使って、物体切り抜きなんかできると

元記事を表示

AWS Budgetsの設定をして予算が超えたときにアラートを飛ばす方法

基本的に僕の記事はエンジニアじゃないでも理解できるように書いているつもりです。宜しくお願いします。

## AWS Budgetsの設定をする。
AWSは従量課金と言われていて、いつの間にか自分が知らない間に高額な請求が来ていたなんて話もよく聞く。
そのためにあらゆる事前対応が必要だ。

“AWSのコスト・使用量が設定した値を超えた、超えそうと予測さいたときに自動的にアラートを送信“

このような設定をすることができるらしい。

## 設定手順
マネジメントコンソールの右上にあるユーザー名をクリックし。アカウントというところをクリックする。
![スクリーンショット_2021-11-22_21_26_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628093/9d4db9ca-1fe3-096e-2387-9f3f45cdc584.png)

そして、左のメニューからBudgetsというところをクリックする。

![スクリーンショット_2021-11-22_21_29_18.png](https

元記事を表示

【rails】AWS EC2ボリューム 増量による「No space left on device @ io_write」エラー解消

#1.状況

・AWS EC2
・Nginx
・rails 5.2.6

容量不足が原因で発生する「No space left on device @ io_write」エラーが発生
以下コマンドをターミナルに打ち込む。

“`
[ec2-user ~] $ df -h
“`

Use100%となっているファイルシステム「/dev/xvda1」の容量が不足してたためにエラーが発生したと思われる。

“`
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 26M 467M 6% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 10G 10G 0 100% /
tmpfs

元記事を表示

OTHERカテゴリの最新記事