- 1. 【AI知識不要】AWS DeepRacer の始め方【無料で機械学習エンジニアの仕事を疑似体験】
- 2. セキュリティグループとネットワークACLのメモ
- 3. AWS Amplifyで静的サイトを構築してみた
- 4. AWS 認定ソリューションアーキテクト対策メモ
- 5. プロキシ経由でTableau DesktopからAWS Athenaに接続する方法
- 6. Exponential Backoffアルゴリズム
- 7. AWS 代表的なサービス一覧
- 8. 【AWS】クラウドプラクティショナー 勉強メモ
- 9. AWSの強い権限のクレデンシャル管理から転生した件
- 10. terraformでIAM roleを作成しEC2にアタッチする時のtips
- 11. AppSync DynamoDB リゾルバーのマッピングテンプレートで管理用メタデータを解決する
- 12. BigQuery Data Transfer Service を使用した S3 から Bigquery へデータロード
- 13. Architecture Icons of Various Cloud Vendors
- 14. e-statのデータをAthenaで読み込む
- 15. Lambdaで取得した画像をKinesis及びLambda経由でS3にアップロードする
- 16. AWS (CodePipeline CodeCommit CodeBuild CodeDeploy) をざっくり理解
- 17. AWS EC2にVSCodeでRemote-SSH接続(Windows)
- 18. AWS CLI プロファイル & IAM 関連コマンド集
- 19. 【AWS】Cloud9開発環境構築の流れ(備忘録)
- 20. ローカル環境を汚さずにECRにプッシュする方法
【AI知識不要】AWS DeepRacer の始め方【無料で機械学習エンジニアの仕事を疑似体験】
– AIに興味はあるが、勉強を始めるきっかけが無い
– AWS触ったことないが大丈夫か心配、DeepRacerがどれくらい料金かかるのか知りたいこういった悩みに答えます。
本記事を読むと下記のことが分かります。
– AWS DeepRacerをやると得られるもの
– AWS、AI知識0でも問題ない理由
– AWSアカウント作成からDeepRacerリーグ出場するまでの手順# AWS DeepRacer の始め方
AWS DeepRacerの始め方の具体的な手順を説明する前に
AWS DeepRacer をやることで得られることや
AWS、AI知識0でも問題ない理由についてお伝えしておきたいと思います。## AWS DeepRacer をやると得られるもの
### 機械学習エンジニアの仕事を疑似体験できるAI案件の仕事の流れは
データ準備→モデル生成→モデル理解→効果検証→モデル運用管理→モデル更新
の流れです。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/
セキュリティグループとネットワークACLのメモ
#はじめに
SAA取得に向けた勉強をしてるけど、インプットだけではなかなか頭に入ってこないので各サービスの特徴などをメモがてら書いてます。
この行動が結果に繋がるといいな。
AWSのドキュメントをベースに#セキュリティグループの特徴
– EC2インスタンスなどの受信トラフィックと送信トラフィックを制御してくれる。(インスタンス単位の通信制御を適用することができる)– デフォルトでは同じセキュリティグループ内の通信のみを許可している。
– ステートフルなため、インバウンドの許可設定をしたらアウトバウンドの通信も許可される仕組みになってる。
– 設定は許可設定だけできる(拒否したい通信はセキュリティグループ内に入れない)
– すべてのルールが適用される
#ネットワークACLの特徴
– サブネット単位での通信を制御を適用することができる。– デフォルトではすべての通信を許可する設定になっている。
– ステートレスなため、インバウンドの設定だけではなくアウトバウンドの設定が必要。
– 設定は許可だけではなく拒否設定もできる。
– 制御ルールに付与される番号順にルールが
AWS Amplifyで静的サイトを構築してみた
#背景
今年の初めに法人を作ったので、楽天銀行で法人口座を開設しようと手続きを進めてみたら、自社Webサイトがあると提出書類が減るとのことだったので簡易にサイトを構築してみました。
[楽天銀行 口座開設に必要な書類](https://www.rakuten-bank.co.jp/business/account/id.html#anchor-02)最近PO/PM業務が多かったので久しぶりの技術です。
#事前の用意
– ドメイン(AWS Route53で取得も可)
– AWSアカウント
– githubアカウント私はmuumuuドメインでドメインを取得、静的サイトはReactで作りました。
#構築手順
ほぼ[ここ](https://aws.amazon.com/jp/getting-started/hands-on/host-static-website/)に書かれた内容そのままですが、手順を追って説明します。#### 静的サイトの構築
まずはローカル環境で静的サイト(Reactアプリ)を作ります。Reactって何?って方は[こちら](https://ja.re
AWS 認定ソリューションアーキテクト対策メモ
2020 年 10 月時点
##### 目次
– [1. AWS Well-Architected フレームワークの構成](#1-aws-well-architected-フレームワークの構成)
– [2. リージョンとアベイラビリティゾーン](#2-リージョンとアベイラビリティゾーン)
– [3. ネットワークサービス](#3-ネットワークサービス)
– [Amazon VPC(Amazon Vitual Private Cloud)](#amazon-vpcamazon-vitual-private-cloud)
– [Amazon Route 53](#amazon-route-53)
– [AWS CloudFront](#aws-cloudfront)
– [4. コンピューティングサービス](#4-コンピューティングサービス)
– [Amazon EC2(Amazon Elastic Compute Cloud)](#amazon-ec2amazon-elastic-compute-cloud)
– [Amazon ECS(Amaz
プロキシ経由でTableau DesktopからAWS Athenaに接続する方法
#環境
Tableau Desktop 2020.4.7
Windows 10 Enterprise(バージョン1909)#手順
###JDBCのインストール
[AmazonのWEBサイト](https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html)からJDBC(AthenaJDBC42.jar)をダウンロードして
C:\Program Files\Tableau\Drivers に保存https://www.tableau.com/ja-jp/support/drivers?_ga=2.94889822.376843540.1618467021-200669354.1617154422&_fsi=rWQD3tvL
###プロキシ設定
以下の内容をathena.propertiesという名前で
C:\Users\(ユーザ名)\Documents\マイ Tableau リポジトリ\データ ソース に保存“`athena.properties
ProxyHost=(プロキシURL)
Pr
Exponential Backoffアルゴリズム
DNS サーバー、スイッチ、ロードバランサーなど、ネットワークの多数のコンポーネントが、特定のリクエストの存続期間中どこでもエラーを生成する可能性があります。
ネットワーク環境でこれらのエラー応答を処理する通常の方法は、クライアントアプリケーションで再試行するロジックを実装する。連続したコリジョン(衝突)を避けるため、乱数によってタイミングをずらす実装がされていますが、ここではコリジョンを避ける必要があるわけではないので、乱数の実装は不要です。
可用性を高め、運用コストを削減するアプローチとしてAWS SDKには、自動再試行ロジックが実装されている。
https://docs.aws.amazon.com/ja_jp/general/latest/gr/api-retries.html
AWS 代表的なサービス一覧
## リンク集
1. [AWS 代表的なサービス一覧](https://qiita.com/hiro-hiro/items/97258c7be6bf65fc4adf)
1. [AWS 個別サービス詳細1]()## 代表的なサービス一覧
### サーバー関連
|サービス名|概要|
|—|—|
|Amazon EC2|仮想サーバー|
|Amazon Elastic Container Service|Dockerコンテナの実行および管理|
|Amazon Lightsail|仮想サーバーとネットワーク一式の起動と管理|
|AWS Batch|バッチジョブの実行|
|Amazon VPC|ネットワーク環境|
|Amazon APIGateway|Web APIを構築するサービス|
|Amazon CloudFront|コンテンツキャッシュサービス(CDN)|
|Amazon Route 53|DNSサービス|
|Amazon Direct Connect|AWSネットワークに専用線で接続|
|AWS Transit Gateway|VPC同士などを接続|
|Elastic L
【AWS】クラウドプラクティショナー 勉強メモ
# AWSクラウドの概要
## クラウドとは
クラウドとは、インターネットを利用して仮想サーバーやデータベースなどのITリソースをオンデマンドで利用できるサービスの総称のこと。
オンデマンドとは利用したい時に、利用したい分だけ費用がかかる従量課金体型のこと。## オンプレミスとは
自らサーバーやソフトウェア、ネットワークを導入・運用を行うこと。
しかし下記のような問題点がある。+ 最大利用時を予測して機器を導入するため、普段の利用ではキャパシティが余る。
+ あくまで予測のため、予測を超えるとキャパシティを超えて業務に支障が出る可能性がある。
+ 頻繁に機器を変更をするとコストがかかるため、1年後や3年後を正確に考慮する必要がある。## AWSとは
Amazon Web Servicesとは社内のビジネス課題を解決するために生まれたサービスであり、
Amazonが総合オンラインストアとして培っていたノウハウを基に提供を始めたサービスである。## AWSを利用する6つのメリット
AWSクラウドコンピューティングを利用すると6つのメリットがある。
1. 固定費(設備投資
AWSの強い権限のクレデンシャル管理から転生した件
# クレデンシャルをパスワードみたい使ってない?
開発チームには最低限の権限付けたクレデンシャルを払い出し、その点ではセキュリティは確保しているものの、運用系には**強い権限**を持ち、かつトラブル対応時に**期限が切れないように永続的な権限**を払い出してはいないでしょうか。権限が強いので更新などを所有者に移譲しているため、定期更新なんかしないで使い続けてる管理になりがち・・### これではパスワードと何も変わらない!
**このツールはAWSでのクレデンシャル管理の概念を変えるため作られました**
# 作ったわ!
[![yasutakatou/goCred – GitHub](https://gh-card.dev/repos/yasutakatou/goCred.svg)](https://github.com/yasutakatou/goCred)
詳しくはリポジトリで。[バイナリをダウンロードして即使いたいならこっち](https://github.com/yasutakatou/goCred)
# どんなん?
このツールを使うと・・
– **強い権限を持つ
terraformでIAM roleを作成しEC2にアタッチする時のtips
タイトルまんまですが、terraformでIAM role及びpolicyを作成してEC2インスタンスに当てようとした時に手こずったので記事にします。
まずはEC2本体を用意
“`:ec2_sgw.tf
data “aws_ssm_parameter” “sgw_ami” {
name = “/aws/service/storagegateway/ami/FILE_S3/latest”
}resource “aws_instance” “sdw_test” {
ami = data.aws_ssm_parameter.sgw_ami.value
vpc_security_group_ids = [“sg-00000000”]
subnet_id = “subnet-00000000”
iam_instance_profile = aws_iam_instance_profile.instance_role.id
key_name = “hoge-key”
AppSync DynamoDB リゾルバーのマッピングテンプレートで管理用メタデータを解決する
# はじめに
AWS AppSync では GraphQL の Resolver として Velocity によるマッピングテンプレートを書くことで、プログラムを書くことなく [^1] 入力を成形してデータソースにデータを渡すことができる。
[^1]: Velocity 自体に if やループ構文があるため、Velocityによるプログラミングをしているのだが、ここではLambdaなどの外部プログラムを使わない、という意味でプログラムを書くことなく、という表現を使った。
ここではデータソースに DynamoDB を指定した場合、ある程度汎用的に使えそうな自己流のメタデータ管理方法をメモ書きする。
# リゾルバーのマッピングテンプレートの書き方
こちらの DynamoDB Resolver のサンプルの書き方を参考にしつつ
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html
ユーティリティなどは同じカテゴリーの
BigQuery Data Transfer Service を使用した S3 から Bigquery へデータロード
BigQuery Data Transfer Serviceを使用してS3からBigqueryへのデータロードを行います。
BigQuery Data Transfer Serviceの概要
===============================
あらかじめ設定されたスケジュールに基づき、BigQueryへのデータの移動を自動化するマネージドサービスです。
今回は S3からBigqueryへデータロードするため、BigQuery Data Transfer Service for Amazon S3を使用して、S3から BigQueryへの定期的な読み込みジョブを自動的にスケジュールし、管理します。**なお、BigQuery Data Transfer Serviceのジョブ実行自体には料金はかからず、S3からの上り(AWS)、BigQueryのストレージとクエリの標準料金のみ適用されます。**
* アクセス方法は以下です。
* Cloud Console
* bq コマンドライン ツール
* BigQuery Data Transfer Service API
Architecture Icons of Various Cloud Vendors
__Introduction__
If you are a Cloud Architect using cloud services provided by single/multiple Cloud Vendor(s), then designing and drawing cloud architecture maybe a common task. Here is the links of architecture icons provided by various cloud vendors. Hope it helps a little bit.I listed some PPT/Zip files here that are free to download from their official web sites.
[Oracle Cloud Infrastructure (OCI) Graphics](#oracle-cloud-infrastructure-oci-graphics)
[Google Clou
e-statのデータをAthenaで読み込む
##データの準備
####e-statからCSVファイルをダウンロードする
1. e-stat APIの[利用ガイド](https://www.e-stat.go.jp/api/api-info/api-guide)を参照して、アプリケーションIDを取得する
1. [API機能テストフォーム](https://www.e-stat.go.jp/api/sample/testform3-0/)の[統計データ取得](https://www.e-stat.go.jp/api/sample/testform3-0/getStatsData.html)を使って、データを取得する。テストフォームには以下の項目を入力します。取得できるのは、最大10万行です。
– アプリケーションID
– 統計表ID(0003410379)
– データ形式(CSVを選択)
– セクションヘッダフラグ(出力しないを選択)統計表IDは「男女別人口及び人口性比-全国,都道府県(大正9年~平成27年)」のものです。必要に応じて変更してください。
セクションヘッダフラグ[sectionHeaderFlg] を「出力しな
Lambdaで取得した画像をKinesis及びLambda経由でS3にアップロードする
[Lambdaで取得した画像をKinesis及びFirehose経由でS3にアップロードする](https://qiita.com/nkmk1215/items/24d481001f94901853be)にて
流した画像がFirehoseを経由うすると複数の画像がまとめられて出力されたので
KinesisからLambda経由でS3にアップロードしたときの個人メモ[(参考)S3 — Boto3 Docs 1.18.57 documentation – Amazon AWS](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.put_object)
[(参考)Amazon Kinesis で AWS Lambda を使用する](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-kinesis.html)—
# Kinesis
– [Lambdaで取得した画像をKinesis及びFi
AWS (CodePipeline CodeCommit CodeBuild CodeDeploy) をざっくり理解
#概要
CodePipeline CodeCommit CodeBuild CodeDeploy を用いたデプロイの流れをざっくり解説しました。
細かい設定や、ファイルへの記述は最後に書いていないです。#参考にさせていただいた講座および引用させていただいた画像
[Techpit 「Laravel × CircleCI × AWSで学ぶCI/CD」 shonansurvivors様 著](https://www.techpit.jp/courses/78)
#基盤となる図
![スクリーンショット 2021-10-12 0.26.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1461885/3d8bdbe3-bdb3-252f-713b-4f0f8a03d50c.png)
1~7まではローカルからCircleCIを通して、featureブランチでテストをパスした後masterにマージ。そしてテストを行っている。
その後からCode〇〇を用いたデプロイの開始である。#Code〇〇のそ
AWS EC2にVSCodeでRemote-SSH接続(Windows)
AWS EC2インスタンスにTera Termではなく、VScodeで接続
とても簡単で、これするだけでGUIで感覚的な操作ができます。EC2 OSはAmazon Linux 2の場合ユーザ名は「ec2-user」です。
(そのほかのOSのEC2の場合はAWSのリファレンスを確認)#手順
* VScodeで拡張機能「Remote-SSH」インストール
* VScodeウィンドウの左に「リモートエクスプローラー」のアイコンが現れるのでクリック
* プルダウンで「SSH Targets」を選択
* 歯車アイコンをクリック
* 「C:\Users\[ユーザ名]\.ssh\config」 を選択
* 以下を入力して保存“`
Host (任意)
HostName [EC2パブリックアドレス]
Port 22
IdentityFile [pemキーのパス]
User ec2-user
“`* VSCodeウィンドウ左下の緑色の”><"ボタンを押す * 表示されたメニューから「Connecto to Host...」を選択 * configに入力したHost名を選択「ec2
AWS CLI プロファイル & IAM 関連コマンド集
# 目的
最近、異なる AWS アカウントを切り替えて利用することが増えたため、AWS CLI のプロファイルおよび AIM 関連のよく使うコマンドをまとめておきます。## 名前付きプロファイルを新規登録
**コマンド:** `aws configure –profile Name`
“`bash
$ aws configure –profile Name
AWS Access Key ID [None]: XXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
“`## デフォルトのプロファイルを設定 or 新規登録
**コマンド:** `aws configure`
“`bash
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXX
AWS Secret Access Key [None]: XXXXXX
【AWS】Cloud9開発環境構築の流れ(備忘録)
#はじめに
自己研鑽では、AWS Educateを使用中。
Cloud9での開発環境構築の手順の整理です。#やること
1.cloud9で新しい環境を作成(「Create environment」から適宜設定)
2.GitHub接続に必要な鍵を作成“`ruby
ssh-keygen #keyを作成
cat ~/.ssh/id_rsa.pub #中身を表示(表示されたものをコピーしておく)
“`3.GutHub上で先程のssh-keyを登録
[Setting]>[SSH and GPG keys]
title : どのssh-keyなのかわかるように命名(cloud9環境名、リポジトリ名、sshタイトルは同じにしています)
body : 先程コピーしたkeyの中身を貼り付け「Add SSH key」を押して公開鍵を登録
4.GitHubと接続(cloud9操作)
“`ruby
ssh git@github.com
#この後yes/noを聞かれたらyesと入力し、enter
“`アカウント名が表示されていたら完了
5.GitHubに草を生やす
“`
ローカル環境を汚さずにECRにプッシュする方法
# はじめに
ローカル環境を汚さずに手軽にDockerイメージをECRにプッシュしたい…
本記事では、[AWS CLIの公式Dockerイメージ](https://hub.docker.com/r/amazon/aws-cli)を用いて、自作したDockerイメージをECRにプッシュする方法をご紹介します。
[ECR(Elastic Container Registry)](https://aws.amazon.com/jp/ecr/)とは、AWSが提供しているDockerイメージの保存場所です。プライベートリポジトリ、パブリックリポジトリ、Dockerイメージの脆弱性スキャンを利用できます。
# 前提条件
– AWSアカウントを持っている
– Dockerがインストールされている
– Windowsの場合: [Docker Desktop for Windows](https://docs.docker.jp/docker-for-windows/install.html)
– Macの場合: [Docker Desktop for Mac](http