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

AWS関連のことを調べてみた2020年05月18日
目次

AWS IAM

# AWS Identity and Access Management について

元記事を表示

amazon-ssm-agentのバージョン確認方法

AmazonLinux2であれば、以下コマンドで確認できます。

“`
$ sudo yum info amazon-ssm-agent
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
インストール済みパッケージ
名前 : amazon-ssm-agent
アーキテクチャー : x86_64
バージョン : 2.3.662.0
リリース : 1.amzn2
容量 : 61 M
リポジトリー : installed
要約 : Manage EC2 Instances using SSM APIs
URL : http://docs.aws.amazon.com/ssm/latest/APIReference/Welcome.html
ライセンス : ASL 2.0
説明 : T

元記事を表示

AWSコンソールでスイッチロール時のセッション時間を増やすCLIツールを作った

皆さんはAWSマネジメントコンソールでスイッチロールをして作業をしていたときにログインセッションが切れて、それまでの設定内容が全て消えて最初からやり直すことになった経験はないでしょうか?

テスト目的で何かを手でポチポチ作成している時にこういったことは個人的によくあり、セッション時間を伸ばすことができればなぁと思っていました。

AWSによるとスイッチロールをした場合のセッション時間は最大で1時間[^1]までとしています。
また、AWSマネジメントコンソール上でスイッチロールを行う限り、このセッション時間は変更することは現状できません。

# セッション時間を増やすことはできる

しかしながら、AWSフェデレーションを利用したコンソールURLからログインすると、セッション時間を1時間から最大12時間まで伸ばすことができます[^2]。これは以下の公式ドキュメントで説明されています。

[カスタム ID ブローカーに対する AWS コンソールへのアクセスの許可 – AWS Identity and Access Management](https://docs.aws.amazon.c

元記事を表示

CodeBuildのVPC構成でハマった点をメモ

# 適当に設定してみたらダメだった
– CodeBuildプロジェクトを作成
– パブリックサブネットしかない状態でVPC設定しようとしたら、「プライベートサブネットに配置するべし」とエラーが出る。※CodeBuildの「VPC設定の確認」ボタン押下時
– プライベートサブネットを作成して再チャレンジしたら「0.0.0.0/0へのルートがない」みたいなエラーになった
– 困った・・・

# Lambdaの時を思い出した
– LambdaをVPCにのせた時も似たような話があったことを思い出す。
– `[こちらのサイト](https://qiita.com/kojiisd/items/a15c1807c5c6bb08add0)が物凄く役に立ちました。ありがとうございます。a lot of 感謝。

# 結論からいうと以下の要件が必要です。
– CodeBuildからCodeCommitを見るためにはインターネット接続が必須。
– 接続構成にはPublic SubnetとPrivate Subnetの二つのSubnetが必要。
– VPCにはInternet-GWがアタッチされていること

元記事を表示

お気に入りpythonモジュール達やバイナリを1つのLambda Layerにまとめるスクリプト

LambdaとLayersは便利ですが、1つの関数につき上限は5つまでと制限があります。
Layersは=1モジュールとして運用しているケースが多いかと思いますが、意外と足りなくなったり1つずつ追加するのは手間です。
お気に入りのモジュールたちはお馴染みの`requirement.txt`で管理し、1つのレイヤーにまとめてしまいましょう。

テストで6つのモジュールをインポートする[requirement.txt](https://github.com/umihico/fav-py-modules/blob/master/requirements.txt)を作成します。

“`bash:requirement.txt
selenium
requests
Pillow
lxml
numpy
Flask
“`

そして同階層にて以下の[スクリプト](https://github.com/umihico/fav-py-modules/blob/master/publish_layer.sh)を実行します。dockerの
pythonのバージョンや、awsコマンドの引数は必要に応じて編集し

元記事を表示

EC2にgit cloneする方法

EC2にコードを展開する時、`git clone`でやると簡単にDeployできます。
なんとなく手順を覚えているものの、ところどころ忘れていることもあるので、やり方をまとめておきます。

– `Amazon Linux 2`でのやり方です。
– リポジトリは、GitLabを使っています。

# SSH Keyの作成

`git clone`を実行するには、`GitLab`とSSHで通信する必要があります。
SSHキー用のディレクトリへ移動し、SSH通信で使用するキーを作成します。

“`common-lisp
$ cd ~/.ssh
$ ssh-keygen -t rsa -C “[Gitlabで登録したEmail]”
“`

コマンドを実行すると、3つ質問されますが、`Enter`3回でOKです。

“`common-lisp
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
Enter passphrase

元記事を表示

趣味プロジェクトで簡単に使える双方向通信技術を模索した話

勉強を兼ねて、自分の技術スタックにマッチする範囲で利用できる双方向通信技術を一通り試し、それぞれの長所短所、向き不向きを把握しておきたくなり「いろんな技術でチャットサービスを何個か作ってみる」という活動をしておりました。

結果として、IaaS/ライブラリを変えながら4パターンでチャットサービスを構築し、各IaaS/ライブラリの特性がだいたい把握できたので記事にしたいと思います。

作ったチャットサービスはこんな感じ。
![chat-capture03.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214526/4752a785-c3ad-c01b-5002-21645104a087.gif)

個人のサービスに導入することをメインに考えてるので、下記を重視しています。

– 双方向通信部分の実装の難易度
– 認証との連携
– インフラの制約

逆に、下記要素は気にしていません。(ゲームとか作るわけじゃないので)

– 接続数、負荷
– コスト
– リアルタイム性(遅延)

※タイトルにある「簡単に使

元記事を表示

EC2にnginxをセットアップする

EC2にnginxをインストールする方法のメモです。
EC2のインスタンスを立ち上げてからの手順をまとめておこうと思います。
(`Amazon Linux 2` へのインストール方法です。)

# インスタンスのアップデート
`yum update`を実行し、インスタンスをアップデートします。

“`common_lisp
$ sudo yum update
“`

# nginxの`yum`の有効化
EC2インスタンスは、nginxの `yum intstall`が有効になっていなかったので、以下のコマンドで有効化します。

“`common_lisp
$ sudo amazon-linux-extras enable nginx1
“`

# nginxのインストール
`yum` コマンドでnginxをインストールします。

“`common-lisp
$ sudo yum -y install nginx
“`

# インストールの確認
以下のコマンドで、インストールされたバージョンを確認します。

“`common-lisp
$ nginx -v
nginx

元記事を表示

aws-serverless-expressのサンプル動かないんだけど

# 動かないやつ
https://github.com/awslabs/aws-serverless-express/tree/master/examples/basic-starter
`npm run setup`

# 出てたエラー
“`
An error occurred (ValidationError) when calling the CreateChangeSet operation: Stack:arn:aws:cloudformation:ap-northeast-1:363880502757:stack/AwsServerlessExpressStack/aaaaaaaaaaaaaaaaaaa is in ROLLBACK_COMPLETE state and can not be updated.
npm ERR! code ELIFECYCLE
npm ERR! errno 255
npm ERR! aws-serverless-express-example@2.1.1 deploy: `aws cloudformation deploy –templa

元記事を表示

AWS IAM:権限管理はドーナツと同じくらいシンプル。概念とポリシーについて理解しよう!

>こちらの記事は、[Anna Korkoshko](https://medium.com/@annpalmir) 氏により2020年01月に公開された『 [AWS IAM: Permission Management is as Simple as Donuts. Concepts and Policies](https://medium.com/greenm/aws-iam-permission-management-is-as-simple-as-donuts-concepts-and-policies-58924504a15c) 』の和訳です。
本記事は原著者から許可を得た上で記事を公開しています。

AWSでのすべてのプロジェクトの旅は、リソースの作成から始まります。確かに、サーバーレスで強力な高可用性について深く掘り下げたり、もしくは自分のロケットを今すぐにでも作りたい…などあなたがやりたいことは色々とあるでしょう。しかしまず最初に、間違いなく”Identity and Access Management Service (IAM)”にきちんと向き合う必要があります。

AW

元記事を表示

AlexaスキルのHelloWorldテンプレートを日本語化する

# はじめに
Alexa Skills Kitコマンドラインインターフェース(ASK CLI)を使うとテンプレートから新しいスキルを作ることができますが、そのテンプレートの中のHelloWorldスキルは現状US版になっています。
グローバル対応させるつもりがないときは日本語化しておきたいため、変更内容をメモしておきます。

なお本記事では触れませんが、HelloWorld以外のテンプレートは日本語も含め多言語化されているので、そこから日本語以外を削る、という方法でも対応できると思います。

# 日本語化手順
## 前提
ask newでスキルのテンプレートが作られているところまでを前提とします。
[公式ページ](https://developer.amazon.com/ja-JP/docs/alexa/smapi/ask-cli-intro.html#create-new-skill)

記事を書くにあたり選択したオプションは以下となります。

“`
ask new
Please follow the wizard to start your Alexa skill proj

元記事を表示

【AWS】The procedure to deploy on EC2

# Introduction

I am on my way to get a Ruby developer.
This article is a note for me, but I would be happy if helpful for someone.

##Environment
– macOS10
– Rails 5.2.3
– Nginx
– Unicorn
– Postgresql
– Sidekiq
– Redis

###Create a EC2 instance

– Select Amazon Linux AMI 2018.03.0(HVM,SSD Volume Type.
– Select t2.micro(for within free tier)
– Create a key pair.


Public DNS generated.
(This article referred:
https://qiita.com/Quikky/items/2897573a42fd71cfc47f)

###Prepare to install rbenv

`

元記事を表示

AWS EC2へのpingコマンドを使えるようにする

# やりたいこと
パブリックサブネットのEC2にSSH接続をして、プライベートサブネットのEC2にpingで通信ができるかをチェックしたい。

# やり方
プライベートサブネットのEC2のセキュリティグループで、
「ICMP(Internet Control Message Protocol)」を許可する。

※pingのプロトコルがICMP

# 参考
https://a1-style.net/cloud/aws/ping-icmp-setting/

元記事を表示

AWS ネットワークACL「送信元は IPv4 または IPv6 CIDR ブロックにする必要があります。」

#やりたいこと
AWSのネットワークACLで特定のIPからのアクセスを拒否する設定をしたい。

#起きた問題
インバウンドールールの送信元にグローバルIPを入力したところ、
「送信元は IPv4 または IPv6 CIDR ブロックにする必要があります。」と表示されて保存できない。

#解決策
CIDR「/32」(ユニキャスト)を追記する。
※1つのIPを指定する場合、/32(=255.255.255.255)を指定する。

#参考
https://www.mrl.co.jp/download/manual-online/gl2000/gl2000_02/manual/docs/netlistc.htm

元記事を表示

AWS SAA資格取得~ネットワークサービス編~

今回はVPCなどのネットワーク関連について!

##VPCとは
AWS上に独立したプライベートネットワーク空間を作成できるサービス。
世界中のユーザーが利用するAWSにおいて、特定のユーザーだけ利用できるネットワーク環境を
構築することはセキュリティの観点から重要。

####サブネットとは
VPC内に構成するネットワークセグメントのこと。
1つのVPCに対して1つ以上のサブネットで構成される。

####ルートテーブル
サブネット内インスタンスに対する静的ルーティングを定義するもので、
設定はサブネット単位で行う。
ルートテーブル内のデフォルトゲートウェイ(0.0.0.0/0)へのルーティングに、
インターネットゲートウェイを指定したサブネットがパブリックサブネット
インターネットゲートウェイを指定してないサブネットがプライベートサブネット

**パブリックサブネット**
グローバル環境と通信できるサブネット。
通信先:インターネットゲートウェイ
パブリックIP:もつ
プライベートIP:もつ

**プライベートサブネット**
グローバル環境と通信できないサブネット。
通信先:NATゲ

元記事を表示

AWS ソリューションアーキテクト 合格体験記 ~試験に合格するだけじゃ意味がないんだ!(負け惜しみ)~

# 今更ですが、AWS SAAに合格しました

## スキルバックグラウンド
社会人3年目で入社以来一貫してオンプレミスのインフラエンジニアとして従事してきました。
たまに、サーバーサイドを開発したり、DevOps的なこともやってきました。
そのため、ソリューションアーキテクトの出題分野の技術的知識はありました。

## 調子に乗って不合格
俺インフラエンジニアだし、アソシエイトレベルの試験なんて余裕だろうと参考書を2日かけて読んで一度目の試験に挑みました。
**まさかの不合格…**
AWSのサービス名、細かな違いがさっぱりでした。点数が約30点足りませんでした。
付け焼き刃で合格できるほど甘くありませんでしたが、感触として1週間詰め込めば合格は容易だなと感じました。

ちなみに、使った参考書はこれでした。合格を目指すだけならこの参考書を読み込んで、公式ドキュメントで細かなところを確認すれば十分です。

[AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト(
SBクリエイティブ)](https://www.amazon.co.jp/gp/product

元記事を表示

MTGカード評価投稿サイトの開発〜5週間でDjangoアプリリリース〜

# はじめに
先日、「5週間でwebサービスリリース人集まれ!LTまでする人限定」という勉強会企画に参加し、約5週間の間Webアプリ開発・リリース作業を行った後、LTで成果物を発表しました。
本記事では作成したWebアプリの機能の紹介や開発経緯、企画に参加して感じたことについて記します。

勉強会企画のURL(connpass):
[5週間でwebサービスリリース人集まれ!LTまでする人限定(オンライン開催に変更!)](https://shinjukuasakatu.connpass.com/event/171677/)
[5週間でwebサービスリリース人集まれ !! LT発表会](https://shinjukuasakatu.connpass.com/event/175340/)

# 作成したWebアプリの概要

今回作成したのはトレーディングカードゲーム「Magic:The Gathering(MTG)」のカード評価コメントを投稿するサイトです。

作成したWebアプリのURL:
[MTGカード評価投稿サイト](https://mtgassessment.work)

元記事を表示

CloudFormationで既存IAMロールのポリシーを自動で追加するにはどうしたら良いかを考えた

# はじめに
CloudFormationをやっていると大体ハマるのがIAM部分で、最小権限とか考え始めるとかなり頑張ってロールやポリシーの設計をしなければいけない。
CloudFormationで「こうやったらどう動くの?」が分かっていないと正しい設計もできないので、色々試してみる。

ゴールは「CloudFormationで自動構築されたリソースをIAMの最小権限付与のベストプラクティスに従って管理するにはどうやるのが良いか」が考えられることだ。もちろん、人力で管理するのは自動構築の意味がなくなってしまうので、あくまでもCloudFormationテンプレートの中で完結することを考える。

# 前提条件
– IAMをなんとなく理解している(グループ、ユーザ、ロール、ポリシーの違いが分かっていれば充分かな……)
– CloudFormationでIAM関連のリソースを作ったことがある

さすがにこの辺が分からないと読んでもサッパリだと思うので……

IAMへの理解を深めたい人は、BlackBeltオンラインセミナーをちゃんと観ておくと良い。
[【AWS Black Belt Onli

元記事を表示

Go言語を1から勉強してアプリを作り、仮想通貨の自動取引で1ヶ月1万円の利益が出た話

# 概要
元々Javaエンジニアの私がGo言語を1から学習して、仮想通貨の自動売買を行うWebアプリケーションを開発しました。
開発したアプリはクラウド上にデプロイし、1ヶ月弱運用を行った結果、1万円以上の利益が出ました。
その過程を綴った記録になります。

実際に作成したアプリのソースコードは以下
↓↓↓
https://github.com/Kohei-Sato-1221/BitcoinTrading_Golang

# Go言語でのアプリ開発をしようと思った経緯
私はJavaがメインスキルだったのですが、「最近Go言語が流行っている!」という話を聞いて、
1から勉強しようと思いました。単に文法を学習するだけだとモチベーションがわかないので、
**「GoでWebアプリを作って、Githubに公開する」**
を目標に活動をはじめたのです。

# なんで仮想通貨の自動取引を選んだのか?
理由は以下です。

1. 元々仮想通貨やブロックチェーンに興味持っていて、いくつかの取引所にアカウントを保有していた。
2. 各仮想通貨取引所は売買のためのAPIを豊富に用意していることが多い。
3.

元記事を表示

【2020年5月版】AWSのサービスをゆるく大体3行で

# はじめに

本記事は[AWS SAA](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)の勉強中に、「**とりあえず主要なサービスの概要ぐらい知っておいたほうがいいよな…**」と思い立ち、自分用にまとめたものです。

2/3ほど記事を作成した後に見つけてしまった(悶絶) **クラスメソッド先生の [【2020年】AWS全サービスまとめ](https://dev.classmethod.jp/cloud/aws/aws-summary-2020/) がこの上なく、コンパクトで的確にまとまっていた** ので、こちらを見たほうがいいと思います(本末転倒)

各サービスの雰囲気を掴むぐらいの温度感で見ていただければ(逃げ道)

# 対象のサービス
本記事で取り扱うサービスは2020年5月時点のAWSマネジメントコンソールの

![スクリーンショット 2020-05-16 11.16.53.png](https://qiita-image-store.s3.ap-northe

元記事を表示

OTHERカテゴリの最新記事