- 1. グローバルデータベースのフェイルオーバー
- 2. オンプレのOpenShiftでもログはCloudWatch Logsに転送しよう
- 3. 7日間!やり抜きました!!?AWSソリューションアーキテクトアソシエイト(SAA)合格体験記
- 4. AWSのIAMユーザー作成・グループへの追加をTerraformで実装する
- 5. GitHubにPush時にAWS CodeCommitにリポジトリを同期する
- 6. 【AWS Lambda】Slackに通知を送信する
- 7. AWS SAM+Lambda+Go+WSLではじめるサーバーレスアプリケーション開発
- 8. AWS SAMでLambdaに設定したS3イベントトリガがコンソールに表示されない問題の対応
- 9. [AWS] 作成済みEC2インスタンスのセキュリティグループをAWS SDK for Python(Boto3)で変更する
- 10. [AWS] 作成済みEC2インスタンスのセキュリティグループをAWS Tools for PowerShellで変更する
- 11. 実務未経験が実務案件にトライ! その顛末やいかに?
- 12. Windowsでgit-secretsを利用する
- 13. AWS:S3からのデータのダウンロードとアップロードについて
- 14. AWSから突然$52.92(6031円)の請求が来たときの話
- 15. [AWS,APIGateway,SAM]InvokeRoleのCALLER_CREDENTIALSについて
- 16. 【AI知識不要】AWS DeepRacer の始め方【無料で機械学習エンジニアの仕事を疑似体験】
- 17. セキュリティグループとネットワークACLのメモ
- 18. AWS Amplifyで静的サイトを構築してみた
- 19. AWS 認定ソリューションアーキテクト対策メモ
- 20. プロキシ経由でTableau DesktopからAWS Athenaに接続する方法
グローバルデータベースのフェイルオーバー
リージョン全域にわたる停止からの災害復旧機能と低レイテンシ―でのグローバルな読み取り機能を備え、最大6つのAWSリージョンにまたがることのできる単一のデータベース。
プライマリリージョンの変更や災害復旧訓練などのシナリオにおける計画されたフェイルオーバープロセスが簡素化。
https://aws.amazon.com/jp/about-aws/whats-new/2021/02/amazon-aurora-global-database-supports-managed-planned-failover/
オンプレのOpenShiftでもログはCloudWatch Logsに転送しよう
OpenShift LoggingのElasticSearchは、正直ちょっと安定的に運用するのが普通は無理だと思うので、それでもログ集約してGUIでログ参照したい場合はAmazon CloudWatch Logsに転送するのが現状はベストじゃないかと思う。オンプレ環境だったとしても。
ClusterLogForwarderでのCloudWatchへのログ転送が、たぶんROSAのGAに関連してだと思うが、OpenShift 4.8から出来るようになっている。以下はそのやり方。簡単。
# 1.AWSでIAMユーザーとアクセスキーを作成する
AWSのIAMで、認証タイプがアクセスキーのユーザーを作る。|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146381/9d3628aa-857c-bd3c-59e2-f4c60a20552f.png)|
|:-:|アクセス許可にCloudWatchFullAccessを付ける。
|![image.png](https://qiita-
7日間!やり抜きました!!?AWSソリューションアーキテクトアソシエイト(SAA)合格体験記
# :cop_tone2:試験を受けたのは何者なのか?
– エンジニア未経験の文系大学出身の公務員 33歳
– 独学で学んだVBAによる業務改善がきっかけで、プログラミングと出会い、エンジニア転職を目指す
– 新卒後、VBAと出会う(32歳)まで仕事やプライベートでプログラミングに触れたことがない素人
– 体育会系のノリが好きで、パソコンとは縁もゆかりもない1児の父親AWS歴
実務案件に挑戦した**42日間**のみ [実務案件詳細記事はこちら](https://qiita.com/hirokun0204/items/e170d51a0a1b748cfda1)# :information_desk_person:SAA試験について簡単に
[AWS公式の受験対象者について](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)
>AWS 認定ソリューションアーキテクト – アソシエイトは、AWS における、可用性があり、コスト効率が高く、高耐障害性で、スケーラブルな分散シ
AWSのIAMユーザー作成・グループへの追加をTerraformで実装する
# やりたいこと
TerraformでまとめてIAMユーザーをバーッと作り、ユーザーグループへバスンと放り込んで大勝利!?# きっかけ
アカウントの払い出しや棚卸しを安全かつ楽に実施したい
→ 手始めにIAMユーザーの作成(とユーザーグループへの追加)をTerraformでやってみるIAMユーザーの数だけTerraformリソース(`aws_iam_user`と`aws_iam_group_membership`)が必要になる?やだな〜と思ってましたが、`module`と`for_each/each`を使うとすっきり書けて嬉しかった
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_group_membership# 環境と構成
Terraformのバージョンやファイル構成は下記の通りです“
GitHubにPush時にAWS CodeCommitにリポジトリを同期する
AWS AmplifyでWebアプリを開発していてAWS CodeCommitへのpushをトリガーにデプロイされる、という環境で開発していたのですが、コードの管理はGitHubで行うという機会が有りました。
そのため、GitHub Actionsから任意のタイミングでAWS CodeCommitに同期してデプロイが実行されるという環境を作りたかったので、その時のメモです。
# AWS CodeCommit SSHキーのアップロード
まずはAWSのIAMコンソールから、CodeCommitのSSHパブリックキーをアップロードして、SSHキーIDを取得します。
![ssh upload](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/279032/b6209ebf-0fd6-d3b0-c007-4ef67ac153b0.jpeg)# GitHubのSecretsにSSHキー情報を登録
GitHubの管理画面で、「Settings」 -> 「Secrets」から、先程取得したSSHキーIDと、SSHパブリ
【AWS Lambda】Slackに通知を送信する
今回はCloudFormationでLambdaを触ってみるということで、Slackに通知を送信するLambda関数を構築していきたいと思います。
調べてみたところ、Lambdaを構築する場合はCloudFormationの `AWS::Serverless` というマクロ機能を利用するみたいです。
[AWS::Serverless変換](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html)マクロを利用すると「AWS SAM 構文」なるものでLambdaを定義できるようになり、 `aws cloudformation package` コマンド実行時に、通常のCloudFormationテンプレートに展開されます。
マクロ機能を利用するには、テンプレート内で下記のように宣言します。
“`template.yml
Transform: AWS::Serverless-2016-10-31
“`# SlackのWebhook U
AWS SAM+Lambda+Go+WSLではじめるサーバーレスアプリケーション開発
# 目的
AWS SAM を使って Go 言語でサーバーレスアプリケーションを開発するための、環境構築の手順をまとめます。個人的な備忘録を兼ねているため、必須ではない細かな設定なども記載しています。Lambda でサーバーレスアプリケーションの開発をはじめようと思っている方の参考になれば幸いです。
# 当記事に含まれる内容
当記事に含まれる内容は下記の通りです。ソフトウェアのインストールなどは既にわかりやすい記事があるので、そのリンクを貼っています。
– Hello World アプリケーションについて
– WSL2 の設定
– Docker の設定
– AWS CLI の設定
– Session Manager プラグインの設定
– SAM と Go のインストール
– Ubuntu の環境変数設定の自動化
– VSCode の設定
– SAM プロジェクトの新規作成
– SAM プロジェクトのデプロイ
– AWS コンソールから各サービスを確認# Hello World アプリケーションについて
Hello World アプリケーションは、SAM プロジェクトを新規作
AWS SAMでLambdaに設定したS3イベントトリガがコンソールに表示されない問題の対応
AWS SAMでLambdaにS3イベントトリガを設定したところ
動作は想定どおり行われるが、AWSコンソールのイベントトリガには
何も表示されない事象が発生しました。これは既知の問題のようで
https://github.com/aws/serverless-application-model/issues/300
で議論されていました。上記にも記載されていますが対応方法のサンプルです。
最初の定義。以下ではAWSコンソールにイベントトリガが表示されない。
“`yaml
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: MyFunction/
Runtime: python3.8
Handler: app.handler
FunctionName: !Sub
– “${prefix}MyFunction”
– { prefix: !FindInMap [“EnvMap”, !Ref Env,
[AWS] 作成済みEC2インスタンスのセキュリティグループをAWS SDK for Python(Boto3)で変更する
本記事は「作成済みEC2インスタンスに割り当てているセキュリティグループ」をAWS SDK for Python(Boto3)で変更する方法のメモです。
ここの設定を変更したい:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/68230085-7ed4-4d9f-80ad-a91bc666e51f.png)# 変更するメソッド
メソッドは [EC2 : modify_instance_attribute()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.modify_instance_attribute) を使用します:
“`python
ec2_client = boto3.client(‘ec2’, ‘region’)
ec2_client.modify_instance_attribute(
Insta
[AWS] 作成済みEC2インスタンスのセキュリティグループをAWS Tools for PowerShellで変更する
本記事は「作成済みEC2インスタンスに割り当てているセキュリティグループ」をAWS Tools for PowerShellで変更したい場合のコマンドメモです。
ここの設定を変更したい:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/68230085-7ed4-4d9f-80ad-a91bc666e51f.png)# 変更するコマンド
コマンドは [Edit-EC2InstanceAttribute Cmdlet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) を使用します:
“`powershell
Edit-EC2InstanceAttribute -InstanceId-Group
“`実行例:PowerShellに不慣れだと間違えやすいですが、リストは `@()` 形
実務未経験が実務案件にトライ! その顛末やいかに?
実務未経験者である私ですが、この度なんと実務案件に挑戦する機会をいただきました。その時の経験や学び、成果をここに記しておこうと思います。私と同じような境遇の人のみならず、さまざまな方にご覧いただけると非常にうれしいです。
#自己紹介
Over30の方のアラサー。未経験からエンジニアへの転職を目指しています。Techacademyでバックエンドとフロントエンド、ウェブデザインを学んだ後、Rails Tutorialやその他書籍を通じて勉強していました。今回の実務案件に参加する前は、AWS等のインフラの知見は一切ありませんでした。しかし、「30歳を過ぎている場合、最低レベルでも実務レベルじゃないとエンジニア転職できないだろう」との思いで日々学習に励んでいたところ、本案件の募集があったため即応募。熱意が認められたのか、本案件を受注することができました。
#案件の概要
運営中のWEBサービス「独学エンジニア」のKPIモニタリング体制の整備が今回の案件となります。状況を説明しますと、運用中のWebサービスであるにもかかわらずデータ分析アプリ・ツールが全く導入されておらず、新規登録者数
Windowsでgit-secretsを利用する
[git-secrets](https://github.com/awslabs/git-secrets) は [AWS Labs](https://github.com/awslabs)で提供されているツールの一つです。
※`AWS Labs`はawsが提供しているツールなりスクリプトなりが置いてある場所
`git-secrets`を利用する事により、AWSアクセスキー、AWSシークレットキーをgitリポジトリにコミットできないようにコミット直前にチェックできるようになります。
他にもファイルを検索したり、独自のルールを設定したい色々と機能があります。
今回はそんな`git-secrets`をWindows環境にインストールして利用してみます。
## 余談
`git-secrets`って昔はREADMEにWindows環境へのインストール方法が書いてなくてWindowsで使えないのかと思ってましたが。
[Writing instructions for how to get git-secrets to work for Windows #87](https://gi
AWS:S3からのデータのダウンロードとアップロードについて
# なぜ書こうと思ったのか
インターン先で、AWSを初めて使うようになり、S3からのデータのダウンロードとアップロードが苦戦したので、整理のために書こうと思いました。
# 目次
1. [そもそもS3とは?](#そもそもS3とは?)
1. [S3への接続とその確認方法](#S3への接続とその確認方法)
1. [S3からのダウンロードとアップロード](#ファイルのダウンロードとアップロード)
# そもそもS3とは?
Amazon Simple Storage Service、通称S3はオブジェクトストレージサービスであり、様々なユースケースのデータを保存して保護することができる。さらには、データを整理してアクセス制御を細かく調整するために使いやすい機能を提供するサービスである。
S3のメリットについては、以下の記事を参考
– [S3のメリット](https://aws.amazon.com/jp/s3/)AWSから突然$52.92(6031円)の請求が来たときの話
##はじめに
最近、pythonでAWSでのいくつかのAIサービスの学習をスタート[AWSでAIサービスを使ってみる〜第11回Personalize編〜](https://qiita.com/AInosukey/items/1939cbac0ac5085f6463)
ちょうどPersonalizeの試しの学習を終え、Qiitaへの記事投稿もひと段落した
約一週間後、、、、、、その通知は届き来ました。
![スクリーンショット 2021-10-13 10.44.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1658175/30888628-f8c6-9134-1427-a921418b0e78.png)
ハイ!?
####$52.92?
#####一体これはどういうことなんだってばよ!?
##気づいたときは
時すでに遅し
9月末からpersonalizeの請求が入っており、気づいたのが10月であったため10月分の請求も含まれていました。。。####Cost Exp
[AWS,APIGateway,SAM]InvokeRoleのCALLER_CREDENTIALSについて
AWS SAMでtemplate.yamlを書いており、APIGatewayのリソースを作成しようとした際に迷ったので記事にしておきます。
AWS公式の記事は少し読みづらいです。
とても限定的な記事なのでほとんど読まれないと思いますが、同じような疑問を思っている人の助けになれば。## InvokeRoleでは何を設定するのか
InvokeRokeに設定するのはずばり__「APIGatewayの権限」__になります。
IAMロールのARNを入れれば、APIGatewayの権限は指定したIAMロールと同等の権限をもつことになります。https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-api-apiauth.html#sam-api-apiauth-invokerole
公式ドキュメントによると、InvokeRoleに設定できるのは以下の値です。
`CALLER_CREDENTIALS, NONE, IAMRoleArn`
何も設定しない場合、CAL
【AI知識不要】AWS DeepRacer の始め方【無料で機械学習エンジニアの仕事を疑似体験】
# AWS DeepRacer を始めたいと思っている人
– AIに興味はあるが、勉強を始めるきっかけが無い
– AWS触ったことないが大丈夫か心配、DeepRacerがどれくらい料金かかるのか知りたいこういった悩みに答えます。
# 本記事の内容
本記事を読むと下記のことが分かります。– AWS DeepRacerをやると得られるもの
– AWS、AI知識0でも問題ない理由
– AWSアカウント作成からDeepRacerリーグ出場するまでの手順# 記事の信頼性
筆者はAWS経験5年程度です。AWS資格は5冠+AWS Certified Machine Learning – Specialty取得しました。
DeepRacer使用歴は一年程度です。# AWS DeepRacer の始め方
AWS DeepRacerの始め方の具体的な手順を説明する前に
AWS DeepRacer をやることで得られることや
AWS、AI知識0でも問題ない理由についてお伝えしておきたいと思います。それでは見ていきましょう。
## AWS DeepRacer をやると得られるもの
セキュリティグループとネットワーク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